FPGA-01-基本知識 設計一個一位(四位)半加器和一位(四位)全加器
阿新 • • 發佈:2019-02-17
使用ISE設計一個加法器(半加器):
dina (輸入)dinb(輸出) co(進位輸出)sum(和輸出)
程式碼如下:
module adder_one(dina,dinb,sum,co
);
input dina;
input dinb;
output sum;
output co;
assign {co,sum}= dina + dinb ;
endmodule
檢視技術原理圖:
內部結構:其中 XBUF表示 緩衝
輸入輸出同時有緩衝不影響資料的值
module tb_adder_one; // Inputs reg dina; reg dinb; // Outputs wire sum; wire co; // Instantiate the Unit Under Test (UUT) adder_one uut ( .dina(dina), .dinb(dinb), .sum(sum), .co(co) ); initial begin // Initialize Inputs dina = 0; dinb = 0; // Wait 100 ns for global reset to finish #100; dina = 1'b1; dinb = 1'b0; #100; dina = 1'b0; dinb = 1'b1; #100; dina = 1'b1; dinb = 1'b1; // Add stimulus here end endmodule
模擬示意波形圖:
從波形圖中可以看出加法器的輸入和輸出的規律
課後作業:設計一個4位的半加法器
程式碼如下:
module adder_four(cout,sum,ina,inb
);
output[3:0] sum;
output cout;
input[3:0] ina,inb;
assign {cout,sum}=ina+inb;
endmodule
模擬如下:
4位全加器和一位全加器只是多了一個低位進位位Ci
示意圖如下: