在FPGA工程設計中,加法器的身影隨處可見,加法器看似簡單在實際的應用中很容易出錯,尤其是在做定點數加法時往往會遇到沒有小數點位置對齊導致錯誤。加法器主要可分為半加器、全加器;按操作數不同可以分定點數加法器、浮點數加法器,針對有符號無符號數也要設計不同的加法器。學習是個由淺及深循序漸進的過程,一開始就從最簡單的半加器開始,這里用最簡單的加法器熟悉一下FPGA開發流程,建工程的一些規范及怎樣寫去仿真。
1.一位半加器: 電路是指對兩個輸入數據位相加,輸出一個結果位和進位,沒有進位輸入的加法器電路。 是實現兩個一位二進制數的加法運算電路。半加器不考慮低位的進位
module halfadder(cout,sum,a,b);
outputcout,sum; //不申明,默認是wire變量
input a,b;
assign{cout,sum}=a+b;//cout為進位,sum為和
endmodul
2.全加器 :是用門電路實現兩個二進制數相加并求出和的組合線路,稱為一位全加器。一位全加器可以處理低位進位,并輸出本位加法進位。多個一位全加器進行級聯可以得到多位全加器。
module fulladder(a,b,cin,cout,sum); inputa,b,cin; outputcout,sum; assign{cout,sum}=a+b+cin; endmodule 3.兩個半加器構成全加器 module fulladder(x,y,c_in,sum,c_out); inputx; inputy; inputc_in; outputsum; outputc_out; wirea_sum; wirea_out; wireb_out; assignc_out=a_out|b_out; halfadderhalf(x,y,a_sum,a_out); halfadderhalf1(c_in,a_sum,sum,b_out); endmodule 第一步新建一個文件夾 建工程文件夾盡量規范,文件夾下最要包含 doc prj RTL Testbench 文件夾 doc主要放一些工程文檔 前期沒有可以空著,prj文件夾放工程,及ip核文件,RTL放模塊代碼.v文件 ,Testbench文件夾放測試激勵文件。
工程文件夾模板
2.打開quartus 軟件新建工程,
選擇路徑 并給工程命名
選擇仿真工具和語言
選擇仿真工具和 仿真語言
新建.v文件
新建一個verilog文件
編寫代碼并保存
將代碼保存到RTL文件夾
再新建一個verilog文件 作為Tb文件 編寫tb文件后保存到TB文件下。
編寫完成后需要進行仿真設置。
選擇設置菜單
選擇simulation設置
添加TB文件
添加完成后進行仿真
仿真結果
|