在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA之基礎篇的技術分享

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 14:02 ? 次閱讀

Verilog基礎語法

1.1 可綜合模塊

以module為單元,具體實現如下

1.1.1 時序邏輯

以異步觸發的D觸發器為例,時序邏輯在always塊里實現

主要注意點:

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

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

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

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

1.1.2 組合邏輯

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

主要注意點:

1. sel = 0時,c = a;sel = 1時,c =b,即二選一數據選擇器。四選一則有兩個選擇端,四個輸入端,八選一則是三個選擇端,八個輸入端。

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

1.2 仿真模塊

仿真模塊和可綜合模塊的區別:

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

以計數器為例,可綜合模塊如下:

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

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

2. initial塊只能對【寄存器】量進行賦值

3. 例化模塊時,如果原始模塊是輸出變量,則括號內必須【wire變量】

HDL常見例子

2.1 譯碼器

2.1.1 可綜合模塊(case語句)

此模塊用case實現了一個數據選擇的功能,先產生了一個8位計數器,通過判斷計數器的值來輸出不同的取值,當計數器計數到1時,o_data和o_dv分別輸出5和1,當計數器為2時,輸出7和1,其余均輸出0。(Note:Case語句常常運用于狀態機中狀態的判斷)

Case語句注意點:

必須有default語句,否則會形成鎖存器

2.1.2 仿真模塊

2.2 狀態機

由于FPGA內部語句塊都是并行運行的,當我們希望FPGA按照順序執行我們的語句時,就會用到狀態機。

下面例子是使用狀態機模擬的一個簡單的自動售貨機,該售貨機中的商品 2.5 元一件,每次投幣既能投入 1 元, 也能投入 0.5 元,當投入 3 元時,需要設定找零。

2.2.1 狀態圖

2.2.2 可綜合模塊(2段式狀態機)

2.2.3 仿真模塊

2.2.4 仿真腳本

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

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

仿真結果:

2.2.5 上板測試

上板測試對原來的條件做了一定改動更方便觀測結果,輸入和輸出分別使用的按鍵和LED燈,測試版使用的是Anlogic的EF3L40CG332B_DEV,實現的功能如下:

① 在開發板上完成自動售貨機的實驗,投幣的動作通過按鍵實現, 當按一次按鍵(按下到抬起算一次),算作投幣一次;

② 按鍵有兩個,按下分別代表 5 毛和 1 元,可樂售價 2.5 元;

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

重新設計狀態圖如下:

代碼詳見工程fsm_key,筆記不再贅述,此次筆記主要記錄關于頂層模塊和例化的相關知識點:

工程目錄如下所示:

各模塊之間的關系是:

頂層文件是fsm.v,在fsm.v中調用了模塊led_water_single,led_Water_double和key_debounce,這三個模塊的功能分別是單向流水燈,雙向流水燈和按鍵消抖。想在頂層文件中調用對應的模塊需要在頂層文件中對相應的模塊進行例化,以單向流水燈為例。

單向流水燈的聲明如下:

(具體功能實現代碼略,如有需要,請登錄www.fortune-co.com留言)

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

括號外的信號是對應的聲明信號;括號內的信號是從fsm模塊中傳入的信號,該信號名稱可以自定義。

整個工程的框架如下:(由于本實驗沒有另外寫一個總的TOP文件,而是將例化和狀態機信號處理都放在了fsm模塊中,因此top層和狀態機模塊都標注的是fsm)

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

SW2和SW3對應的FPGA的管腳分別是R19和R20,同理可查,八個led的對應腳,并寫出相應的管腳約束文件

管腳約束文件寫完后,在可綜合模塊頂層文件中的輸入輸出信號就會對應到相應的物理輸入輸出,也可以使用圖形頁面設置。

完成后編譯下載到板子上觀測現象。

在本次實驗的過程中也發生了一個編程錯誤問題,剛編寫完上板測試時發現結果和預想的有差異,具體錯處在輸入3元進入雙向流水燈的狀態時,雙向流水燈正向流水正常,當反向流水時,在倒數第二個燈會卡住,然后反復亮滅倒數一二個燈,沒法完成反向流水。

由于第一次正向流水是正常的,因此推測是在反向流水時有條件判斷錯誤使得反向流水無法正常運行,進入到led_water_double模塊關于反向流水燈的操作模塊,經查驗發現是設置翻轉標志的時候判斷條件寫錯了。

判斷條件應該是led == 8’b1111_1110,更改后,實驗現象符合預期要求。

以上是FPGA雜記基礎篇的第一部分,因文章篇幅所限,本文先分享到這里。后續會有更多的基于FPGA的設計文章,敬請期待……

文章來源:潤欣科技Fortune微信公眾號


審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21799

    瀏覽量

    606144
  • 觸發器
    +關注

    關注

    14

    文章

    2008

    瀏覽量

    61364
