一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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ǔ)學(xué)習(xí):LED流水燈設(shè)計(jì)

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-03-14 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本系列將帶來FPGA的系統(tǒng)性學(xué)習(xí),從最基本的數(shù)字電路基礎(chǔ)開始,最詳細(xì)操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學(xué)生、初入職場(chǎng)小白及打算進(jìn)階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學(xué)習(xí)的機(jī)會(huì)。

系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對(duì)個(gè)人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對(duì)大家有所幫助。后續(xù)會(huì)陸續(xù)更新 Xilinx 的 Vivado、ISE 及相關(guān)操作軟件的開發(fā)的相關(guān)內(nèi)容,學(xué)習(xí)FPGA設(shè)計(jì)方法及設(shè)計(jì)思想的同時(shí),實(shí)操結(jié)合各類操作軟件,會(huì)讓你在技術(shù)學(xué)習(xí)道路上無比的順暢,告別技術(shù)學(xué)習(xí)小BUG卡破腦殼,告別目前忽悠性的培訓(xùn)誘導(dǎo),真正的去學(xué)習(xí)去實(shí)戰(zhàn)應(yīng)用,這種快樂試試你就會(huì)懂的。話不多說,上貨。

LED流水燈設(shè)計(jì)

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

在FPGA開發(fā)板上有四個(gè)LED,我們要做的流水燈,顧名思義就是要LED像流水一樣的點(diǎn)亮熄滅。直白點(diǎn)說就是,點(diǎn)亮第一個(gè)一段時(shí)間,然后熄滅第一個(gè)的同時(shí),點(diǎn)亮第二個(gè)·····。在此,我們?cè)O(shè)置每一個(gè)LED點(diǎn)亮的時(shí)間為1秒鐘。

硬件介紹

在我們的開發(fā)板上有四個(gè)LED,設(shè)計(jì)邏輯為:FPGA輸出高電平時(shí),LED點(diǎn)亮;FPGA輸出低電平時(shí),LED熄滅。

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

架構(gòu)設(shè)計(jì)和信號(hào)說明

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

本設(shè)計(jì)的模塊名稱為ledrun。

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


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

FPGA零基礎(chǔ)學(xué)習(xí):Intel FPGA 開發(fā)流程

設(shè)計(jì)代碼

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

parameter可以定義一個(gè)參數(shù)(默認(rèn)是32位)。在寫代碼時(shí),對(duì)于某些數(shù)字,設(shè)計(jì)者經(jīng)常利用定義參數(shù)的方式進(jìn)行編寫,方便修改,也方便閱讀。

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

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

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

當(dāng)led輸出為4’b0001時(shí),第一個(gè)led點(diǎn)亮;經(jīng)過1秒鐘,輸出4’b0010時(shí),第二個(gè)led點(diǎn)亮;經(jīng)過1秒鐘,輸出4’b0100時(shí),第三個(gè)led點(diǎn)亮;經(jīng)過1秒鐘,輸出4’b1000時(shí),第四個(gè)led點(diǎn)亮;經(jīng)過1秒鐘,輸出4’b0001時(shí),第一個(gè)led點(diǎn)亮······按照上述的過程周而復(fù)始,就形成了流水燈。

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

仿真代碼

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

$stop是一個(gè)系統(tǒng)任務(wù),功能為將modelsim的仿真停止。

設(shè)置好testbench后,運(yùn)行分析綜合后,打開RTL仿真。

波形分析

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

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

打開objects,將cnt選中。

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

objects窗口中顯示在sim窗口中選中模塊中所有的信號(hào)。

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

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

返回到wave窗口中,cnt信號(hào)已經(jīng)添加到wave窗口中。由于新添加進(jìn)來,沒有數(shù)據(jù)(no data)。

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

點(diǎn)擊restart。

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

restart按鈕為重新運(yùn)行波形,點(diǎn)擊后,軟件會(huì)詢問是否保持各種屬性,點(diǎn)擊ok即可。

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

wave窗口中所有的波形都處于no data 狀態(tài)。點(diǎn)擊run –all按鈕,開始運(yùn)行波形。

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

運(yùn)行后,會(huì)自動(dòng)停止。停止在tb文件中的$stop處。

返回wave窗口,各個(gè)信號(hào)都會(huì)有波形。

設(shè)置cnt的信號(hào)進(jìn)制為無符號(hào)的十進(jìn)制:右擊cnt信號(hào),選擇radix中的unsigned。

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

把光標(biāo)放到復(fù)位結(jié)束時(shí),選擇放大波形。

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

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

可以看到,在復(fù)位結(jié)束后,cnt信號(hào)每一個(gè)時(shí)鐘周期都會(huì)增加1。

由于我們?cè)O(shè)計(jì)的流水燈是每1秒鐘流動(dòng)一個(gè),在上述的仿真中,led數(shù)值是不會(huì)變化的。如果仿真幾秒鐘的話,仿真的時(shí)間會(huì)比較長(zhǎng)。在此不建議仿真幾秒鐘的時(shí)長(zhǎng),有可能會(huì)導(dǎo)致電腦卡住。

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

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

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

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

回到wave窗口中,點(diǎn)擊restart,run-all。運(yùn)行波形。

能夠清楚的看到,led在進(jìn)行移位,并且都是5個(gè)周期移動(dòng)一次。

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

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

開發(fā)板上的四個(gè)LED開始做流水狀點(diǎn)亮。


本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com

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

熱門推薦干貨好文

