一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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之基礎(chǔ)篇的技術(shù)分享

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 14:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Verilog基礎(chǔ)語法

1.1 可綜合模塊

以module為單元,具體實(shí)現(xiàn)如下

1.1.1 時(shí)序邏輯

以異步觸發(fā)的D觸發(fā)器為例,時(shí)序邏輯在always塊里實(shí)現(xiàn)

主要注意點(diǎn):

1. 聲明模塊時(shí),輸入變量一定是wire類型

2. 聲明模塊時(shí),輸出變量可以是wire,也可以是reg, reg變量只能在always塊中賦值

3. 敏感列表既可以是邊沿觸發(fā),也可以是電平觸發(fā)

4. 沿觸發(fā)的邏輯里,一定采用的是非阻塞觸發(fā)<=

1.1.2 組合邏輯

以數(shù)據(jù)選擇器為例,組合邏輯通常使用assign語句賦值

主要注意點(diǎn):

1. sel = 0時(shí),c = a;sel = 1時(shí),c =b,即二選一數(shù)據(jù)選擇器。四選一則有兩個(gè)選擇端,四個(gè)輸入端,八選一則是三個(gè)選擇端,八個(gè)輸入端。

2. wire 變量一定要用連續(xù)賦值語句賦值,而且必須用阻塞賦值

1.2 仿真模塊

仿真模塊和可綜合模塊的區(qū)別:

可綜合模塊最終生成的bit文件會(huì)燒錄進(jìn)芯片運(yùn)行,而仿真模塊編譯過后是在仿真軟件(例如modelsim)上運(yùn)行的。仿真模塊是基于可綜合模塊進(jìn)行例化,并通過仿真軟件的模擬,可以初步驗(yàn)證我們寫的可綜合模塊的實(shí)現(xiàn)現(xiàn)象。

以計(jì)數(shù)器為例,可綜合模塊如下:

基于以上可綜合模塊的仿真模塊如下:

1. 仿真的模塊聲明不需要輸入列表

2. initial塊只能對(duì)【寄存器】量進(jìn)行賦值

3. 例化模塊時(shí),如果原始模塊是輸出變量,則括號(hào)內(nèi)必須【wire變量】

HDL常見例子

2.1 譯碼器

2.1.1 可綜合模塊(case語句)

此模塊用case實(shí)現(xiàn)了一個(gè)數(shù)據(jù)選擇的功能,先產(chǎn)生了一個(gè)8位計(jì)數(shù)器,通過判斷計(jì)數(shù)器的值來輸出不同的取值,當(dāng)計(jì)數(shù)器計(jì)數(shù)到1時(shí),o_data和o_dv分別輸出5和1,當(dāng)計(jì)數(shù)器為2時(shí),輸出7和1,其余均輸出0。(Note:Case語句常常運(yùn)用于狀態(tài)機(jī)中狀態(tài)的判斷)

Case語句注意點(diǎn):

必須有default語句,否則會(huì)形成鎖存器

2.1.2 仿真模塊

2.2 狀態(tài)機(jī)

由于FPGA內(nèi)部語句塊都是并行運(yùn)行的,當(dāng)我們希望FPGA按照順序執(zhí)行我們的語句時(shí),就會(huì)用到狀態(tài)機(jī)。

下面例子是使用狀態(tài)機(jī)模擬的一個(gè)簡單的自動(dòng)售貨機(jī),該售貨機(jī)中的商品 2.5 元一件,每次投幣既能投入 1 元, 也能投入 0.5 元,當(dāng)投入 3 元時(shí),需要設(shè)定找零。

2.2.1 狀態(tài)圖

2.2.2 可綜合模塊(2段式狀態(tài)機(jī))

2.2.3 仿真模塊

2.2.4 仿真腳本

仿真腳本可以省去人工操作modelsim軟件圖形頁面的步驟,運(yùn)行腳本,modelsim可以根據(jù)腳本命令自動(dòng)運(yùn)行包括創(chuàng)建工作目錄,編譯文件,啟動(dòng)仿真等步驟,以下是本例中的仿真腳本。

