91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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)聲器和輔助電纜)。如果尚未購買nexys板,請先開始。這些可以直接通過Digilent或通過外部賣家(如Amazon)購買。之后,請?jiān)L問www.xilinx.com下載Xilinx。最后,獲取指定的揚(yáng)聲器系統(tǒng)和輔助電纜。然后,熟悉VHDL并熟練使用Xilinx。這將確保以下步驟不會造成混亂。

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

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

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

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

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

家族: Spartan 3E

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

速度:-4

頂級源類型:HDL

綜合工具:XST(VHDL/Verilog

仿真器:Isim(VHDL/Verilog)

首選語言:VHDL

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

a:輸入

b:輸入

c:輸入

d:輸入

e:in

f:in

g:in

clk:in

音頻輸出:out

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

步驟4:VHDL背景

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

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

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

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

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

步驟5:讓我們開始

FPGA編寫器的制作

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

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

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

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

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

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

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

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

第7步:頻分

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

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

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

步驟8:流程語句

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

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

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

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

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

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

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

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

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

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

步驟12:玩得開心!

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

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

    關(guān)注

    1662

    文章

    22448

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    為何選擇Altera FPGA實(shí)現(xiàn)傳感接口

    面向多種實(shí)時邊緣應(yīng)用場景,基于 FPGA 的傳感解決方案正以卓越的可擴(kuò)展性、后量子密碼 (PQC) 級安全及 AI 能力脫穎而出。
    的頭像 發(fā)表于 01-19 09:43 ?1773次閱讀
    為何選擇Altera <b class='flag-5'>FPGA</b>實(shí)現(xiàn)傳感<b class='flag-5'>器</b>接口

    MarketsandMarkets FPGA行業(yè)報(bào)告,2026~2030 FPGA市場洞察

    2025年10月,全球知名市場研究與商業(yè)洞察權(quán)威咨詢機(jī)構(gòu) MarketsandMarkets 發(fā)布?Field-Programmable Gate Array (FPGA) MarketSize
    的頭像 發(fā)表于 11-20 13:20 ?563次閱讀
    MarketsandMarkets <b class='flag-5'>FPGA</b>行業(yè)報(bào)告,2026~2030 <b class='flag-5'>FPGA</b>市場洞察

    如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫測試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫測試。SRAM是一種非易失性存儲,具有高速讀取和寫入的特點(diǎn)。在FPGA中實(shí)現(xiàn)SRAM讀寫測試,包括設(shè)計(jì)SRAM接口模塊
    的頭像 發(fā)表于 10-22 17:21 ?4448次閱讀
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上實(shí)現(xiàn)SRAM的讀寫測試

    AMD Spartan UltraScale+ FPGA的優(yōu)勢和亮點(diǎn)

    AMD Spartan UltraScale+ FPGA 集小型封裝、先進(jìn)的 I/O 功能與低功耗等優(yōu)勢于一體。該系列 FPGA 配備高速 16.3 Gb/s 收發(fā)、內(nèi)置的外部內(nèi)存控制
    的頭像 發(fā)表于 10-17 10:16 ?849次閱讀
    AMD Spartan UltraScale+ <b class='flag-5'>FPGA</b>的優(yōu)勢和亮點(diǎn)

    基于FPGA開發(fā)板TSP的串口通信設(shè)計(jì)

    本文詳細(xì)介紹基于Terasic FPGA開發(fā)板TSP(又名C5P和OSK)和其板載CP2102N USB-UART橋接芯片的串口通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)采用Verilog HDL編寫UART收發(fā)控制,通過CP2102N實(shí)現(xiàn)
    的頭像 發(fā)表于 10-15 11:05 ?4555次閱讀
    基于<b class='flag-5'>FPGA</b>開發(fā)板TSP的串口通信設(shè)計(jì)

    聊聊FPGA中的TDC原理

    今天我們不談高大上的物理學(xué),只聊聊如何在 FPGA 中,用一串加法器和 D 觸發(fā),“數(shù)清楚時間”——這就是時間數(shù)字轉(zhuǎn)換(TDC)的魅力。
    的頭像 發(fā)表于 09-02 15:15 ?2375次閱讀
    聊聊<b class='flag-5'>FPGA</b>中的TDC原理

    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程制作方案和應(yīng)用(2)

    索尼的遠(yuǎn)程制作可以被稱之為制作級的高質(zhì)量遠(yuǎn)程制作,或重載設(shè)備的高質(zhì)量遠(yuǎn)程制作,遠(yuǎn)程設(shè)備結(jié)合常規(guī)系統(tǒng)設(shè)備,提供和本地制作類似的
    的頭像 發(fā)表于 08-21 15:56 ?1290次閱讀
    索尼重載設(shè)備的高質(zhì)量遠(yuǎn)程<b class='flag-5'>制作</b>方案和應(yīng)用(2)

    【老法師】多核異構(gòu)處理中M核程序的啟動、編寫和仿真

    有很多研究單片機(jī)的小伙伴在面對多核異構(gòu)處理時,可能會對多核的啟動流程感到困惑——因?yàn)椴皇煜CC編程和GDB調(diào)試,所以也無法確定多核異構(gòu)處理的程序是否能像單片機(jī)那樣方便地編寫和仿真。本篇
    的頭像 發(fā)表于 08-13 09:05 ?4056次閱讀
    【老法師】多核異構(gòu)處理<b class='flag-5'>器</b>中M核程序的啟動、<b class='flag-5'>編寫</b>和仿真

    Altera Agilex? 3 FPGA和SoC FPGA

    3器件將Altera Hyperlex FPGA架構(gòu)集成到這些較小器件中,與以前的成本優(yōu)化型系列Cyclone V以及更高速收發(fā)相比,性能提高了1.9倍,并為LPDDR4增加了內(nèi)存支持。小尺寸對于
    的頭像 發(fā)表于 08-06 11:41 ?4267次閱讀
    Altera Agilex? 3 <b class='flag-5'>FPGA</b>和SoC <b class='flag-5'>FPGA</b>

    RTL級機(jī)器人電機(jī)控制FPGA設(shè)計(jì)

    借助Verilog,在FPGA中實(shí)現(xiàn)了帶編碼的兩臺電機(jī)的電機(jī)控制系統(tǒng)的RTL級設(shè)計(jì)。
    的頭像 發(fā)表于 07-07 14:01 ?2967次閱讀
    RTL級機(jī)器人電機(jī)控制<b class='flag-5'>器</b>的<b class='flag-5'>FPGA</b>設(shè)計(jì)

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

    數(shù)字視頻?!蹦壳笆袌錾献顝?qiáng)大的FPGA板既昂貴又笨重。我一直想要一個具有視頻輸出功能的低成本便攜式FPGA制作我自己的CPU,但市場上沒有。IcepiZero旨
    的頭像 發(fā)表于 06-10 08:05 ?1640次閱讀
    【干貨分享】:開源小巧的<b class='flag-5'>FPGA</b>開發(fā)板——Icepi Zero

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

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

    FPGA調(diào)試方式之VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一種用于調(diào)試和測試FPGA設(shè)計(jì)的IP核,它允許設(shè)計(jì)者通過JTAG接口實(shí)時讀取和寫入FPGA內(nèi)部的寄存,從而檢查設(shè)計(jì)的運(yùn)行狀態(tài)并修改其行為。VIO IP核提供
    的頭像 發(fā)表于 06-09 09:32 ?4215次閱讀
    <b class='flag-5'>FPGA</b>調(diào)試方式之VIO/ILA的使用

    智多晶FPGA設(shè)計(jì)工具HqFpga接入DeepSeek大模型

    在 AI 賦能工程設(shè)計(jì)的時代浪潮中,智多晶率先邁出關(guān)鍵一步——智多晶正式宣布旗下 FPGA 設(shè)計(jì)工具 HqFpga 接入 DeepSeek 大模型,并推出 FPGA 設(shè)計(jì)專屬 AI 助手——晶小助!這是
    的頭像 發(fā)表于 06-06 17:06 ?1618次閱讀

    Why FPGA開發(fā)板喜歡FMC?

    插槽,使用母座FMC連接。載卡連接引腳與具有可配置IO資源的芯片例如FPGA引腳通過PCB設(shè)計(jì)連接在一起。FMC子板模塊:子板模塊上使用公座FMC連接。子卡通過設(shè)計(jì)不同的IO接口
    的頭像 發(fā)表于 04-14 09:52 ?1929次閱讀
    Why <b class='flag-5'>FPGA</b>開發(fā)板喜歡FMC?