在线观看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。回到quartus中,將參數修改成為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,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    零基學習LuatOS編程:快速上手開發實戰教程!

    無論你是剛接觸物聯網編程的新手,還是希望拓展技能的技術愛好者,本教程將為零基礎的讀者提供一條清晰的LuatOS學習路徑。從安裝開發工具到編寫第一個程序,我們將通過實例講解核心概念,助你快速實現從理論
    的頭像 發表于 06-13 17:27 ?99次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>學習</b>LuatOS編程:快速上手開發實戰教程!

    【「零基礎開發AI Agent」閱讀體驗】+讀《零基礎開發AI Agent》掌握扣子平臺開發智能體方法

    收到發燒友網站寄來的《零基礎開發AI Agent》這本書已經有好些天了,這段時間有幸拜讀了一下全書,掌握了一個開發智能體的方法。 該書充分從零基礎入手,先闡述了Agent是什么,它的基本概念和知識
    發表于 05-14 19:51

    【「零基礎開發AI Agent」閱讀體驗】+ 入門篇學習

    很高興又有機會學習ai技術,這次試讀的是「零基礎開發AI Agent」,作者葉濤、管鍇、張心雨。 大模型的普及是近三年來的一件大事,萬物皆可大模型已成為趨勢。作為大模型開發應用中重要組成部分,提示詞
    發表于 05-02 09:26

    【RA-Eco-RA4M2開發板評測】點燈實現6種LED花式流水燈操作

    很高興收到瑞薩電子提供的RA4M2開發板,這次帖子就專門用來說說專業點燈操作,實現各種花式的流水燈,可以十分方便地控制LED的各種狀態,甚至多個LED組合控制,如跑馬燈等。 打開原理圖,可以看到3個
    發表于 04-28 21:28

    【RA-Eco-RA4M2開發板評測】使用串口通信實現花樣流水燈操作

    串口使用USB串口吧,節省USB口線!!!!! 使用串口通信實現花樣流水燈操作,本次測評通過使用串口助手發送數據來控制RA4M2的流水燈操作,總共有9中模式: (1)發送0,3個LED全滅 (2
    發表于 04-27 21:33

    【RA-Eco-RA4M2開發板評測】2 初識GPIO流水燈

    工作原理 熟悉單片機的朋友都知道,學習的第一個例程就是流水燈,要想實現流水燈,首先必須了解GPIO的工作原理。GPIO的基本結構如下圖所示。 Figure ? GPIO的基本結構 和其他
    發表于 04-25 23:06

    【「零基礎開發AI Agent」閱讀體驗】+初品Agent

    期待中的《零基礎開發AI Agent——手把手教你用扣子做智能體》終于寄到了,該書由葉濤、 管鍇、張心雨完成,并由電子工業出版社出版發行。 全書分為三個部分,即入門篇、工具篇及實踐篇。由此可見這是
    發表于 04-22 11:51

    零基學習一階RC低通濾波器(從原理到實踐)

    *附件:零基學習一階RC低通濾波器(從原理到實踐).docx
    發表于 03-26 14:35

    #中國香河英茂科工#STC32G12K128#屠龍刀三.2 流水燈例程

    流水燈
    丙丁先生
    發布于 :2025年01月19日 14:19:35

    Vivado Tcl零基礎入門與案例實戰【高亞軍編著】

    Vivado Tcl零基礎入門與案例實戰-高亞軍編寫
    發表于 01-14 11:13

    【正點原子STM32H7R3開發套件試用體驗】流水燈

    【正點原子STM32H7R3開發套件試用體驗】流水燈 本文介紹了使用 STM32CubeMX 輔助配置 GPIO 及晶振參數,實現流水燈的方法。 工程創建 1.打開 STM32CubeMX 軟件
    發表于 12-28 18:51

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

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

    零基礎入門PCB工程師

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

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

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

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

    具體實現功能(1)9種LED流水燈模式通過按鍵進行切換,數碼管顯示流水燈模式。(2)通過加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻
    的頭像 發表于 10-22 14:12 ?646次閱讀
    基于51單片機的跑馬燈/<b class='flag-5'>流水燈</b>系統
    主站蜘蛛池模板: 午夜黄色小视频 | 丝袜美腿视频一区二区三区 | 亚洲一区二区三区深夜天堂 | 人人干人人艹 | 在线观看深夜观看网站免费 | 久久精品国产精品亚洲毛片 | 日本高清免费aaaaa大片视频 | 最新免费jlzzjlzz在线播放 | sss在线play| 亚洲男人的天堂久久香蕉网 | 亚洲香蕉国产高清在线播放 | 复古毛片| 一区二区三区无码高清视频 | 天堂网bt | 欧美3d动漫网站 | 色偷偷中文字幕 | 七月婷婷精品视频在线观看 | 国产一级特黄老妇女大片免费 | 欧美精品一二区 | 一区视频 | 222aaa天堂 | 波多野结衣在线观看一区二区三区 | sihu在线| 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 操碰视频在线观看 | 成人国内精品久久久久影院 | 免费香蕉视频国产在线看 | 精品福利 | 日韩成a人片在线观看日本 日韩成人黄色 | 成人a级特黄毛片 | 免费看成年视频网页 | 国产高清一区二区三区 | 国产一区中文字幕 | 色婷婷影视 | 中文字幕一区二区三区免费看 | 日本欧洲亚洲一区在线观看 | 性欧美xxxx视频 | 久久国产乱子伦精品免 | 日韩高清在线日韩大片观看网址 | 在线观看黄色的网站 | 午夜色大片在线观看 |