仿真腳本編寫好后,只需要進(jìn)入仿真軟件(本例使用的是modelsim),改變當(dāng)前路徑到腳本保存的路徑,然后在modelsim命令行輸入 do [腳本文件名]即可。

仿真結(jié)果:

2.2.5 上板測試

上板測試對(duì)原來的條件做了一定改動(dòng)更方便觀測結(jié)果,輸入和輸出分別使用的按鍵和LED燈,測試版使用的是Anlogic的EF3L40CG332B_DEV,實(shí)現(xiàn)的功能如下:

① 在開發(fā)板上完成自動(dòng)售貨機(jī)的實(shí)驗(yàn),投幣的動(dòng)作通過按鍵實(shí)現(xiàn), 當(dāng)按一次按鍵(按下到抬起算一次),算作投幣一次;

② 按鍵有兩個(gè),按下分別代表 5 毛和 1 元,可樂售價(jià) 2.5 元;

③ 當(dāng)投入總金額為 5 毛時(shí), led 燈亮一個(gè),投入總金額為 1 元時(shí), led 燈亮兩個(gè), 投入總金額為 1.5 元時(shí), led 燈亮三個(gè), 投入總金額為 2 元時(shí), led 亮四個(gè), 用單向流水燈效果充當(dāng)出可樂并且不找零的情況,用雙向流水燈效果充當(dāng)既出可樂又找零的情況。流水燈持續(xù)十秒后熄滅,狀態(tài)回到初始狀態(tài)。

重新設(shè)計(jì)狀態(tài)圖如下:

代碼詳見工程fsm_key,筆記不再贅述,此次筆記主要記錄關(guān)于頂層模塊和例化的相關(guān)知識(shí)點(diǎn):

工程目錄如下所示:

各模塊之間的關(guān)系是:

頂層文件是fsm.v,在fsm.v中調(diào)用了模塊led_water_single,led_Water_double和key_debounce,這三個(gè)模塊的功能分別是單向流水燈,雙向流水燈和按鍵消抖。想在頂層文件中調(diào)用對(duì)應(yīng)的模塊需要在頂層文件中對(duì)相應(yīng)的模塊進(jìn)行例化,以單向流水燈為例。

單向流水燈的聲明如下:

(具體功能實(shí)現(xiàn)代碼略,如有需要,請(qǐng)登錄www.fortune-co.com留言)

那么在fsm.v中例化方法如下:

括號(hào)外的信號(hào)是對(duì)應(yīng)的聲明信號(hào);括號(hào)內(nèi)的信號(hào)是從fsm模塊中傳入的信號(hào),該信號(hào)名稱可以自定義。

整個(gè)工程的框架如下:(由于本實(shí)驗(yàn)沒有另外寫一個(gè)總的TOP文件,而是將例化和狀態(tài)機(jī)信號(hào)處理都放在了fsm模塊中,因此top層和狀態(tài)機(jī)模塊都標(biāo)注的是fsm)

其中key05,key10,就是從外界接入的信號(hào),led[7:0]即輸出信號(hào)。接入信號(hào)我們要引到對(duì)應(yīng)的按鍵,可以參考EF3L40CG332B_DEV的原理圖

SW2和SW3對(duì)應(yīng)的FPGA的管腳分別是R19和R20,同理可查,八個(gè)led的對(duì)應(yīng)腳,并寫出相應(yīng)的管腳約束文件

管腳約束文件寫完后,在可綜合模塊頂層文件中的輸入輸出信號(hào)就會(huì)對(duì)應(yīng)到相應(yīng)的物理輸入輸出,也可以使用圖形頁面設(shè)置。

完成后編譯下載到板子上觀測現(xiàn)象。

