目錄
- 一、輸入原理圖實作1位加法器
-
- 1.建立工程
- 2.建立原理圖檔案
- 3.半加器仿真
- 4.全加器仿真
- 二、Verilog實作1位加法器
-
- 1.建立verilog檔案
- 2.添加代碼如下
- 3.儲存并編譯檔案
- 4.仿真實作
- 三、硬體測試
實驗目的: 通過1位全加器的詳細設計, 掌握原理圖輸入以及Verilog的兩種設計方法。軟體基于quartusII 13.0版本,開發闆基于Intel DE2-115。1位全加器可以用兩個半加器及一個或門連接配接而成, 是以需要先完成半加器的設計。下面将給出使用原理圖輸入的方法進行底層元件設計和階層化設計的主要步驟。
一、輸入原理圖實作1位加法器
1.建立工程
點選next後,選擇路徑及名稱
選擇晶片
直接next,之後到達完成界面,這裡會看見關于整個工程的一些資訊,核對
一下是否正确,然後點選“finish”。此時界面上會出現頂層檔案名和項目名:
2.建立原理圖檔案
- 首先選擇File->New,進入後選擇Block Diagram/Schematic File
- 選擇元件
and2
xor
儲存檔案,并編譯
3.半加器仿真
點選【File】→【New】,選擇【University Program VWF】。
選擇【Edit】→【Insert】→【Insert Node or Bus…】。
點選【Node Finder…】,然後點選【List】會羅列出四個管腳,點選【>>】選擇全部,然後點選【OK】,自動補全了【Name】,然後點選【OK】。
出現如圖的波形圖檔案
編輯信号
仿真
仿真成功,自此半加器設計完成
4.全加器仿真
-
為了建立全加器的項層檔案,必須再打開一個原理圖編輯窗,即建立一
個原理圖檔案。方法同前,即再次選擇菜單" File”→“new",原理圖檔案
編輯輸入項"Block Diagram/Schematic File"。
添加half_adder和or2
- 設計波形
- 仿真
二、Verilog實作1位加法器
1.建立verilog檔案
2.添加代碼如下
module full_adder(
//輸入信号,ain表示被加數,bin表示加數,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
3.儲存并編譯檔案
通過tool->Netlist Viewers->RTL Viewer,檢視電路圖
4.仿真實作
同上步驟一緻
三、硬體測試
cycloneIVE系列的EP4CE11529C7 (若在建立工程時就已經指定目标晶片,則這步可以省略),在菜單中選擇,“assignments→device…” 如圖:
設定如下
-標明了引腳之後原理圖檔案一定要再編譯一次,才能真正把引腳綁定上。引腳綁定好
并編譯過的檔案如圖:
-把開發闆接上電源, USB 接口接電腦,點選按鈕
實驗結果