一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA編寫器的制作

454398 ? 來源:wv ? 2019-10-15 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:您需要的內(nèi)容

Nexys開發(fā)板FPGA

Xilinx ISE

某種揚(yáng)聲器

用于將板連接到揚(yáng)聲器的輔助電纜,或其他布線設(shè)置

步驟2:聚集項(xiàng)目項(xiàng)

收集項(xiàng)目的所有必需項(xiàng)(例如,電路板,Xilinx,揚(yáng)聲器和輔助電纜)。如果尚未購(gòu)買nexys板,請(qǐng)先開始。這些可以直接通過Digilent或通過外部賣家(如Amazon)購(gòu)買。之后,請(qǐng)?jiān)L問www.xilinx.com下載Xilinx。最后,獲取指定的揚(yáng)聲器系統(tǒng)和輔助電纜。然后,熟悉VHDL并熟練使用Xilinx。這將確保以下步驟不會(huì)造成混亂。

步驟3:在Xilinx中創(chuàng)建項(xiàng)目

打開Xilinx,然后單擊新項(xiàng)目。屏幕打開后,

為項(xiàng)目命名,指定保存位置,并將頂級(jí)源類型設(shè)置為HDL。然后單擊下一步。然后指定給定板的所有詳細(xì)信息。這取決于您擁有的nexys板的版本。我們使用了nexys 2,因?yàn)樗亲畋阋说摹?nexys-2開發(fā)板的詳細(xì)信息如下:

評(píng)估開發(fā)板:無規(guī)格

產(chǎn)品類別:全部(或通用)

家族: Spartan 3E

設(shè)備:Nexys-2:XC3S500E

速度:-4

頂級(jí)源類型:HDL

綜合工具:XST(VHDL/Verilog

仿真器:Isim(VHDL/Verilog)

首選語言:VHDL

然后單擊下一步。下一頁將顯示指定輸入和輸出的屏幕。這將設(shè)置第一部分以簡(jiǎn)化工作。首先給信號(hào)起一個(gè)名稱,并對(duì)其進(jìn)行相應(yīng)的輸入或輸出。信號(hào)如下:

a:輸入

b:輸入

c:輸入

d:輸入

e:in

f:in

g:in

clk:in

音頻輸出:out

然后單擊下一步。在下一個(gè)屏幕上,確保所有詳細(xì)信息正確無誤,然后單擊“完成”。這將打開新項(xiàng)目。

步驟4:VHDL背景

此步驟將使您對(duì)所有這些內(nèi)容有一些了解。 VHDL的不同部分實(shí)際上可以做到。為了創(chuàng)建作曲家,我們將需要指定實(shí)體,項(xiàng)目架構(gòu)和兩個(gè)單獨(dú)的流程塊。實(shí)體是輸入和輸出的基礎(chǔ),體系結(jié)構(gòu)將指定每個(gè)信號(hào)和那里的值,而流程塊將處理實(shí)際功能。

源文件頂部的實(shí)體聲明給出每個(gè)輸入和輸出的規(guī)范。在作曲家的情況下,它們是a,b,c等,然后是STD_LOGIC或STD_LOGIC_VECTOR。字母代表值的名稱,STD_LOGIC給出類型。 STD_LOGIC允許像變量一樣一次為該值分配一個(gè)值。 STD_LOGIC_VECTOR允許以總線形式分配多個(gè)值??偩€只是一組捆綁在一起的信號(hào)。但是,對(duì)于作曲家而言,僅使用了STD_LOGIC信號(hào)。

僅在實(shí)體聲明下方指定了體系結(jié)構(gòu)。這給出了源文件的“架構(gòu)”。該體系結(jié)構(gòu)包含前面所述的過程塊以及將用于將信號(hào)值從一個(gè)過程傳輸?shù)搅硪粋€(gè)過程的所有臨時(shí)信號(hào)。結(jié)束架構(gòu)后,文件也將結(jié)束。

然后可以創(chuàng)建流程塊,以實(shí)際使作曲家工作。可以在源文件中找到過程塊的示例。這些段包含帶有信號(hào)的靈敏度列表。其背后的想法是,當(dāng)靈敏度列表中的信號(hào)之一發(fā)生更改時(shí),將運(yùn)行整個(gè)過程塊。在作曲家的情況下,這使我們可以在切換按鈕時(shí)更新發(fā)送到揚(yáng)聲器的信號(hào)。

以上內(nèi)容為VHDL提供了一些背景知識(shí)。但是,強(qiáng)烈建議您先閱讀一些教程,然后再繼續(xù)。以上所有示例均位于源文件中。

步驟5:讓我們開始

FPGA編寫器的制作

在至此,您已經(jīng)準(zhǔn)備好開始作曲家的實(shí)際構(gòu)建。作曲者將需要一個(gè)實(shí)體,體系結(jié)構(gòu)和兩個(gè)流程塊。步驟2中的設(shè)置將為您填寫實(shí)體聲明。它看起來應(yīng)該像第一張圖片。

現(xiàn)在,有趣的部分開始了。首先,指定要在架構(gòu)中各流程塊之間使用的信號(hào)。以下是將要使用的信號(hào)。計(jì)數(shù)器將幫助進(jìn)行分頻,temp_out給我們一個(gè)信號(hào),告知我們可以保留一個(gè)臨時(shí)值,并且音符用于分配要播放的音符。這應(yīng)該看起來像第二張圖片。

在開始之后,我們將放置我們的流程塊。上面給出了信號(hào)和架構(gòu)。

步驟6:設(shè)計(jì)

下一步我們需要開始作曲家的實(shí)際設(shè)計(jì)。第一個(gè)處理塊將用作分頻器。過程聲明的示例如圖3所示。

我們現(xiàn)在將使用時(shí)鐘的50MHz信號(hào)。想法是遞增計(jì)數(shù)器直到達(dá)到閾值,然后在每次達(dá)到該值時(shí)切換temp_out。這將使我們較低的較慢的頻率代表音符的頻率。例如,音符A為440Hz。通過從50MHz除以440Hz,我們可以從時(shí)鐘獲得該頻率。然后我們?nèi)∵@個(gè)值,當(dāng)計(jì)數(shù)器達(dá)到這個(gè)值時(shí),我們切換temp_out,否則我們就簡(jiǎn)單地增加計(jì)數(shù)器。

將頻率分為每個(gè)給定的音符后,我們必須檢查音符的對(duì)應(yīng)開關(guān)是否被按下。這是通過檢查note的值來完成的。如果音符為“ 000”,則按下音符A的開關(guān)。如果音符為“ 010”,則按音符C,依此類推。

最后,我們需要確保音符只能在時(shí)鐘的上升沿播放。這是通過將其包含在檢查上升沿的if語句中來完成的。它應(yīng)該看起來像圖片4。

第7步:頻分

現(xiàn)在實(shí)現(xiàn)了分頻器。由于我們已經(jīng)列出了所有規(guī)范,因此剩下的只是復(fù)制和粘貼并涵蓋所有可能的條件。圖5中提供了設(shè)置了所有音符的整個(gè)分頻器。

請(qǐng)注意,當(dāng)音符為“ 111”時(shí),我們只需將計(jì)數(shù)器復(fù)位并輸出為0。這是因?yàn)樵摪鍍H演奏七個(gè)注釋,我們不希望任何不受支持的開關(guān)的非法值?,F(xiàn)在,我們現(xiàn)在需要存儲(chǔ)temp_out的值以用于揚(yáng)聲器。如圖6所示,這是通過將temp_out分配給音頻輸出來完成的。

這將允許我們保存從上一過程中獲得的頻率并實(shí)際使用它。

步驟8:流程語句

現(xiàn)在,我們繼續(xù)設(shè)計(jì)和實(shí)現(xiàn)第二個(gè)流程塊。第二個(gè)處理塊將處理獲取下一個(gè)狀態(tài)。為了簡(jiǎn)化,我們使用狀態(tài)來表示每個(gè)音符。此狀態(tài)機(jī)將允許我們?cè)谇袚Q開關(guān)時(shí)將其狀態(tài)設(shè)置為所需的每個(gè)音符。例如,當(dāng)按下第一個(gè)開關(guān)時(shí),便會(huì)選擇音符A并將其設(shè)置為下一個(gè)狀態(tài),這會(huì)將值分配給信號(hào)(來自體系結(jié)構(gòu)聲明的音符)。這將使我們能夠在要彈奏音符的第一個(gè)處理塊中進(jìn)行檢查。圖7顯示了帶有靈敏度列表的第二個(gè)過程塊的示例聲明。

接下來,我們指定所有可能的條件,分別按下每個(gè)開關(guān)。我們首先需要檢查是否沒有按下任何開關(guān)。如果沒有一個(gè)開關(guān),則將音符設(shè)置為“ 111”,否則當(dāng)按下一個(gè)開關(guān)時(shí),我們將更改其對(duì)應(yīng)的字母值。例如,當(dāng)按下第一個(gè)開關(guān)時(shí),信號(hào)a將獲得該值。然后在getns內(nèi),我們給分頻器分配要檢查的值。該流程塊使用多個(gè)if和elsif來說明不同的可能性。完成的過程框在圖8中。

注意我們?nèi)绾螜z查是否沒有先按任何音符。這將確保我們僅獲取有效的note值。除此之外,第二個(gè)else內(nèi)部的if和elsif可以確保在沒有切換任何受支持的開關(guān)時(shí),我們不會(huì)意外地為note分配一個(gè)除“ 111”以外的值。