在本次實(shí)驗(yàn)的過程中也發(fā)生了一個(gè)編程錯(cuò)誤問題,剛編寫完上板測試時(shí)發(fā)現(xiàn)結(jié)果和預(yù)想的有差異,具體錯(cuò)處在輸入3元進(jìn)入雙向流水燈的狀態(tài)時(shí),雙向流水燈正向流水正常,當(dāng)反向流水時(shí),在倒數(shù)第二個(gè)燈會(huì)卡住,然后反復(fù)亮滅倒數(shù)一二個(gè)燈,沒法完成反向流水。

由于第一次正向流水是正常的,因此推測是在反向流水時(shí)有條件判斷錯(cuò)誤使得反向流水無法正常運(yùn)行,進(jìn)入到led_water_double模塊關(guān)于反向流水燈的操作模塊,經(jīng)查驗(yàn)發(fā)現(xiàn)是設(shè)置翻轉(zhuǎn)標(biāo)志的時(shí)候判斷條件寫錯(cuò)了。

判斷條件應(yīng)該是led == 8’b1111_1110,更改后,實(shí)驗(yàn)現(xiàn)象符合預(yù)期要求。

以上是FPGA雜記基礎(chǔ)篇的第一部分,因文章篇幅所限,本文先分享到這里。后續(xù)會(huì)有更多的基于FPGA的設(shè)計(jì)文章,敬請(qǐng)期待……

