2021年4月19日 星期一

HBLbits_Verilog Basic_Module cseladd

  HBLbits_Verilog Basic_Module cseladd


module add16 ( input[15:0] a, input[15:0] b, input cin, output[15:0] sum, output cout );


module top_module(

    input [31:0] a,
    input [31:0] b,
    output [31:0] sum
);
    wire cin0,cin1,cout,cout1,cout2;
    wire [15:0]sum1,sum2;
    assign cin0=1'b0;
    assign cin1=1'b1;
//add16 ( input[15:0] a, input[15:0] b, input cin, output[15:0] sum, output cout );
    add16 u0 ( a[15:0], b[15:0], cin0, sum[15:0],cout );
    add16 u1 ( a[31:16], b[31:16], cin0, sum1[15:0],cout1 );
    add16 u2 ( a[31:16], b[31:16], cin1, sum2[15:0],cout2 );
    always @(*)
        case (cout)
            1'b0: sum[31:16]=sum1[15:0];
            1'b1: sum[31:16]=sum2[15:0];
        endcase    
                           
endmodule


沒有留言:

張貼留言

Modbus FC=1 (Coils read) & FC=15 (Coils Write)

Modbus FC=1  (Coils read)  & FC=15 (Coils Write)   「從 Modbus 設備讀取多個線圈(Coils)狀態,並立刻將這些狀態原封不動地轉寫到另一個記憶體位址(起始位址 16)」 。 整個流程使用了知名套件 node-red...