FPGA原語之一位全加器
1、實驗原理
一位全加器,三個輸入,兩個輸出。進位輸出Cout=AB+BC+CA,本位輸出S=A異或B異或C。實驗中采用三個與門、一個三輸入或門(另外一個是兩個或門,功能一致)、一個三輸入異或門實現該簡單功能。
2、實驗操作
實驗設計還是比較簡單的,直接看代碼即可:
module test2( input clk, input rt_n, input [3:0] key_c, output [3:0] key_r, output [11:0] led ); wire k1,k2,k3,k4; assign k1=key_c[0]; assign k2=key_c[1]; assign k3=key_c[2]; assign k4=key_c[3]; assign key_r=4'b0; xor xor1(led[0],k1,k2,k3); and and1(led[11],k1,k2); and and2(led[10],k2,k3); and and3(led[9],k3,k1); or or1(led[8],led[11],led[10]); or or2(led[2],led[8],led[9]); or or3(led[3],led[9],led[10],led[11]); endmodule
就是直接調用,輸出結果直接顯示在led上,也就沒有區分led,下次可能需要注意一下。生成的RTL視圖看不出具體的電路結構,只能看到調用的器件和總線。
3、實驗結果
RTL視圖
器件的數量和連線基本正確。板級驗證就是按相應的輸入即可得到具體的輸出。這里就不展示了。后面可能驗證的就是更加復雜的數字電路。可以將FPGA作為一個可以反復使用的數字電路實驗平台。