步驟9:將所有內(nèi)容放在一起

至此,我們基本完成了。我們需要做的就是組裝所有VHDL并對(duì)其進(jìn)行合成。合成時(shí)應(yīng)該沒有錯(cuò)誤。此后,預(yù)期的源在圖9、10和11中。

現(xiàn)在,作曲家已經(jīng)完成。下一步是測(cè)試使用刺激以確保其確實(shí)起作用。由于這對(duì)于作曲家的工作并不重要,因此我們?cè)谶@里不解釋測(cè)試。我們的測(cè)試代碼隨該項(xiàng)目的源代碼一起提供。

步驟10:設(shè)置端口映射

快到了!現(xiàn)在,我們需要做的就是分配端口值,以便使作曲家能夠在nexys板上工作。單擊“提前計(jì)劃”即可完成。打開此應(yīng)用程序后,將出現(xiàn)一個(gè)界面,上面有一個(gè)怪異的面板。從那里,我們看到底部的框,其中包含實(shí)體值的端口映射。從這里開始,我們?yōu)槊總€(gè)實(shí)體在板上分配一個(gè)與其正確的開關(guān)相對(duì)應(yīng)的端口。之后,我們需要為揚(yáng)聲器的電線分配端口。完成此操作后,保存并退出?,F(xiàn)在我們可以再次進(jìn)行合成,然后單擊生成編程文件。此后,您需要將啟動(dòng)選項(xiàng)切換為JTAG Clock。通過單擊頂部的“進(jìn)程”,然后單擊“屬性”來完成此操作。在出現(xiàn)的窗口中,在啟動(dòng)選項(xiàng)下選擇JTAG Clock(它最初是CCLK)?,F(xiàn)在,退出該窗口并再次生成編程文件。

步驟11:對(duì)開發(fā)板進(jìn)行編程

現(xiàn)在,打開Digilent的Adept并連接您的開發(fā)板,確保板子打開。熟練的人員應(yīng)自動(dòng)識(shí)別該設(shè)備?,F(xiàn)在,在瀏覽窗口中選擇位文件。一旦選擇,點(diǎn)擊程序。現(xiàn)在,該板已被編程。下一步是連接揚(yáng)聲器。這是通過將導(dǎo)線連接到在“預(yù)先計(jì)劃”中選擇的每個(gè)端口來完成的。然后您就完成了!

步驟12:玩得開心!

