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

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

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

3天內不再提示

【教程分享】FPGA零基礎學習:LED流水燈設計

電子發燒友論壇 ? 來源:未知 ? 2023-03-14 09:20 ? 次閱讀

本系列將帶來FPGA的系統性學習,從最基本的數字電路基礎開始,最詳細操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息通信類專業學生、初入職場小白及打算進階提升的職業開發者都可以有系統性學習的機會。

系統性的掌握技術開發以及相關要求,對個人就業以及職業發展都有著潛在的幫助,希望對大家有所幫助。后續會陸續更新 Xilinx 的 Vivado、ISE 及相關操作軟件的開發的相關內容,學習FPGA設計方法及設計思想的同時,實操結合各類操作軟件,會讓你在技術學習道路上無比的順暢,告別技術學習小BUG卡破腦殼,告別目前忽悠性的培訓誘導,真正的去學習去實戰應用,這種快樂試試你就會懂的。話不多說,上貨。

LED流水燈設計

在學習軟件設計時,第一個例程總是“hello world!”,那么學習硬件時,也會有硬件的“hello world”------流水燈。本篇硬件基于叁芯智能科技的 SANXIN-B01開發板,如有想要入手,可查看以下鏈接,官方淘寶店已上架。

在FPGA開發板上有四個LED,我們要做的流水燈,顧名思義就是要LED像流水一樣的點亮熄滅。直白點說就是,點亮第一個一段時間,然后熄滅第一個的同時,點亮第二個·····。在此,我們設置每一個LED點亮的時間為1秒鐘。

硬件介紹

在我們的開發板上有四個LED,設計邏輯為:FPGA輸出高電平時,LED點亮;FPGA輸出低電平時,LED熄滅。

da425626-c205-11ed-bfe3-dac502259ad0.png

架構設計和信號說明

da5cd5fa-c205-11ed-bfe3-dac502259ad0.png

本設計的模塊名稱為ledrun。

da638f76-c205-11ed-bfe3-dac502259ad0.png


建立工程、新建文件等步驟在專輯前篇中已經明確羅列,以后將不再敘述。這里給出超鏈接,方便參考學習。

FPGA零基礎學習:Intel FPGA 開發流程

設計代碼

da7f116a-c205-11ed-bfe3-dac502259ad0.png

parameter可以定義一個參數(默認是32位)。在寫代碼時,對于某些數字,設計者經常利用定義參數的方式進行編寫,方便修改,也方便閱讀。

