Vivado FPGA設計基礎操作流程
當然在介紹的過程當中會給大家推薦一些對于工具深入使用的Xilinx官網資料。這里以流水燈的控制為例。
Vivado的基本使用
(一) 打開Vivado新建工程:
1. 安裝好Vivado之后,在Windows系統(tǒng) Start > All Programs > Xilinx Design Tools > Vivado> Vivado ,或者桌面上找到如下圖標,點擊打開Vivado。
2. 點擊Create Project
3. 指定工程所放路徑與工程名字
4. 選擇RTL Project ,此時把Do not specify at this time勾上,表示在新建工程時不去指定源文件。
5. 選擇器件或者板卡。Parts表示器件,當然如果是板卡就點擊Boards。器件可以根據系列去選,也可以直接在Search欄搜索器件型號。器件的選擇根據你的FPGA芯片來定,一般在你所用的開發(fā)板手冊里面可以找到。選擇完畢點擊Next。
6. 確認整個工程信息后,點擊Finish,完成工程創(chuàng)建。
(二)新建Verilog文件:
1. 在Flow Navigator界下點擊 Add Sources.
2. 如下界面,第一個是添加或者新建XDC約束文件;第二個是添加或者新建設計文件;第三個是添加或者新建仿真文件。這里選擇添加或者新建設計文件,再點擊Next。
3. 這里點擊Create File。Add Files表示添加已有的設計文件,Add Directories表示添加文件夾。
4. 指定文件名與路徑(默認存放在工程默認路徑),文件類型(File type)選擇為Verilog,如果你用的是其它硬件描述語言,則選擇你用的語言類型。
5. 在之后跳出的框依次點擊OK,Finish,Yes。這就完成了一個設計文件的新建。
6. 在Source框雙擊剛剛新建的文件,完成你的Verilog代碼設計,并保存。
重復上述操作完成對clk_gen.v(分頻模塊)和led_top.v(頂層模塊)文件的設計與編碼。
(三) 查看 Schematic:
1. 在Flow Navigator 下點擊RTL ANALYSIS -> Open Elaborated Design -> Schematic
2. 一會兒就會彈出你所設計的Verilog的原理圖。點擊原理圖里模塊上的+號,可以將此模塊的內部電路展開。
大家可以參考官網文檔 "Vivado Design Suite User Guide: Using the Vivado IDE (UG893)"去進一步了解Schematic的使用。
(四)添加TB文件,做功能仿真:
在完成RTL設計之后,我們先需要對其做仿真來驗證其功能的正確性。這里先需要添加testbench文件,來給設計輸入測試激勵。
1. 添加testbench文件。在Flow Navigator界面下點擊 Add Sources -> Add or create simulation sources -> Create File,則會出現如下界面,選定文件名(File name),文件類型(File type)。接下來依次點擊OK,Finish, OK完成文件的創(chuàng)建。
2. 在Sources框找到剛新建的tb文件,雙擊進行編輯,完成編輯后保存。編輯完畢,則如下圖所示。
3. 在Flow Navigator界面下點擊 Run Simulation -> Run Behavioral Simultion。如果代碼沒有錯誤,則一會兒將會在右邊出現如下圖所示的波形窗口。
4. 在Scope框里,選擇模塊,其內部信號顯示在其右邊的Objects框里,可以右擊選擇Add to wave window,將其添加到波形顯示窗口。界面最上方紅框框出來的幾個按鈕從最左邊到右邊三個分別是 “從新開始運行仿真”, “一直運行仿真”,“運行設定時間長度的仿真(如圖設定的時間為1us)”。每新添加信號后都需要從新運行仿真。
運行仿真是為了確認RTL設計的功能的正確性,對于仿真的深入了解可以參閱官網資料“Vivado Design Suite User Guide: Logic Simulation (UG900) ” 和 “Vivado Design Suite Tutorial: Logic Simulation (UG937)”。
(六) 添加管腳約束
添加管腳約束,添加管腳約束可以選用XDC文件的方式(參考官方文檔 “Vivado Design Suite User Guide Using Constraints (UG903 )”),也可以采用界面化的方式。這里給大家介紹界面化的方式。
(五)Synthesis(綜合)
直接在Flow Navigator界面下點擊 Run Synthesis后點擊OK即可。
Synthesis完畢后就會跳出如下信息框。選擇Open Synthesized Design后點擊OK。
對于Synthesis的其它一些設置選項等等,大家可以參考官網文檔 “Vivado Design Suite User Guide:Synthesis (UG901)”。
(六) 添加管腳約束
添加管腳約束,添加管腳約束可以選用XDC文件的方式(參考官方文檔 “Vivado Design Suite User Guide Using Constraints (UG903 )”),也可以采用界面化的方式。這里給大家介紹界面化的方式。管腳約束是為了將設計的輸入輸出引腳映射到FPGA芯片的引腳上。
1. Synthesis結束之后,并且Open Synthesized Design之后。在界面右上角選擇I/O Planning
2. 之后在I/O Ports給I/O端口分配引腳。Package Pin就是對應的FPGA芯片的引腳。其中clk接外部晶振輸入,rts_n接外部復位按鈕,led_o接led燈。
(七)Implementation(實現)
引腳分配完畢之后,在Flow Navigator界面下點擊Run Implementation
Implementation完畢之后會出現如下彈框。點擊OK則會打開Implementation之后的設計。
對于Implementation的其它一些設置選項等等,大家可以參考官網文檔 "Vivado Design Suite User Guide: Implementation (UG904)"。
(八) 生成編程文件,上板測試
Implementation之后在Flow Navigator界面下點擊Generate Bitstream
默認生成的為.bit文件。對于這一塊的其他一些設置大家可以參考官網資料 “Vivado Design Suite User Guide: Programming and Debugging (UG908)”。
Bitstream文件生成完畢之后,出現如下彈框。接下來選擇Open Hardware Manager,點擊OK。準備上班測試。
有些開發(fā)板支持SD配置,則直接將生成的.bit文件拷到對應的SD卡里面即可。
如果有Xilinx下載器,將Xilinx下載器,開發(fā)板子,電腦連接好,并上電。
如下所示,點擊Open Target -> Auto Connect
工具自動搜索已連接的器件。一般第一次會連接失敗,出現如下圖所示情況。右擊紅色箭頭所指,再點擊Close Server。
之后再重復Open Target -> Auto Connect操作,如果連接成功,視圖如下。右擊紅色箭頭所指的器件名,選擇Program Device
然后彈出如下所示框,其自動為我們選擇了剛剛生成的bit文件,點擊Program,工具就會將我們的bit文件配置到FPGA里面去。配置完成板子上就會出現相應的效果。
總結
上述就是一個基本的Vivado使用過程,在這個過程中的每一步,都有相應的官網資料推薦,如果大家想要深入了解Vivado具有的強大功能,最好需要去看看這些文檔。