文章來源:潤欣科技Fortune微信公眾號(hào)


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

    關(guān)注

    1645

    文章

    22028

    瀏覽量

    617727
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    2025智多晶FPGA技術(shù)研討會(huì)成功舉辦

    近日,“2025智多晶FPGA技術(shù)研討會(huì)”在武漢成功舉辦。本次交流會(huì)以“智繪新篇 晶質(zhì)領(lǐng)航”為主題,智多晶專業(yè)技術(shù)團(tuán)隊(duì)在會(huì)上揭曉了公司匠心打造的多款FPGA芯片新產(chǎn)品、多項(xiàng)新應(yīng)用方案。
    的頭像 發(fā)表于 07-01 18:21 ?681次閱讀

    PLL技術(shù)FPGA中的動(dòng)態(tài)調(diào)頻與展頻功能應(yīng)用

    隨著現(xiàn)代電子系統(tǒng)的不斷發(fā)展,時(shí)鐘管理成為影響系統(tǒng)性能、穩(wěn)定性和電磁兼容性(EMI)的關(guān)鍵因素之一。在FPGA設(shè)計(jì)中,PLL因其高精度、靈活性和可編程性而得到廣泛應(yīng)用,本文將深入探討PLL技術(shù)FPGA中的動(dòng)態(tài)調(diào)頻與展頻功能應(yīng)用。
    的頭像 發(fā)表于 06-20 11:51 ?856次閱讀
    PLL<b class='flag-5'>技術(shù)</b>在<b class='flag-5'>FPGA</b>中的動(dòng)態(tài)調(diào)頻與展頻功能應(yīng)用

    米爾出席2025安路科技FPGA技術(shù)沙龍

    2025年6月12日,由安路科技主辦的2025FPGA技術(shù)沙龍?jiān)谀暇┱秸匍_,深圳市米爾電子有限公司(簡稱:米爾電子)作為國產(chǎn)FPGA的代表企業(yè)出席此次活動(dòng)。米爾電子發(fā)表演講,并展出米爾基于安路飛
    的頭像 發(fā)表于 06-19 08:04 ?590次閱讀
    米爾出席2025安路科技<b class='flag-5'>FPGA</b><b class='flag-5'>技術(shù)</b>沙龍

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

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

    擁抱開源!一起來做FPGA開發(fā)板啦!

    第二期FPGA技術(shù)直播:時(shí)序分析及時(shí)序約束; 9、8月26日,全網(wǎng)第六次發(fā)布開源項(xiàng)目進(jìn)展,開展第三期FPGA技術(shù)直播:開發(fā)FPGA板卡實(shí)
    發(fā)表于 06-06 14:05

    2025安路科技AEC-FPGA技術(shù)沙龍啟航

    2025年度安路科技AEC-FPGA技術(shù)沙龍以“定制未來,共建生態(tài)”為主題已經(jīng)全新啟航,自2018年舉辦以來,安路科技FPGA研討會(huì)憑借專業(yè)和創(chuàng)新,吸引了無數(shù)行業(yè)專家、技術(shù)精英以及企業(yè)
    的頭像 發(fā)表于 06-05 11:33 ?413次閱讀

    零死角玩轉(zhuǎn)STM32——初級(jí)

    本文共4冊(cè),由于資料內(nèi)存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《零死角玩轉(zhuǎn) STM32》系列教程由初級(jí)、中級(jí)、高級(jí)、系統(tǒng)、四個(gè)部分組成,更適合初學(xué)者,步步為營
    發(fā)表于 05-21 13:48

    電子工程師自學(xué)速成——入門

    本文共3冊(cè),由于資料內(nèi)存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 電子工程師自學(xué)速成分為:入門、提高和設(shè)計(jì),本文為入門,內(nèi)容包括電子
    發(fā)表于 05-15 15:50

    MRAM存儲(chǔ)替代閃存,FPGA升級(jí)新技術(shù)

    電子發(fā)燒友網(wǎng)綜合報(bào)道,日前,萊迪思宣布在FPGA設(shè)計(jì)上前瞻性的布局,使其能夠結(jié)合MRAM技術(shù),推出了包括Certus-NX、CertusPro-NX和Avant等多款創(chuàng)新產(chǎn)品。這些FPGA器件采用
    發(fā)表于 03-08 00:10 ?663次閱讀

    FPGA中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理

    2014年的論文:《CACHE FOR FLOW CONTENT: SOLUTION TODEPENDENT PACKET PROCESSING IN FPGA》,主要講述在FPGA中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理。感興趣的可以閱讀
    的頭像 發(fā)表于 10-27 16:06 ?658次閱讀
    <b class='flag-5'>FPGA</b>中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理

    FPGA技術(shù)對(duì)5G通信的影響

    FPGA(現(xiàn)場可編程門陣列)技術(shù)對(duì)5G通信產(chǎn)生了深遠(yuǎn)的影響,主要體現(xiàn)在提高性能、降低功耗、增強(qiáng)靈活性和安全性等方面。以下是對(duì)FPGA技術(shù)對(duì)5G通信影響的分析: 一、提高性能 硬件加速
    的頭像 發(fā)表于 10-25 09:22 ?1298次閱讀

    Primemas選擇Achronix eFPGA技術(shù)用于Chiplet平臺(tái)

    高性能 FPGA 和嵌入式FPGA (eFPGA) IP 的領(lǐng)導(dǎo)者 Achronix Semiconductor Corporation 和使用Chiplet 技術(shù)開發(fā)創(chuàng)新 SoC H
    的頭像 發(fā)表于 09-18 16:16 ?929次閱讀

    用EEPROM存儲(chǔ)遇到的技術(shù)問題,看這一就夠了!

    用EEPROM存儲(chǔ)遇到的技術(shù)問題,看這一就夠了!
    的頭像 發(fā)表于 09-05 15:54 ?1951次閱讀

    FPGA技術(shù)的主要應(yīng)用

    FPGA(Field-Programmable Gate Array)技術(shù),即現(xiàn)場可編程門陣列,是一種可編程邏輯設(shè)備,它允許設(shè)計(jì)人員根據(jù)具體需求進(jìn)行靈活的硬件配置和功能實(shí)現(xiàn)。由于其高度的可重構(gòu)性
    的頭像 發(fā)表于 07-17 16:38 ?4820次閱讀

    基于FPGA的人臉識(shí)別技術(shù)

    基于FPGA(現(xiàn)場可編程邏輯門陣列)的人臉識(shí)別技術(shù),是一種結(jié)合了高效并行處理能力和靈活可編程性的先進(jìn)圖像處理解決方案。這種技術(shù)在安全監(jiān)控、身份認(rèn)證、人機(jī)交互等領(lǐng)域具有廣泛應(yīng)用前景。以下將詳細(xì)介紹基于
    的頭像 發(fā)表于 07-17 11:42 ?2146次閱讀