fpga板子怎么和电脑连_干货教程 | 手把手教你如何使用Multisim对Digilent FPGA开发板进行编程...
來源 | Digilent中文技術社區
作者 | 阿Q
FPGA正在逐漸成為EECS專業的同學們在校期間學習掌握的一項必備技能。無論是在課程實驗、競賽作品、科研項目還是未來求職過程中,擁有FPGA技能包對每一名電類工科生而言都會是一項不小的加分項。
對于想要學習著手開始學習FPGA的童鞋們,我們有一則壞消息和一則好消息。先說壞消息:現今每家FPGA廠商都有其專屬的開發工具鏈,這也意味著要想對不同的FPGA開發板進行編程,你首先得熟悉掌握不同的開發工具鏈,而這往往并不簡單。接下來的好消息你一定會眼前一亮:現在,你可以使用Multisim這一在電路實驗中無處不在并廣受歡迎的電路搭建與仿真工具來對多款Digilent FPGA開發板進行編程了!是的,你沒有聽錯哦。只需要一些基本的設置,你所熟悉的Multisim就將成為助你探索FPGA奇妙世界的一項利器。
在今天分享的教程中,我們就將手把手一步步教你如何使用Multisim對Digilent FPGA開發板進行編程。如果你有興趣,趕緊跟著我們一起來操作吧!
——阿Q
1獲取正確的工具
想要使用Multisim來對Digilent FPGA開發板進行編程,你首先得安裝一些必要的軟件:
LabVIEW 2014或更新版本
Multisim 14.0或更新版本
Vivado 2014.4或更新版本
第一步記得先安裝LabVIEW,這是由于Multisim的一些文件需要在裝好LabVIEW的基礎上才能實現交互運作。當上述每一個軟件裝好之后,記得重啟電腦以使其生效。
在這里,我所安裝的是LabVIEW 2016版,默認安裝路徑為:“C:\Program Files\National Instruments”而非“C:\Program Files (x86)\National Instruments”。由于Multisim會與LabVIEW產生交互,故而我選擇將LabVIEW目錄調整為“C:\Program Files (x86)\National Instruments”,以確保兩個軟件在同一目錄下。
當前,Multisim支持對以下型號搭載Xilinx Aritx-7芯片的Digilent FPGA開發板進行編程,包括:
●Basys 3
●Nexys 4 DDR
●Arty A7
●CMOD A7
要想正確將Mulisim與Vivado實現關聯,你同時需要下載安裝相關的FPGA工具。點擊「閱讀原文」下載安裝NI LabVIEW FPGA Vivado 2014.4工具包。
下載頁中所推薦的“NI Download Manager”選項可以幫你獲取一個較小的下載文件,在此基礎上幫你再下載工具包所需的安裝文件。對應的,“Browser Download”選項直接幫助你獲取一個*.iso鏡像下載文件,并隨后會直接自動安裝到你的電腦光驅上。這里你可以選擇任意一種你喜歡的方式進行下載安裝。
如果*.iso鏡像文件下載完畢后沒有自動進入安裝程序,你可以在默認下載路徑中雙擊它來啟動安裝程序。
點擊“Next”然后輸入安裝文件包中所包含的任一序列號。我使用的是LabVIEW序列號。
之后軟件會自動搜索更新文件。一路選擇“Accept”,然后單擊“Next”。
隨后,點擊“Next”以接受3 License Agreements 。
之后,再點擊一次“Next”即可開始安裝。
安裝完畢之后,記得務必重啟你的電腦。然后進入“C:\NIFPGA\programs\Vivado2014_4\data\xicom\cable_drivers\nt64\digilent”,單擊運行“install_digilent.exe”文件以安裝Digilent Adept程序(如果提示需要的話)。
到這里,所有的軟件程序及關聯組建就都安裝完畢了。接下來我們開始進行Multisim編程部分的講解。
2FPGA“代碼編寫”概述
通常,用于FPGA芯片的代碼我們都是通過硬件描述語言來編寫,其中最為廣泛使用的即是VHDL或Verilog。絕大多數的硬件描述語言都可歸結為使用兩種不同的設計理念來編寫代碼:結構性或行為性。上述兩種方式指的不是某種特定的語言,而是思考如何編寫代碼的兩種概念方法。當然,你也可以在同一個項目中,同時使用結構性與行為性兩種方法,只要你覺得沒有問題的話。
在行為性設計中,我們簡單地闡述所想要做的編譯操作,代碼會自行在某一特定背景下以芯片能夠理解的方式“施展它的魔力”。以下是一個帶有進位的二位全加法器的代碼示例:
//?Verilog?example?of?a?behavioral?design
module?Full_Adder_behavioral(
input?A,
input?B,
input?Cin,
output??S,
output?Cout
);
wire?[1:0]?sum;
//?The?next?line?makes?it?clear?what?we?have.?All?three?terms?are?added
//?together,?so?we?must?have?an?adder.?We've?described?the?behavior?of
//?the?circuit.?Note?the?absence?of?any?logic?declarations?like?"AND"?or?"&".
assign?sum?=?A?+?B?+?Cin;
assign?S?=?sum[0];
assign?Cout?=?sum[1];
endmodule
當你增加3位時,你所能獲得的最大值為十進制的3,或二進制的11,因此在這里我們需要'sum'值對于'sum'位數而言是一個二位占位符。編譯器明白“+”的意義,并創建了一個二進制代碼來完成這一任務。S與Cout位被對應的分配給'sum'中的相應位數。
相對應的,結構性設計是一種對于“實現正確處理輸入數據的精確邏輯”的明確描述,以下是對于同一全加法器的結構性描述代碼示例:
//?Verilog?example?of?a?structural?design
module?Full_Adder_structural(
input?A,
input?B,
input?Cin,
output?S,
output?Cout
);
//?Here?we?see?the?use?of?several?logic?gate?structures.?Without?deciphering
//?the?logic,?it?would?be?difficult?at?best?to?know?what?exactly?is?going?on
//?just?by?glancing?at?the?code.?Now?imagine?a?large?project?with?100s?of
//?lines?of?code?to?decipher.
wire?w01?=?A?^?B;
wire?w02?=?Cin?&?w01;
wire?w03?=?A?&?B;
assign?S?=?w01?^?Cin;
assign?Cout?=?w02?|?w03;
endmodule
在這一代碼示例中,我們已經明確告知編譯器我們是如何希望所輸入的數據被邏輯處理的。編譯器再一次“施展它的魔力”并以芯片能夠理解的方式編譯文件。
這里寫了這么多是想告訴你:由于Multisim是一款使用圖形進行電路設計的工具,故而我們將使用結構性設計方式來“編寫”我們的代碼,但這里我們將用的是圖形而非文本語言。如何理解這句話?圖1即為針對上述同一全加法器的Multisim實現(直接從Multisim畫布中復制過來)。這次你會發現我們使用的是圖形化的邏輯門:
通過上述方式,我們使用Multisim十分清晰地構建了一個邏輯電路。試想,如果想要視覺化地來描述電路的結構而不使用結構性編程方法的話,難道還能有其它第二種方法嗎?
以上就是使用Multisim來對FPGA開發板進行編程的全部基礎知識所需。下面讓我們進一步瞅瞅如何來進行編程。
3現在讓我們用Multisim來編寫一些代碼
使用Multisim來對FPGA開發板編程,更像是在畫畫,只是你首先需要有設計思路。這里,我們還是從設計一個先前提到的二位全加法器開始。
打開Multisim,你會看到一個默認的空白畫布(canvas),用以設計或仿真模擬電路。
將鼠標移動到左上角,單擊“File”然后選擇“New”。
彈出窗口中,點擊頂端的“PLD design”按鈕,然后點擊底部的“Create”按鈕。
下一個跳出的窗口會讓你去選擇你的配置文件。在這里,你可以選擇各種Multisim所支持的Digilent FPGA開發板定義,這些都已經在軟件安裝過程中被加載入。此處,你可以從下拉框中選擇一種標準定義,或是加載一個自定義的配置文件(如果你有的話),再或是創建一個空白的PLD項目。在這一教程中,我將使用的是Digilent Basys 3 FPGA開發板。在選擇好對應的開發板后,點擊“Next”。
在下一個窗口中,給你的項目取一個名字。然后點擊下一步。
之后的一個窗口中,你可以選擇你希望加入到項目中的開發板所對應的全部I/O外設。在我的項目中,我需要5個LED,3個開關,因此我選擇LED0 → LED4 and SW0 → SW2。選擇好之后,點擊“Finish”。
現在,PLD項目會在Multisim窗口左側的Design Toolbox(設計工具箱)中出現,同時canvas(畫布)上會顯示你所選擇的I/O接口。
我們有兩種放置組件的方式。第一種方式為點擊工具欄中的AND門小圖標。這會幫你打開組件選擇窗口,并默認對應到"PLD Logic"組過濾器。第二種方式為點擊頂部菜單欄中的“Place”按鈕,然后選擇"Component" ,同樣會幫你打開組件選擇窗口。
在此教程中,我們將使用基礎邏輯門,所以我們在左側菜單欄中選擇它,并高亮你準備放置的第一個門。放置好之后,選擇下一個門。重復操作放置,直到所有的都放置完畢。在這個二位全加法器中,我們需要2個XOR2,2個AND2,和1個OR2門。將所有的門連接起來。需要注意的是,在這里你可以更改接口的標簽,但并不鼓勵你這樣做。
4使用Multisim對FPGA開發板進行編程
下一步,我們將代碼部署到FPGA中去。這里,我們首先要確保FPGA開發板通過USB線已經連上電腦,并將之開關打開。然后,點擊Mulitisim菜單欄中的“Transfer”,并選擇“Export to PLD...”。
免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯系,我們將根據您提供的版權證明材料確認版權并刪除內容。
0
0
總結
以上是生活随笔為你收集整理的fpga板子怎么和电脑连_干货教程 | 手把手教你如何使用Multisim对Digilent FPGA开发板进行编程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android读取剪切板的方法,Andr
- 下一篇: SQL Server 2019下载及安装