精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

基于FPGA點亮LED燈

CHANBAEK ? 來源:小小研究生 ? 作者:xxyjs2020 ? 2023-05-11 17:31 ? 次閱讀

設計流程:

設計規劃--波形繪制--編寫代碼--代碼編譯--編寫testbench--對比波形--綁定管腳--全編譯--上板驗證

設計規劃

使用用戶手冊,了解硬件資源,這個示例中需要用到按鍵和LED燈:

1、按鍵

在沒有按鍵按下時,輸出高電平(紅色); 當按鍵按下的時候,被按下的按鍵端會輸出低電平(藍色)。

圖片

2、LED燈

FPGA 輸出低電平時,LED 點亮,當 LED 輸出高電平時,沒有電位差,LED 燈熄滅。

圖片

由上可知:需要實現的功能是,當按下按鍵時(key_in=0,PIN_M16管腳),LED燈要被點亮(led_out=0,PIN_A2管腳)。 此處波形非常簡單,省略畫波形的步驟,對于復雜電路還是需要畫波形來理清思路。 這里波形應該是key與led波形一致。

打開quartus,新建工程。

圖片

圖片

編寫代碼

編寫.v文件,代碼如下:

module led
(
input wire key_in , //輸入按鍵
output wire led_out //輸出控制led燈
);
//led_out:led燈輸出的結果為key_in按鍵的輸入值
assign led_out = key_in;
endmodule

將.v文件添加到文件目錄下,右鍵Files文件夾選擇添加.v文件,添加完成后可以在Files下看到添加的.v文件:

圖片

代碼編譯

點擊如圖所示的圖標,可以檢查語法是否有錯,綜合器將代碼解釋為電路的形式。 綠色表示通過。

圖片

圖片

點擊RTL viewer可以查看設計的硬件電路結構,和我們設計所表達的意思相同

圖片

編寫testbench

Testbench是測試電路功能和性能的腳本。 在線邏輯分析雖然好用但是每次修改代碼都需要綜合一次,而使用testbench做仿真的速度就很快,所以一開始就應該編寫testbench以便后面大型電路的驗證。

testbench就是產生輸入波形,加入到被測模塊上并觀測其輸出,和我們之前畫好的波形進行比對。

編寫.v文件

