友快網

導航選單

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

Intel FPGA開發流程

1。建立資料夾

doc:設計相關文件存放目錄

img:設計相關圖片存放目錄

prj:工程檔案存放目錄

rtl: verilog 可綜合程式碼存放目錄

testbench:測試檔案存放目錄

2。建立工程

New Project Wizard -> Next

選擇專案路徑,填寫工程名稱,點選Next

選擇Empty Project,點選Next

點選Next

選擇自己的晶片型號,點選Next

設定模擬工具為ModelSim - Alter,模擬語言為Verilog HDL,點選Finish完成工程建立

3。新增設計檔案

點選 New 建立新檔案

選擇檔案型別,點選 OK

輸入相關程式碼,儲存在 rtl 資料夾下

點選 Start Analysis & Synthesis 進行模擬和綜合

點選 Tools -> Netlist Viewers -> RTL Viewer,檢視硬體邏輯電路

4。功能模擬

新建 。v 檔案,並儲存在工程對應的 testbench 資料夾下

點選標題欄 Assignments -> Settings -> Simulation,檢查資訊是否與設定的一致

選擇 Compile test bench,點選右側 Test Benches。。。

點選 New

選擇已編輯好的 testbench 檔案,點選 Add

填寫 Test bench name,需要與之前新增的 testbench 檔案同名,點選 OK

點選 OK

點選 OK

點選 Tools -> RTL Simulation Tool -> RTL Simulation,進行功能模擬(理想情況)

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

檢視模擬結果

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

5。綜合與佈局佈線

點選主介面 Start Compilation

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選標題欄 Tools -> Run Simulation Tool -> Gate Leval Simulation,進行閘電路模擬(非理想情況)

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇時序模型,點選 Run

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

檢視模擬結果,發現與之前的功能型模擬結果不同

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

6。分配引腳

點選選單欄 Pin Planner

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

根據實際情況配置引腳

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

關閉引腳配置視窗,點選 Start Compilation

7。下載

非固化下載

點選選單欄 Programmer

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 Hardware Setup。。。

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇 USB - Blaster

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選左側 Auto Detect,選擇 EP4CE10

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 Add File。。。

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇工程目錄下 output_files 資料夾下的 。sof 檔案

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 Start,等待下載結束

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

固化下載

點選標題欄 File -> Convert Programming File

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

設定如下選項

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 Flash Loader,並在右側點選 Add Device。。。

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇相應裝置,點選 OK

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 SOF Data,並在右側點選 Add File。。。

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇之前生成的 。sof 檔案,點選 Generate

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

重複上述 “ 非固化下載 ” 步驟,將下載檔案由 。sof 替換為 。jic 即可

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

重新上電即可檢視效果

FPGA基本數字邏輯設計

1。 譯碼器

真值表

介面圖

Verilog程式碼

module decoder3_8(a, b, c, out);

input a;

input b;

input c;

output [7:0]out;

reg [7:0]out;                                        //out在always塊中賦值,故定義為reg型別

always@(a, b, c)begin

case({a, b, c})

3‘b000: out = 8’b0000_0001;

3‘b001: out = 8’b0000_0010;

3‘b010: out = 8’b0000_0100;

3‘b011: out = 8’b0000_1000;

3‘b100: out = 8’b0001_0000;

3‘b101: out = 8’b0010_0000;

3‘b110: out = 8’b0100_0000;

3‘b111: out = 8’b1000_0000;

endcase

end

endmodule

激勵檔案

`timescale 1ns/1ns                                      //單位/精度

module decoder3_8_tb;

reg a;

reg b;

reg c;

wire [7:0]out;

decoder3_8 decoder3_8(

。a(a),

。b(b),

。c(c),

。out(out)

);

initial begin

a = 0; b = 0; c = 0;

#10;

a = 0; b = 0; c = 1;

#10;

a = 0; b = 1; c = 0;

#10;

a = 0; b = 1; c = 1;

#10;

a = 1; b = 0; c = 0;

#10;

a = 1; b = 0; c = 1;

#10;

a = 1; b = 1; c = 0;

#10;

a = 1; b = 1; c = 1;

#10;

$stop;

end

endmodule

2。 計數器

介面圖

verilog程式碼

module counter(Clk50M, Rst_n, led);

input Clk50M;

input Rst_n;

output led;

reg led;

reg [24:0]cnt;

//計數程序

always@(posedge Clk50M or negedge Rst_n)

if(Rst_n == 1‘b0)

cnt <= 25’b0;

else if(cnt == 25‘d24_999_999)

cnt <= 25’d0;

else

cnt = cnt + 1‘b1;

//led輸出程序

always@(posedge Clk50M or negedge Rst_n)

if(Rst_n == 1’b0)

led <= 1‘b1;

else if(cnt == 25’d24_999_999)

led = ~led;

else

led <= led;

endmodule

激勵檔案

`timescale 1ns/1ns

module counter_tb;

reg clk;

reg rst_n;

wire led;

counter counter(

。Clk50M(clk),

。Rst_n(rst_n),

。led(led)

);

initial clk = 1;

always #10 clk = ~clk;                              //時鐘頻率設為50M

initial begin

rst_n = 1‘b0;

#50;

rst_n = 1’b1;

#200;

$stop;

end

endmodule

3。 IP核應用之計數器

Altera IP 核既包括了諸如邏輯和算術運算等簡單的 IP 核,也包括了諸如數字訊號處理器、乙太網 MAC、PCI/PCIE 等介面比較複雜的系統模組,合理地運用這些IP核可以極大地節約我們開發專案的時間。

使用IP核的基本步驟如下:

在右側 IP Catalog 處輸入IP核名稱

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

更改IP核儲存的路徑,並選擇語言,點選 OK

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

設定計數器位數和計數方式

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇計數方式(二進位制計數/模計數),並選擇附加選項,點選 NEXT

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

根據需要選擇同步(非同步)清零、裝載、設定,點選 NEXT

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

點選 NEXT

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

選擇要生成的檔案,點選 Finish

intel elitebook開發流程及開發工程:設計資料夾doc,工程圖片存放目錄2。

Variation file: VHDL原始檔,必選

AHDL Include file: AHDL 包含檔案,可以在文字設計檔案(。tdf)中使用

VHDL component declaration file: VHDL 元件宣告檔案,可以在 VHDL 設計檔案中使用

Quartus Ⅱ symbol file: Quartus II 符號檔案可以在原理圖設計中使用

Instantitation template file: 供給第三方綜合工具使用

Verilog HDL black-box file: 供給第三方綜合工具使用

`timescale 1ns/1ns

module counter_tb;

reg cin;

reg clk;

wire cout;

wire [3:0] q;

counter counter(

。cin(cin),

。clock(clk),

。cout(cout),

。q(q)

);

initial clk = 1;

always #10 clk = ~clk;

initial begin

repeat(20)

begin

cin = 0;

#100 cin = 1;

#20 cin = 0;

end

#100 $stop;

end

endmodule

將IP核設定為頂層檔案,編寫testbench進行模擬

4。 BCD計數器設計與驗證

上一篇:華為手機 鴻蒙 釋出:美國 禁售令 ?
下一篇:618更換手機:vivo x60 pro、華為mate 40 pro,拍照旗艦誰更強?| 寧波有線路