1、RK3568!四核64位ARMv8.2A架構(gòu),匯聚編譯源碼及實(shí)戰(zhàn)樣例

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

3、從零入門物聯(lián)網(wǎng)OH開源平臺(tái),從簡(jiǎn)單到高階項(xiàng)目,創(chuàng)客電子愛好者都愛用!

4、低成本ESP32方案,支持OpenHarmony系統(tǒng)開發(fā)(附10+項(xiàng)目樣例Demo)

5、從0到1玩轉(zhuǎn)瑞薩RA4系列開發(fā)板,教你變著花樣玩板子

6、四核64位,超強(qiáng)CPU ,看RK3568“競(jìng)”開發(fā)板DEMO!

7、人工智能也能這么玩, 簡(jiǎn)單快速入手,還能自定義AI運(yùn)算

8、全部開源 | 基于全志V85X的運(yùn)動(dòng)相機(jī),工業(yè)網(wǎng)關(guān),可穿戴式攝像頭

9、高性能雙核RISC-V,滿足大多數(shù)開發(fā),這款國(guó)產(chǎn)MCU工程師都愛


原文標(biāo)題:【教程分享】FPGA零基礎(chǔ)學(xué)習(xí):LED流水燈設(shè)計(jì)

文章出處:【微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


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

原文標(biāo)題:【教程分享】FPGA零基礎(chǔ)學(xué)習(xí):LED流水燈設(shè)計(jì)

文章出處:【微信號(hào):gh_9b9470648b3c,微信公眾號(hào):電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【沁恒CH585開發(fā)板免費(fèi)試用體驗(yàn)】GPIO 流水燈

    開發(fā)環(huán)境: IDE:MounRiver Studio MCU:CH585 1 GPIO工作原理 熟悉單片機(jī)的朋友都知道,學(xué)習(xí)的第一個(gè)例程就是流水燈,要想實(shí)現(xiàn)流水燈,首先必須了解GPIO的工作原理
    發(fā)表于 07-04 22:55

    【教程】零基礎(chǔ)!手把手教你使用STM32F4進(jìn)行E22-400T22S編程通信

    通過本文帶大家零基礎(chǔ)使用STM32F407VET6單片機(jī)進(jìn)行E22-400T22S模塊編程并進(jìn)行簡(jiǎn)單的通信,當(dāng)然如果學(xué)會(huì)了,也可以舉一反三應(yīng)用于E22、E220、E32所有模塊上。一STM32環(huán)境
    的頭像 發(fā)表于 07-03 19:32 ?234次閱讀
    【教程】<b class='flag-5'>零基</b>礎(chǔ)!手把手教你使用STM32F4進(jìn)行E22-400T22S編程通信

    零基礎(chǔ)學(xué)習(xí)LuatOS編程:快速上手開發(fā)實(shí)戰(zhàn)教程!

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

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗(yàn)】+讀《零基礎(chǔ)開發(fā)AI Agent》掌握扣子平臺(tái)開發(fā)智能體方法

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

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗(yàn)】+ 入門篇學(xué)習(xí)

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

    【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】點(diǎn)燈實(shí)現(xiàn)6種LED花式流水燈操作

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

    【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】2 初識(shí)GPIO流水燈

    工作原理 熟悉單片機(jī)的朋友都知道,學(xué)習(xí)的第一個(gè)例程就是流水燈,要想實(shí)現(xiàn)流水燈,首先必須了解GPIO的工作原理。GPIO的基本結(jié)構(gòu)如下圖所示。 Figure ? GPIO的基本結(jié)構(gòu) 和其他
    發(fā)表于 04-25 23:06

    零基礎(chǔ)學(xué)習(xí)一階RC低通濾波器(從原理到實(shí)踐)

    *附件:零基礎(chǔ)學(xué)習(xí)一階RC低通濾波器(從原理到實(shí)踐).docx
    發(fā)表于 03-26 14:35

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

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

    Vivado Tcl零基礎(chǔ)入門與案例實(shí)戰(zhàn)【高亞軍編著】

    Vivado Tcl零基礎(chǔ)入門與案例實(shí)戰(zhàn)-高亞軍編寫
    發(fā)表于 01-14 11:13

    【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】流水燈

    【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】流水燈 本文介紹了使用 STM32CubeMX 輔助配置 GPIO 及晶振參數(shù),實(shí)現(xiàn)流水燈的方法。 工程創(chuàng)建 1.打開 STM32CubeMX 軟件
    發(fā)表于 12-28 18:51

    低成本單片機(jī)方案——觸摸流水燈開關(guān)控制

    概述本方案旨在提供一種基于低成本單片機(jī)的觸摸流水燈開關(guān)控制解決方案。該方案結(jié)合了單片機(jī)技術(shù)、電容式觸摸傳感技術(shù)和LED驅(qū)動(dòng)技術(shù),實(shí)現(xiàn)了通過觸摸操作控制流水燈的效果。
    的頭像 發(fā)表于 12-26 16:37 ?817次閱讀
    低成本單片機(jī)方案——觸摸<b class='flag-5'>流水燈</b>開關(guān)控制

    零基礎(chǔ)入門PCB工程師

    各位前輩大家好,零基礎(chǔ)入門PCB工程師,有什么學(xué)習(xí)資料推薦嗎?
    發(fā)表于 11-27 16:54

    零基礎(chǔ)嵌入式開發(fā)學(xué)習(xí)路線

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

    基于51單片機(jī)的跑馬燈/流水燈系統(tǒng)

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