小編在本節完整給出一個設計過程,可利用ISE或Vivado硬件編程軟件實現。
1 HDL代碼、邏輯電路和器件
- 編寫“HDL代碼”來描述電路功能
- EDA工具中進行“RTL綜合”和“綜合”
“RTL綜合”將HDL代碼轉換為邏輯電路
“綜合”這一步將經過“RTL綜合”后的門電路映射為FPGA器件的物理結構 - “實現”這一步將對FPGA器件進行最終的布局布線
- 綜合實現的結果將會被轉換為可以最終運行在FPGA器件上的二級制燒錄文件
2 HDL代碼實例
- 在每個時鐘clk信號的上升沿,實現輸出信號dout的值為輸入信號ain、bin和cin的2級門運算的結果
- 這個門運算先是ain和bin“邏輯與”,它們得到的結果再和cin“邏輯或”
- 輸入復位信號rst_n為異步復位信號,任何時刻這個信號的下降沿將直接觸發輸出信號dot取值為0
舉個栗子
module at7(
clk,rst_n,
ain,bin,cin,dout
);
input clk;
input rst_n;
input ain,bin,cin;
output reg dout;
always @(posedgeclk or negedgerst_n)
if(!rst_n)
dout <= 1'b0;
else
dout <= (ain & bin) | cin;
endmodule
3 RTL綜合
- “RTL綜合”后的邏輯電路原理圖,它很好的以門電路的形式表達了我們的實例代碼
- “RTL綜合”門電路和HDL代碼所描述的功能完全一致,大家對比下圖和第2節的代碼。下圖即是代碼RTL綜合后的布局。
圖1 RTL綜合后的邏輯電路原理圖
4 綜合
- “RTL綜合”是指將HDL代碼轉換為邏輯門電路形式來表達的一個過程;“綜合”卻是將已經用邏輯門關系表達的電路進一步轉換為FPGA器件實際物理結構相對應的電路形式 “綜合”電路中看不到任何的“門”
- “綜合”的結果是所使用的特定FPGA器件中實際存在著的物理結構,如“輸入緩沖”、“查找表”、“觸發器”和“輸出緩沖”等
圖2 RTL綜合與綜合的關系
圖3 綜合后的邏輯電路原理圖
5 實現
- 在“綜合”給出HDL代碼與實際FPGA器件的映射關系后,做具體執行的工作
- 如果把“綜合”結果比喻為電路板設計的“原理圖”階段,那么“實現”這個步驟就是具體的“布局布線(layot)”階段
圖4 布線圖
6 生成燒錄文件
- 如同電路板的layout完成后要生成gerber,FPGA工具最終也要產生一個bit文件用于燒錄到FPGA中運行了
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604302 -
邏輯電路
+關注
關注
13文章
494瀏覽量
42656 -
HDL
+關注
關注
8文章
327瀏覽量
47410 -
代碼
+關注
關注
30文章
4802瀏覽量
68743 -
Vivado
+關注
關注
19文章
813瀏覽量
66668
發布評論請先 登錄
相關推薦
如何在FPGA上實現HDL代碼完成MATLAB轉換
如果您正在使用 MATLAB 建模數字信號處理(DSP)或者視頻和圖像處理算法,并且最終將其用于 FPGA 或 ASIC,本文可能將為你帶來幫助。 從 MATLAB 生成 HDL 代碼 FPG
如何使用Verilog HDL進行FPGA設計
FPGA設計流程是利用EDA開發軟件和編程工具對FPGA芯片進行開發的過程。FPGA的設計流程如上圖所示:包括設計定義、代碼
發表于 04-04 10:29
?2393次閱讀
FPGA設計中 Verilog HDL實現基本的圖像濾波處理仿真
今天給大俠帶來FPGA設計中用Verilog HDL實現基本的圖像濾波處理仿真,話不多說,上貨。
1、用matlab代碼,準備好把圖片轉化成Vivado Simulator識別的
發表于 05-20 16:44
基于模型設計的HDL代碼自動生成技術綜述
、基于模型設計的HDL代碼自動生成技術應用需求近年來,現場可編程門陣列(FPGA)被廣泛應用于航空航天、汽車、通信、工業自動化、電機控制、醫學成像等嵌入式應用領域。傳統的FPGA上的數
發表于 06-08 09:29
FPGA雙沿發送之Verilog HDL實現 精選資料推薦
1.1 FPGA雙沿發送之Verilog HDL實現1.1.1 本節目錄1)本節目錄;2)本節引言;3)FPGA簡介;4)FPGA雙沿發送之
發表于 07-26 06:20
FPGA雙沿采樣之Verilog HDL實現 精選資料分享
1.1 FPGA雙沿采樣之Verilog HDL實現1.1.1 本節目錄1)本節目錄;2)本節引言;3)FPGA簡介;4)FPGA雙沿采樣之
發表于 07-26 07:44
基于Verilog HDL語言的FPGA設計
采用 Verilog HDL 語言在Altera 公司的FPGA 芯片上實現了RISC_CPU 的關鍵部件狀態控制器的設計,以及在與其它各種數字邏輯設計方法的比較下,顯示出使用Verilog
發表于 08-21 10:50
?69次下載
Verilog HDL與VHDL及FPGA的比較分析
Verilog HDL與VHDL及FPGA的比較分析. Verilog HDL優點:類似C語言,上手容易,靈活。大小寫敏感。在寫激勵和建模方面有優勢。
發表于 01-11 10:45
?1381次閱讀
MathWorks推出基于MATLAB生成HDL代碼的產品
MathWorks 近日宣布推出 HDL Coder,該產品 支持MATLAB 自動生成 HDL 代碼,允許工程師利用廣泛應用的 MATLAB 語言實現
發表于 03-07 09:27
?2168次閱讀
基本組合邏輯功能雙向管腳的Verilog HDL源代碼
電子發燒友網核心提示: 本例程是Verilog HDL源代碼:關于基本組合邏輯功能中雙向管腳的功能實現源代碼。 Verilog HDL: B
發表于 10-15 11:28
?1617次閱讀
MathWorks網絡研討會:高性能FFT的HDL實現與驗證
?Virtex-7 FPGA? 上運行進行了優化)。演示的工作流程從參考 ?MATLAB? 代碼開始,強調了模型開發、定點轉換、優化 ?HDL? 代碼生成以及 ?
發表于 02-09 02:26
?385次閱讀
System Generator實現串口通信(一行HDL代碼都不用寫)
一直都在System Generator下做圖像處理相關的算法,感覺SysGen挺強大的,前幾天突發奇想,能否直接用SysGen實現數據的通信呢,畢竟一句HDL代碼都不寫對于做FPGA
發表于 02-10 19:51
?2944次閱讀
并行CRC電路HDL代碼的快速生成
CRC校驗的實現基于串行位移寄存器,如果要處理并行數據,需要對電路進行改進。本文介紹了一種并行CRC電路HDL代碼的快速生成鐘算法,只需要帶入不同的參數,可自動生成不同長度以及并行度的并行CRC電路的
發表于 03-28 09:29
?16次下載
評論