FPGA教程:通過Mojo開發(fā)板介紹FPGA_第1頁
FPGA教程:通過Mojo開發(fā)板介紹FPGA_第2頁
FPGA教程:通過Mojo開發(fā)板介紹FPGA_第3頁
FPGA教程:通過Mojo開發(fā)板介紹FPGA_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第第頁FPGA教程:通過Mojo開發(fā)板介紹FPGA這篇文章來源于DeviceP英語網(wǎng)站的翻譯稿。

引言

迄今為止,我們的(嵌入式系統(tǒng))(教程)和項(xiàng)目已經(jīng)使用了多塊微控制器開發(fā)板,比如不同型號的(Arduino)微控制器板。使用微控制器時(shí),用戶將微控制器上的數(shù)字和(模擬)接口引腳連至受控外圍(電子)設(shè)備,然后,用戶上傳包含一系列指令的軟件,微控制器會循環(huán)執(zhí)行這些指令。運(yùn)行時(shí),微控制器的核心處理器按照微控制器模塊的(時(shí)鐘)速率讀取并執(zhí)行這些指令。因此,我們可以看到,在某一時(shí)刻,微控制器通常只運(yùn)行一條指令。

對于許多(嵌入式)系統(tǒng)項(xiàng)目來說,尤其是那些在入門微控制器模塊(比如Arduino開發(fā)板)上實(shí)現(xiàn)的項(xiàng)目,這種單獨(dú)的指令執(zhí)行并不影響性能。這是因?yàn)闀r(shí)鐘速度足夠快,以至于人類感官無法區(qū)分后續(xù)運(yùn)行。然而,許多大型應(yīng)用可能需要不同的操作并行運(yùn)行,這就使得微控制器實(shí)現(xiàn)變得非常復(fù)雜或完全不可能?,F(xiàn)場可(編程)門陣列(簡稱(FPGA))是一種不同的計(jì)算平臺,由于其固有的不同功能方式,能夠?qū)崿F(xiàn)微控制器無法實(shí)現(xiàn)的功能。

圖1:一塊Arduino微控制器開發(fā)板(左)和一塊(Altera)FPGA開發(fā)板(右)/?RobotShop

NET“button_b”LOC=P21|IOSTANDARD=LVTTL;

NET“l(fā)ed_external”LOC=P26|IOSTANDARD=LVTTL;

請確保您選擇的引腳不與UCF文件指定的引腳沖突。

現(xiàn)在您的UCF文件應(yīng)該是這樣的:

現(xiàn)在我們已經(jīng)指定項(xiàng)目的具體信號名稱及其關(guān)聯(lián)連接,我們可以編寫代碼,將LED輸出描述為按鈕輸入信號的函數(shù)。您可能已經(jīng)猜到了,這需要修改mojo_top模塊。

模塊聲明部分的頂部是單詞“module”(模塊),然后是模塊名稱(本例中模塊名稱為mojo_top)以及模塊將要使用的輸入和輸出信號列表。我們需要將兩個(gè)按鈕信號名稱和LED信號名稱添加到該連接列表中,使得信號能夠成為輸入和輸出。要做到這一點(diǎn),我們可以在信號列表末尾添加以下程序:

inputbutton_a,

inputbutton_b,

outputled_external

現(xiàn)在,模塊頭應(yīng)該是這樣的:

至此,我們已經(jīng)為按鈕和外部LED聲明了信號名稱,并為這些信號分配了Mojo開發(fā)板I/O引腳,并且在Verilog中指定這些信號分別是輸入和輸出?,F(xiàn)在,我們所要做的就是定義LED點(diǎn)亮的條件!更具體地說,我們需要指定發(fā)光(二極管)開啟(二進(jìn)制1)和關(guān)閉(二進(jìn)制0)的情況。

回想之前的討論,我提到LED的操作行為與布爾與(AND)函數(shù)完全相同。在Verilog中,我們用符號

將這行指令添加到模塊末尾就可以實(shí)現(xiàn)我們所需的行為。打開基礎(chǔ)項(xiàng)目時(shí),我們會看到這行程序上方本來就存在許多程序行,這些程序設(shè)置了其他不同信號,比如板上SPI和板載LED信號,在本項(xiàng)目中我們不會使用這些信號。

現(xiàn)在,完整模塊應(yīng)該是這樣的:

要對FPGA進(jìn)行編程以實(shí)現(xiàn)我們指定的行為,我們必須生成一個(gè)編程文件,其格式為.bin文件。發(fā)出命令之后,ISE會綜合我們的設(shè)計(jì)(檢查錯(cuò)誤并運(yùn)行測試),然后實(shí)現(xiàn)設(shè)計(jì)(定義實(shí)現(xiàn)指定行為所需的內(nèi)部門結(jié)構(gòu)),并生成這個(gè)編程文件。要運(yùn)行此過程,請雙擊左下窗口中的“GenerateProg(ram)mingFile”(生成編程文件)按鈕。

在編程文件生成的過程中,ISE會發(fā)出幾條丟失(網(wǎng)絡(luò))和/或未路由網(wǎng)絡(luò)的警告。這些警告對于此實(shí)現(xiàn)并不重要,不會影響我們對FPGA的編程。我們沒有使用UCF中指定的所有信號,所以ISE才會發(fā)出這些警告。

編程文件生成完成后,ISE會在我們剛才雙擊的按鈕旁邊添加一個(gè)綠色對號。

現(xiàn)在,我們所要做的就是將編程文件上傳到Mojo開發(fā)板上。首先,請確保按上圖所示將按鈕和LED連至Mojo的引腳。

其次,打開MojoLoader軟件并選擇與Mojo相對應(yīng)的USB端口。然后,選擇ISE生成的.bin文件。您必須導(dǎo)航至項(xiàng)目目錄下的/syn/文件夾。在MojoLoader內(nèi)打開.bin文件后,請點(diǎn)擊窗口右下方的“Load”(加載)按鈕。編程文件就開始向Mojo開發(fā)板上傳。

該過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論