與作曲家見面,讓演講者演奏不同的音符。玩得開心!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22040

    瀏覽量

    618180
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【開源分享】:開源小巧的FPGA開發(fā)板——Icepi Zero

    要,就制作自己的板子吧! 特征 Raspberry Pi Zero 外形尺寸 Lattice FPGA 芯片 ECP5U : 24k LUT 112 KiBRAM 一個(gè) MiniGPDI 連接
    發(fā)表于 06-09 14:01

    【國(guó)產(chǎn)FPGA入學(xué)必備】國(guó)產(chǎn)FPGA權(quán)威設(shè)計(jì)指南+配套FPGA圖像視頻教程

    一、《國(guó)產(chǎn)FPGA權(quán)威設(shè)計(jì)指南》簡(jiǎn)介 為更好地服務(wù)廣大FPGA工程師和高等學(xué)校師生,2025,紫光同創(chuàng)攜手金牌方案提供商小眼睛科技,組織了數(shù)十位應(yīng)用技術(shù)專家,共同編寫《國(guó)產(chǎn)FPGA權(quán)威
    發(fā)表于 02-20 15:08

    基于FPGA的圖像邊緣檢測(cè)設(shè)計(jì)

    今天給大俠帶來基于 FPGA 的圖像邊緣檢測(cè)設(shè)計(jì),話不多說,上貨。 設(shè)計(jì)流程如下:mif文件的制作→?調(diào)用 ip 核生成rom以及仿真注意問題→?灰度處理→?均值濾波:重點(diǎn)是3*3 像素陣列的生成
    的頭像 發(fā)表于 02-10 11:30 ?664次閱讀
    基于<b class='flag-5'>FPGA</b>的圖像邊緣檢測(cè)設(shè)計(jì)

    EE-218:為ADSP-TS201 TigerSHARC處理編寫高效浮點(diǎn)FFT

    電子發(fā)燒友網(wǎng)站提供《EE-218:為ADSP-TS201 TigerSHARC處理編寫高效浮點(diǎn)FFT.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 16:46 ?0次下載
    EE-218:為ADSP-TS201 TigerSHARC處理<b class='flag-5'>器</b><b class='flag-5'>編寫</b>高效浮點(diǎn)FFT

    大多數(shù)FPGA的程序存儲(chǔ)(FLASH)為什么都放在外面呢?FPGA的主要應(yīng)用

    FPGA的主要應(yīng)用:? FPGA由于其較高的價(jià)格和成本,決定了FPGA不能像單片機(jī)那樣被廣泛的使用,FPGA的針對(duì)于高端處理市場(chǎng)(類如:手機(jī)處理
    的頭像 發(fā)表于 12-24 11:04 ?1265次閱讀
    大多數(shù)<b class='flag-5'>FPGA</b>的程序存儲(chǔ)<b class='flag-5'>器</b>(FLASH)為什么都放在外面呢?<b class='flag-5'>FPGA</b>的主要應(yīng)用

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法是Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog測(cè)試平臺(tái)設(shè)計(jì)方法及Verilog FPGA開發(fā)
    的頭像 發(fā)表于 12-17 09:50 ?1130次閱讀

    FPGA 與微控制優(yōu)缺點(diǎn)比較

    在現(xiàn)代電子設(shè)計(jì)領(lǐng)域,FPGA和微控制(MCU)是兩種常用的計(jì)算平臺(tái)。它們各自具有獨(dú)特的優(yōu)勢(shì)和局限性,適用于不同的應(yīng)用場(chǎng)景。 性能 FPGA FPGA是一種可編程的硬件,由大量的邏輯單
    的頭像 發(fā)表于 12-02 09:58 ?1191次閱讀

    Verilog vhdl fpga

    崗位職責(zé) 1.負(fù)責(zé)FPGA的架構(gòu)設(shè)計(jì)、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測(cè)試; 3.負(fù)責(zé)項(xiàng)目中FPGA設(shè)計(jì)的相關(guān)文檔編寫及維護(hù);任職要求 1.碩士及以上學(xué)歷,電子
    發(fā)表于 11-12 16:40

    FPGA基礎(chǔ)知識(shí)及設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具

    本文將首先介紹FPGA的基礎(chǔ)知識(shí),包括FPGA的工作原理以及為什么要使用FPGA等,然后討論設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具。
    的頭像 發(fā)表于 11-11 11:29 ?1813次閱讀
    <b class='flag-5'>FPGA</b>基礎(chǔ)知識(shí)及設(shè)計(jì)和執(zhí)行<b class='flag-5'>FPGA</b>應(yīng)用所需的工具

    使用FPGA構(gòu)建ADAS系統(tǒng)簡(jiǎn)易過程

    之前已經(jīng)介紹過《FPGA在汽車電子中應(yīng)用-ADAS》,但是很多人留言說是沒有相關(guān)例程,應(yīng)用不夠直觀,所以,今天他來了-使用FPGA制作一個(gè)便攜式 ADAS 系統(tǒng)(源碼開源)。
    的頭像 發(fā)表于 11-05 09:19 ?705次閱讀

    基于FPGA實(shí)現(xiàn)數(shù)碼管顯示

    本文介紹數(shù)碼管顯示譯碼基本工作原理及Verilog HDL驅(qū)動(dòng)代碼編寫,進(jìn)一步熟練掌握FPGA入門基礎(chǔ)知識(shí)。
    的頭像 發(fā)表于 10-24 14:44 ?1823次閱讀
    基于<b class='flag-5'>FPGA</b>實(shí)現(xiàn)數(shù)碼管顯示

    怎么樣提高verilog代碼編寫水平?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:怎么樣提高verilog代碼編寫水平?Cpu 從事DFT工作。目前僅限于寫一些簡(jiǎn)單模塊。自學(xué)的話如何提高verilog編寫水平
    發(fā)表于 09-25 20:05

    FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL

    崗位職責(zé) 1.負(fù)責(zé)FPGA的架構(gòu)設(shè)計(jì)、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測(cè)試; 3.負(fù)責(zé)項(xiàng)目中FPGA設(shè)計(jì)的相關(guān)文檔編寫及維護(hù); 任職要求 1.碩士及以上學(xué)歷,電
    發(fā)表于 09-15 15:23

    多數(shù)表決電路設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《多數(shù)表決電路設(shè)計(jì)與制作.pptx》資料免費(fèi)下載
    發(fā)表于 09-02 14:42 ?2次下載

    FPGA高速收發(fā)的特點(diǎn)和應(yīng)用

    FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)高速收發(fā)是現(xiàn)代數(shù)字通信系統(tǒng)中不可或缺的關(guān)鍵組件。它們以其高速、靈活和可編程的特性,在多個(gè)領(lǐng)域發(fā)揮著重要作用。以下是對(duì)FPGA高速收發(fā)
    的頭像 發(fā)表于 08-05 15:02 ?1157次閱讀