在硬件電路中,使用計數器當做計時器,每記錄一個數字等于過去一個時鐘周期。由于本設計中采用的clk為50MHz,所以經過50_000_000(在verilog中,如果是描述數字,中間的下劃線只起到分隔的作用,不影響數值的大?。﹤€周期正好為1秒鐘。由于計數器是從0開始計數,所以計數器只需要記錄到50_000_000-1即可。

為了能夠記錄到50_000_000-1這么大的數字,所以定義了一個26位的計數器cnt(參考附錄1:設計中位寬的概念和計算位寬的小技巧)。

在verilog中,“{}”( 大括號)的第一個特殊作用為位拼接。{a,b}相當于將a和b拼接為一個整體,并且是高位為a,低位為b。

當led輸出為4’b0001時,第一個led點亮;經過1秒鐘,輸出4’b0010時,第二個led點亮;經過1秒鐘,輸出4’b0100時,第三個led點亮;經過1秒鐘,輸出4’b1000時,第四個led點亮;經過1秒鐘,輸出4’b0001時,第一個led點亮······按照上述的過程周而復始,就形成了流水燈。

不難發現,led的輸出,一直為3個0,1個1。并且1的位置每1秒鐘移動一次,從頭到尾,然后又到頭。這種現象可以利用移位的思想進行實現。即:led[3]<=led[2]; led[2]<=led[1]; led[1]<=led[0]; led[0]<=led[3];如果將被賦值的組成一個整體,那就是led,賦值的組成一個整體就是{led[2:0], led[3]}。

仿真代碼

da8e9bc6-c205-11ed-bfe3-dac502259ad0.png

$stop是一個系統任務,功能為將modelsim的仿真停止。

設置好testbench后,運行分析綜合后,打開RTL仿真。

波形分析

在modelsim中,打開sim窗口,選擇ledrun_tb下的ledrun_inst。

daa7a602-c205-11ed-bfe3-dac502259ad0.png

打開objects,將cnt選中。

dabaa478-c205-11ed-bfe3-dac502259ad0.png

objects窗口中顯示在sim窗口中選中模塊中所有的信號。

右擊,將其添加入波形窗口。

dac2e110-c205-11ed-bfe3-dac502259ad0.png

返回到wave窗口中,cnt信號已經添加到wave窗口中。由于新添加進來,沒有數據(no data)。

dacbdd88-c205-11ed-bfe3-dac502259ad0.png

點擊restart。

daecd9a2-c205-11ed-bfe3-dac502259ad0.png

restart按鈕為重新運行波形,點擊后,軟件會詢問是否保持各種屬性,點擊ok即可。

db08dd8c-c205-11ed-bfe3-dac502259ad0.png

wave窗口中所有的波形都處于no data 狀態。點擊run –all按鈕,開始運行波形。

db23072a-c205-11ed-bfe3-dac502259ad0.png

運行后,會自動停止。停止在tb文件中的$stop處。

返回wave窗口,各個信號都會有波形。

設置cnt的信號進制為無符號的十進制:右擊cnt信號,選擇radix中的unsigned。

db396dee-c205-11ed-bfe3-dac502259ad0.png

把光標放到復位結束時,選擇放大波形。

放大按鈕的左側第一個按鈕為全局縮放,功能為將所有運行波形,顯示到目前的窗口里;左側第二個為縮小。最左邊和最右邊的按鈕暫時用不到,這里不再介紹。

db433f4a-c205-11ed-bfe3-dac502259ad0.png

可以看到,在復位結束后,cnt信號每一個時鐘周期都會增加1。

由于我們設計的流水燈是每1秒鐘流動一個,在上述的仿真中,led數值是不會變化的。如果仿真幾秒鐘的話,仿真的時間會比較長。在此不建議仿真幾秒鐘的時長,有可能會導致電腦卡住。

仿真時,可以將T_1s的值,改成一個較小值。例如:5。然后在此編譯仿真。

quartus的編譯器中,修改完后。進行綜合分析,保證沒有任何語法錯誤。在之前打開的modelsim中,打開library窗口,找到最上面的work,打開其前面的“+”。

db490ace-c205-11ed-bfe3-dac502259ad0.png

選中剛才修改過的文件,右擊,選擇recompile。此時,modelsim會重新編譯此文件。

回到wave窗口中,點擊restart,run-all。運行波形。

能夠清楚的看到,led在進行移位,并且都是5個周期移動一次。

db635e4c-c205-11ed-bfe3-dac502259ad0.png

仿真通過后,關閉modelsim?;氐絨uartus中,將參數修改成為50_000_000,綜合分析后,分配管腳。布局布線,生成配置文件,進行下板測試。

開發板上的四個LED開始做流水狀點亮。


本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com

db7f1e70-c205-11ed-bfe3-dac502259ad0.png

熱門推薦干貨好文

1、RK3568!四核64位ARMv8.2A架構,匯聚編譯源碼及實戰樣例

2、開源作品秀,教你如何DIY一款自己的聲源跟蹤小車

3、從零入門物聯網OH開源平臺,從簡單到高階項目,創客、電子愛好者都愛用!

4、低成本ESP32方案,支持OpenHarmony系統開發(附10+項目樣例Demo)

5、從0到1玩轉瑞薩RA4系列開發板,教你變著花樣玩板子

6、四核64位,超強CPU ,看RK3568“競”開發板DEMO!

7、人工智能也能這么玩, 簡單快速入手,還能自定義AI運算

8、全部開源 | 基于全志V85X的運動相機,工業網關,可穿戴式攝像頭

9、高性能雙核RISC-V,滿足大多數開發,這款國產MCU工程師都愛


原文標題:【教程分享】FPGA零基礎學習:LED流水燈設計

文章出處:【微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。


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

原文標題:【教程分享】FPGA零基礎學習:LED流水燈設計

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    低成本單片機方案——觸摸流水燈開關控制

    概述本方案旨在提供一種基于低成本單片機的觸摸流水燈開關控制解決方案。該方案結合了單片機技術、電容式觸摸傳感技術和LED驅動技術,實現了通過觸摸操作控制流水燈的效果。
    的頭像 發表于 12-26 16:37 ?97次閱讀
    低成本單片機方案——觸摸<b class='flag-5'>流水燈</b>開關控制

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】MDK+點燈+流水燈

    ” 文件,在 hal_entry 函數里面編寫我們的代碼。 直接運行,燈會常亮 流水燈實驗,延遲200ms
    發表于 12-15 15:59

    零基礎入門PCB工程師

    各位前輩大家好,零基礎入門PCB工程師,有什么學習資料推薦嗎?
    發表于 11-27 16:54

    零基礎嵌入式開發學習路線

    “嵌入式開發”沒有接觸過的同學可能會不明覺厲,但是只要你了解了,感興趣并且有一個正確的學習路線的話,零基礎也能入門。給大家介紹一個簡單易懂的學習路線,讓你能夠從開始
    發表于 10-25 15:55

    基于51單片機的跑馬燈/流水燈系統

    具體實現功能(1)9種LED流水燈模式通過按鍵進行切換,數碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻
    的頭像 發表于 10-22 14:12 ?230次閱讀
    基于51單片機的跑馬燈/<b class='flag-5'>流水燈</b>系統

    FPGA 實驗一:流水燈模塊

    實驗一:流水燈模塊 對于發展商而言,動土儀式無疑是最重要的任務。為此,流水燈實驗作為低級建模II的動土儀式再適合不過了。廢話少說,我們還是開始實驗吧。 圖1.1 實驗一建模圖。 如圖1.1 所示
    發表于 06-10 09:38

    單片機POV LED流水燈制作

    電子發燒友網站提供《單片機POV LED流水燈制作.docx》資料免費下載
    發表于 05-28 14:34 ?3次下載

    【紫光同創盤古PGX-Nano教程】——(盤古PGX-Nano開發板/PG2L50H_MBG324第三章)鍵控流水燈實驗例程

    )改變繼而調整流水燈的狀態; 按鍵消抖模塊 前后抖動時間約為5~10ms,取按鍵抖動區間開始標識,持續10-20ms后標識歸,在抖動區間內輸出保持,非消抖區間,按鍵狀態輸出。 LED控制模塊
    發表于 04-29 16:06

    【紫光同創盤古PGX-MINI-4K教程】——(盤古PGX-MINI-4K開發板/PGC4KD-6ILPG144第二章)LED 流水燈實驗例程

    載 jtag 調試接口, 預留兩組 20PIN 擴展 IO、數碼管、按鍵、led 燈等硬件資源,為用戶提供基本的 開發環境。 二:實驗目的掌握流水燈原理并實現流水燈 三:實驗要求流水燈
    發表于 03-26 16:24

    【紫光同創盤古PGX-Lite 7K教程】——(盤古PGX-Lite 7K開發板/PGC7KD-6IMBG256第二章)?LED 流水燈實驗例程

    流水燈原理并實現流水燈 三:實驗要求流水燈:8 個 LED 以 0.5s 間隔接替閃爍 四:實驗原理相比上一個 LED 閃爍的實現,只需
    發表于 03-20 15:07

    51單片機流水燈制作

    ?流水燈學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一種51單片機流水燈制作的方法。 一、
    的頭像 發表于 02-26 10:06 ?1632次閱讀
    51單片機<b class='flag-5'>流水燈</b>制作

    從入門到放棄……為什么你會覺得FPGA難學?如何學習FPGA

    問:本人零基礎,想學FPGA,求有經驗的人說說,我應該從哪入手,應該看什么教程,應該用什么學習板和開發板,看什么書等,希望有經驗的好心人能夠給我一些引導。 如果想速成,那就上網看視頻吧,這樣主要
    的頭像 發表于 02-02 17:04 ?784次閱讀
    從入門到放棄……為什么你會覺得<b class='flag-5'>FPGA</b>難學?如何<b class='flag-5'>學習</b><b class='flag-5'>FPGA</b>?

    SPICONTROLE 4個HC595移位寄存器設置流水燈時,在SPIIINTIGRATIONED化了的時候,控制的HC595 LED跳了起來如何解決?

    采用 SPICONTROLE 4個HC595移位寄存器,在設置流水燈的時候了,SPICONTROLLES正常,但是在SPIIINTIGRATIONED化了的時候,控制的HC595的LED跳了起來。請問該如何解決。例子比如:初始化時裝的時候全部,但是還有幾個燈一直是亮的。
    發表于 01-29 08:06

    【紫光同創國產FPGA教程】——(PGL22G第二章)鍵控流水燈實驗例程

    5~10ms,取按鍵抖動區間開始標識,持續 10-20ms 后標識歸,在抖動區間內輸出保持,非消抖區間,按鍵狀態輸出。 LED 控制模塊功能 3 種流水燈模式有按鍵傳遞過來的計數控制切換,每一個
    發表于 01-05 11:22

    【紫光同創國產FPGA教程】——(PGL22G第一章)LED流水燈實驗例程

    PGL22G開發平臺(盤古EU 22K) 一:盤古EU 22K開發板簡介 盤古EU 22K開發板共有11個翠綠LED燈,其中1個是電源指示燈(POWER);2個是FPGA的運行狀態指示燈
    發表于 01-02 18:04
    主站蜘蛛池模板: 日本黄色免费网址| 欧美性猛交ⅹxxx乱大交免费| 日韩亚洲人成在线综合日本 | аⅴ资源天堂8在线| 精品福利视频网| 免费一级特黄特色大片在线| 五月婷婷丁香色| 亚洲精品一卡2卡3卡三卡四卡| 四虎影院在线免费观看| 国产精品15p| 911精品国产91久久久久| 亚洲成年| 欧美在线天堂| 天堂网2018| 2021韩国理论片ok电影天堂 | 99pao强力打造免费高清色| 四虎永久精品视频在线| cao草棚视频网址成人| 伊人黄色网| 色偷偷资源| 天天想夜夜操| 精品一区二区三区在线视频| 六月婷婷七月丁香| 九月色婷婷| 五月婷婷激情综合网| 91色多多| 亚洲 午夜在线一区| 美剧免费在线观看| 岛国毛片| 中文字幕一区二区三区永久| 欧美日韩一区二区三区视频| 色花堂国产精品首页第一页| 在线观看成人网| 成人网久久| 亚洲欧美视频在线观看| 免费国产zzzwww色| 999久久久免费精品国产牛牛| 色婷婷综合激情| 天天操天天谢| 一级特黄色片| 一级骚片超级骚在线观看|