天天看點

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

目錄

  • 一、輸入原理圖實作1位加法器
    • 1.建立工程
    • 2.建立原理圖檔案
    • 3.半加器仿真
    • 4.全加器仿真
  • 二、Verilog實作1位加法器
    • 1.建立verilog檔案
    • 2.添加代碼如下
    • 3.儲存并編譯檔案
    • 4.仿真實作
  • 三、硬體測試
實驗目的: 通過1位全加器的詳細設計, 掌握原理圖輸入以及Verilog的兩種設計方法。軟體基于quartusII 13.0版本,開發闆基于Intel DE2-115。1位全加器可以用兩個半加器及一個或門連接配接而成, 是以需要先完成半加器的設計。下面将給出使用原理圖輸入的方法進行底層元件設計和階層化設計的主要步驟。

一、輸入原理圖實作1位加法器

1.建立工程

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

點選next後,選擇路徑及名稱

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

選擇晶片

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

直接next,之後到達完成界面,這裡會看見關于整個工程的一些資訊,核對

一下是否正确,然後點選“finish”。此時界面上會出現頂層檔案名和項目名:

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

2.建立原理圖檔案

  • 首先選擇File->New,進入後選擇Block Diagram/Schematic File
    FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 選擇元件

and2

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

xor

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 繪制原理圖
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 存盤編譯

儲存檔案,并編譯

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 将設計項目設定成可調用的元件
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

3.半加器仿真

點選【File】→【New】,選擇【University Program VWF】。

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

選擇【Edit】→【Insert】→【Insert Node or Bus…】。

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

點選【Node Finder…】,然後點選【List】會羅列出四個管腳,點選【>>】選擇全部,然後點選【OK】,自動補全了【Name】,然後點選【OK】。

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

出現如圖的波形圖檔案

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

編輯信号

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

仿真

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

仿真成功,自此半加器設計完成

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

4.全加器仿真

  • 為了建立全加器的項層檔案,必須再打開一個原理圖編輯窗,即建立一

    個原理圖檔案。方法同前,即再次選擇菜單" File”→“new",原理圖檔案

    編輯輸入項"Block Diagram/Schematic File"。

添加half_adder和or2

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 繪制原理圖
    FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 儲存檔案,并編譯

    通過tool->Netlist Viewers->RTL Viewer,檢視電路圖

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 同上建立一個向量波形檔案
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 設計波形
    FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 仿真
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

二、Verilog實作1位加法器

1.建立verilog檔案

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

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,檢視電路圖

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

4.仿真實作

同上步驟一緻

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

三、硬體測試

  • 選擇目标晶片

cycloneIVE系列的EP4CE11529C7 (若在建立工程時就已經指定目标晶片,則這步可以省略),在菜單中選擇,“assignments→device…” 如圖:

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 引腳綁定
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

設定如下

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

-標明了引腳之後原理圖檔案一定要再編譯一次,才能真正把引腳綁定上。引腳綁定好

并編譯過的檔案如圖:

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

-把開發闆接上電源, USB 接口接電腦,點選按鈕

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 添加驅動
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試
  • 燒錄
FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試

實驗結果

FPGA實驗一: 原理圖與VHDL設計初步一、輸入原理圖實作1位加法器二、Verilog實作1位加法器三、硬體測試