`timescale 1ns/1ns    //時間尺度/時間精度,時間精度<=時間尺度
module tb_led();    


wire led_out ;
reg key_in ;
//初始化輸入信號
initial key_in <= 1'b0;


//key_in:產生輸入隨機數,模擬按鍵的輸入情況
always #10 key_in <= {$random} % 2; /*取模求余數,產生非負隨機數0、1
每隔10ns產生一次隨機數*/


//\\* Instantiate \\//
led led_inst
(
.key_in (key_in ), //input key_in


.led_out(led_out) //output led_out
);


endmodule

tb_led模塊中,首先定義初始的輸入信號為低電平(一般時序電路使用非阻塞賦值<=),延遲10個時間單位(ns)產生隨機數0或1賦值給輸入,就完成了輸入信號的波形設計。 根據上一節中實例化的講解,第2-5行和第14-19行完成的功能是將上一個led.v文件中led模塊與tb_led模塊相連。 這樣隨機生成的輸入信號就被加到led模塊上,并得到輸出led_out,通過驗證led_out與我們期望的輸出是否一致,就知道我們的設計是否正確。

圖片

和之前的操作一樣,將這個tb_led.v文件添加到Files文件下。 然后在quartus的菜單欄中找到assignments-setting,如圖所示。

圖片

圖片

對比波形

設置完成后,點擊菜單欄的tools-run simulation tool-RTL simulation,能自動打開modelsim說明之前的關聯操作是成功的,如果不成功,在上一節中看怎么關聯。 得到波形如圖,觀察得知led_out波形與key_in波形一致。

圖片

分配管腳

圖片

在開發板用戶手冊中就有對應管腳,按鍵有三個,我們選擇M16的S0作為key_in,LED有四個,我們選擇A2的LED0作為led_out。

圖片

全編譯

全編譯需要進行布局布線,管腳綁定后就可以對全局進行布局布線了。 沒有錯誤就可以上板了,有錯誤的話根據提示改。

圖片

上板驗證

圖片

上板是需要安裝USB_blaster驅動的,在設備管理器中如果USB-blaster有黃色感嘆號需要右鍵更新,文件在安裝文件quartus-drivers-USBblaster或USBblaster ii中。 安裝完成后感嘆號消失。

圖片

再點start,右上角的progress到100%,開發板就下載完成了。

圖片

按著按鍵A0不放,LED0一直被點亮,松手就關閉。

圖片

這樣最簡單的小設計就實現了,堅持到這里就成功了一半哦。

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

    關注

    1626

    文章

    21678

    瀏覽量

    602043
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    107851
  • usb
    usb
    +關注

    關注

    60

    文章

    7903

    瀏覽量

    264054
  • 按鍵
    +關注

    關注

    4

    文章

    223

    瀏覽量

    57576
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97217
收藏 人收藏

    評論

    相關推薦

    點亮STM32、FPGA和Liunx板子的LED

    摘要:你點亮過多少板子的LED呢?有很多小伙伴要求講一下STM32、FPGA、Liunx三者之間有什么不同。其實不同點很多,口說無憑,今天就來點亮
    的頭像 發表于 04-18 11:16 ?9223次閱讀

    匯編點亮LED——極簡的魅力

    介紹4句匯編語言點亮LED
    的頭像 發表于 04-27 08:58 ?78.8w次閱讀
    匯編<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>——極簡的魅力

    FPGA點亮led

    從網上下載的一個例子,作為菜鳥的我,希望大家能夠喜歡!
    發表于 05-02 10:52

    怎樣通過FPGA點亮開發板上的LED

    怎樣去設計V0開發板LED部分的電路?怎樣通過FPGA點亮開發板上的LED
    發表于 07-26 06:46

    使用STM32點亮LED的方法

    摘要:不知道小伙伴們點亮過多少板子的LED,有很多小伙伴留言說講一下stm32、fpga、liunx他們之間有什么不同,不同點很多,口說無憑,今天就來
    發表于 11-29 06:14

    FPGA開發板中點亮LED實現時序邏輯電路的設計

    時電路狀態的影響。在本篇文章中,我們通過兩個實例介紹如何點亮LED實現流水燈來講解時序邏輯電路。如何點亮LED
    發表于 07-22 15:25

    LED點亮程序

    LED點亮程序,適合初學者使用,單片機c語言程序。
    發表于 03-15 10:42 ?6次下載

    如何使用單片機點亮LED

    我們學單片機,第一個程序就是點亮一盞LED,那么我單片機開啟面向對象方式的第一步也是點亮一盞LED
    發表于 07-16 17:39 ?4次下載
    如何使用單片機<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    如何使用寄存器點亮LED

    本文檔的主要內容詳細介紹的是如何使用寄存器點亮LED
    發表于 04-15 17:00 ?10次下載
    如何使用寄存器<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    點亮LED的源代碼免費下載

    本文檔的主要內容詳細介紹的是點亮LED的源代碼免費下載。
    發表于 09-14 08:00 ?1次下載
    <b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的源代碼免費下載

    史上最全的LED點燈程序—使用STM32、FPGA、Linux點亮你的LED

    摘要:不知道小伙伴們點亮過多少板子的LED,有很多小伙伴留言說講一下stm32、fpga、liunx他們之間有什么不同,不同點很多,口說無憑,今天就來
    發表于 11-19 13:36 ?20次下載
    史上最全的<b class='flag-5'>LED</b>點燈程序—使用STM32、<b class='flag-5'>FPGA</b>、Linux<b class='flag-5'>點亮</b>你的<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    51單片機——點亮一個LED

    51單片機——點亮一個LED文章目錄51單片機——點亮一個LED一、原理圖二、
    發表于 11-23 18:06 ?16次下載
    51單片機——<b class='flag-5'>點亮</b>一個<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    使用STM32、SFPGA和I.MX6ULL IO點亮LED

    摘要:你點亮過多少板子的LED呢?有很多小伙伴要求講一下STM32、FPGA、Liunx他們之間有什么不同。不同點很多,口說無憑,今天就來點亮
    的頭像 發表于 03-12 09:24 ?2910次閱讀

    點亮LED條開源分享

    電子發燒友網站提供《點亮LED條開源分享.zip》資料免費下載
    發表于 11-18 09:17 ?4次下載
    <b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>條開源分享

    簡單的LED電路并點亮

    電子發燒友網站提供《簡單的LED電路并點亮.zip》資料免費下載
    發表于 02-03 09:23 ?1次下載
    簡單的<b class='flag-5'>LED</b><b class='flag-5'>燈</b>電路并<b class='flag-5'>點亮</b>