一.半加器及全加器原理
1.半加器
- 真值表
A | B | C0 | S |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
- 表達式
S=A⊕B
C=AB
2.全加器
- 真值表
ain | bin | cin | cout | sum |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
- 表達式
Sum=Ain⊕Bin⊕Cin
Cout=(Ain⊕Bin)?Cin+AinBin=(Ain&Bin)∣(Bin&Cin)∣(Ain&Cin)
二.原理圖實現(xiàn)1位加法器
1.創(chuàng)建項目
-
選擇File->New Project Wizard
-
設(shè)置項目路徑和項目名
-
按個人需求選擇芯片
2.半加器原理圖輸入
-
選擇File->New->Block Diagram/Schematic File
-
選擇元件(一個and2,一個xor,兩個input,兩個output)
-
原理圖如下
-
編譯成功后選擇tool->Netlist Viewers->RTL Viewer
-
得到電路圖如下
-
選擇File→New->VWF
-
按如下操作添加信號
-
配置信號前需要做如下配置(tool->launch simulation library complier)
-
編輯信號并仿真
-
仿真效果如下
3.全加器原理圖輸入
-
選擇File->Create/Update->CreateSymbolFilesforCurrentFile
-
選擇File->New->Block Diagram/Schematic File
-
選擇元件(兩個halfadder,一個or2,三個input,兩個output)
-
原理圖如下
-
注意在此處需要先將fulladder置頂(Project->Set as Top-Level-Entity)再進行編譯
-
電路圖如下
-
編輯信號并仿真
-
仿真效果如下
三.Verilog實現(xiàn)1位加法器
-
創(chuàng)建Verilog文件
-
代碼如下
module full_adder(
//輸入信號,ain表示被加數(shù),bin表示加數(shù),cin表示低位向高位的進位
input ain,bin,cin,
//輸出信號,cout表示向高位的進位,sum表示本位的相加和
output reg cout,sum
);
reg s1,s2,s3;
always @(ain or bin or cin) begin
sum=(ain^bin)^cin;//本位和輸出表達式
s1=ain&cin;
s2=bin&cin;
s3=ain&bin;
cout=(s1|s2)|s3;//高位進位輸出表達式
end
endmodule
-
注意編譯時需要保證模塊名和文件名一致,不然會報錯
-
電路圖如下
-
選擇File→New->VWF
-
編輯信號并仿真
-
仿真結(jié)果如下
四.下載到開發(fā)板有關(guān)操作
-
Pin Planner中配置引腳
-
Programmer中下載
- 效果如下
五.總結(jié)
上學期接觸了FPGA開發(fā),但是由于假期重做系統(tǒng),重新下載的quartus和modelsim,本文中quartus和modelsim都是用的13.1版本。本次實驗出現(xiàn)了一些錯誤,包括破解失敗導致無法運行quartus相關(guān)文件,包括EDA實現(xiàn)quartus和modelsim自動仿真時參考教程學習,Verilog實現(xiàn)1位全加器時模塊名和文件名不一致導致的報錯,參考學長學姐的博客都得到了解決,這次實驗是FPGA較為初級的操作。仍需進一步學習,后期會定期更新有關(guān)FPGA的博客。文章來源:http://www.zghlxwxcb.cn/news/detail-721204.html
六.參考博客
https://blog.csdn.net/qq_43279579/article/details/115158140
https://blog.csdn.net/qq_43279579/article/details/115176423
https://blog.csdn.net/qq_43279579/article/details/115480406文章來源地址http://www.zghlxwxcb.cn/news/detail-721204.html
到了這里,關(guān)于Quartus實現(xiàn)一位全加器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!