收藏 人收藏

    評論

    相關推薦

    FPGA中有狀態表項的存儲與管理

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

    FPGA技術對5G通信的影響

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

    Primemas選擇Achronix eFPGA技術用于Chiplet平臺

    高性能 FPGA 和嵌入式FPGA (eFPGA) IP 的領導者 Achronix Semiconductor Corporation 和使用Chiplet 技術開發創新 SoC H
    的頭像 發表于 09-18 16:16 ?603次閱讀

    FPGA技術的主要應用

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

    基于FPGA的人臉識別技術

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

    FPGA設計經驗圖像處理

    今天和大俠簡單聊一聊基于FPGA的圖像處理,之前也和各位大俠聊過相關的圖像處理,這里面也超鏈接了幾篇,具體如下: 圖像邊緣檢測算法體驗步驟(Photoshop,Matlab)算法
    發表于 06-12 16:26

    硬件---電路設計ADC采樣

    硬件---電路設計ADC采樣 在現代電子領域中,模擬數字轉換器(ADC)扮演著關鍵的角色,作為將模擬信號轉換為數字形式的核心技術。ADC的出色性能和廣泛應用使其成為數字系統、通信設備和各種傳感器
    的頭像 發表于 05-10 15:42 ?8257次閱讀
    硬件<b class='flag-5'>篇</b>---電路設計<b class='flag-5'>之</b>ADC采樣

    中高端FPGA如何選擇

    時間。 這里的NOC和Routing的策略還是非常有意思的,大家有興趣的話,我們可以專門再寫一文章來介紹Achronix FPGA中的NOC。 3.Memory
    發表于 04-24 15:09

    FPGA技術的五大優勢

    各行各業紛紛采用FPGA芯片是源于FPGA融合了ASIC和基于處理器的系統的最大優勢。 FPGA能夠提供硬件定時的速度和穩定性,且無需類似自定制ASIC設計的巨額前期費用的大規模投入。
    發表于 04-23 15:50 ?1262次閱讀

    fpga封裝技術和arm架構的優缺點

    FPGA封裝技術和ARM架構是兩個不同的概念,分別屬于硬件設計的不同領域。
    的頭像 發表于 03-26 15:51 ?995次閱讀

    fpga封裝技術有哪些應用領域

    總的來說,FPGA封裝技術憑借其高性能、靈活性和可靠性,在多個領域發揮著重要作用。隨著技術的不斷進步和應用需求的增長,FPGA封裝技術的應用
    的頭像 發表于 03-26 15:49 ?683次閱讀

    fpga是什么技術

    FPGA技術,即現場可編程門陣列技術,是一種在可編程邏輯器件的基礎上進一步發展的產物。它作為專用集成電路(ASIC)領域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。
    的頭像 發表于 03-14 16:48 ?780次閱讀

    科普 | 一文了解FPGA技術知識

    架構 FPGA 硬件三大指標:制程、門級數及 SERDES 速率,配套 EDA 軟件工具同樣重要。比較 FPGA 產品可以從技術指標入手。從 FPGA 內部結構來看,主要包括
    發表于 03-08 14:57

    為什么對FPGA軟件進行測評?

    FPGA軟件包含進行設計而產生的程序、文檔和數據,同時包含與相關的軟件特性和硬件特性。FPGA軟件測試需要考慮軟件代碼正確性、軟硬件接口協調性、時序性等方面的全面覆蓋。
    發表于 03-06 11:39 ?823次閱讀

    深企“芯”勢力:科通技術爭當FPGA創新應用先鋒

    數字化浪潮之下,芯片技術是連接現在與未來的橋梁,更是影響科技產品質效的核心要素。憑借在現場可編程門陣列(FPGA)領域的出色表現,深圳市科通技術股份有限公司(下文簡稱“科通技術”)成為
    的頭像 發表于 02-27 14:10 ?402次閱讀
    主站蜘蛛池模板: 欧美色图网站 | 天天干天天操天天舔 | 亚洲码欧美码一区二区三区 | 五月天福利视频 | 日本一级高清不卡视频在线 | 91精品国产91久久久久久青草 | 女人扒开腿让男人桶到爽 | 天堂最新版免费观看 | 色天使美国 | 可以免费看黄的网站 | 国产成人综合欧美精品久久 | 色老头在线精品视频在线播放 | 亚洲wwww| 一本大道加勒比久久 | 日韩中文视频 | 调教双性学霸美人 | 亚洲毛片儿 | 国产夜夜操 | 窝窝午夜看片成人精品 | 狠狠干夜夜爽 | 精品国产成人系列 | 美女视频大全美女视频黄 | 三级成人影院 | 国产黄色网 | 婷婷丁香四月 | 色综合天天色 | 四虎伦理| 天天成人 | 热门国产xvideos中文 | 六月婷婷网 | 国产成人影视 | 国产无套粉嫩白浆 | 高清欧美日本视频免费观看 | 新版天堂中文网 | 99热网址| 艹逼视频免费看 | 欧美18性欧美丶黑吊 | 日韩a毛片 | 亚洲vv| 中文字幕乱码人成乱码在线视频 | 黄色在线观看国产 |