91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

通過點燈邏輯體驗FPGA的編程流程

電子森林 ? 來源:FPGA入門到精通 ? 作者:FPGA入門到精通 ? 2021-02-02 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“點燈”是我們板農們拿到一塊板子后第一個要實現(xiàn)的目標,正如軟件工程師嘗試新的語言必然會先寫出“hello world”一樣。

學習FPGA也不例外,不要小瞧這只小小的LED,它能在你學習的路上帶給你光明,引導一個門外漢跨進可編程邏輯世界的大門!

作為“寒假在家一起練”的第二次直播講座,我們今天就基于1個LED做了1個多小時的分享,從創(chuàng)建第一個FPGA項目、寫下第一句Verilog代碼,到調用FPGA的IP Cores,體驗了FPGA的設計流程以及Verilog的基本語法規(guī)范。

用的平臺是這款:

96bb413a-5fd1-11eb-8b86-12bb97331649.png

模塊MIcroUSB右側白色的小東東就是一只用FPGA的IO連接的LED,左側的一只是電源指示燈,只要板上電源工作正常它就能亮。而FPGA連接的LED則可以通過編程FPGA內部的邏輯實現(xiàn)不同的狀態(tài)。

BTW,蘇老師所有的FPGA項目中最前面的幾行代碼肯定是一個每秒跳動一次的“心跳燈”,看著它跳動,心安。

先簡單說一下點燈的要素 -LED點燈的工作原理

9782aca2-5fd1-11eb-8b86-12bb97331649.png

LED的典型連接方式

燈亮以及燈亮時的亮度取決于下面的因素:

供電電源和控制管腳之間的壓差一定要大于LED的正向偏壓Vbias燈才能亮,否則是滅的。不同的器件,不同顏色的LED其偏壓也是不同的,要看數(shù)據(jù)手冊;

改變電阻值R1(我們一般稱之為限流電阻), I = (3.3V-Vbias)/R1也就發(fā)生了變化,LED的亮度也跟著變;

已經設計好的板子,限流電阻的值已經可能動態(tài)地改變,如果要調整LED的亮度,就要調節(jié)流經LED和限流電阻上的平均電流;

項目1 - 讓LED燈亮起來:

創(chuàng)建項目一個新項目- LED

創(chuàng)建Verilog代碼 module(led),體會Verilog的語法結構;

module LED (led); output led; assign led = 1'b0; endmodule

編譯

分配管腳(查找管腳映射表,通過電路圖或項目中的表格)

生成jed文件

查看資源占用情況

下載到16管腳的FPGA模塊上

項目2 - 讓LED燈跳動起來

在module的端口中添加clk的輸入信號

在verilog邏輯中通過計數(shù)分頻產生12M/223(~1.5Hz) 的周期信號,體會wire、reg的區(qū)別以及計數(shù)分頻的實現(xiàn)方法

module LED (clk_in,led);input clk_in;output led; reg [23:0] counter; always @(posedge clk_in) counter = counter + 1'b1; assign led = counter[23]; endmodule

編譯

分配管腳中補充新的clk管腳

生成jed文件

查看資源占用情況

下載到16管腳的FPGA模塊上

項目3 - 讓LED燈每秒剛好跳動1次

修改Verilog邏輯,能夠產生精準的1Hz的周期信號,體會偶數(shù)分頻乃至奇數(shù)分頻的實現(xiàn)方法

module LED (clk_in,led);input clk_in;output led; parameter T1S = 12_000_000;parameter T05S = T1S/2; reg [23:0] counter; always @(posedge clk_in) begin if(counter < T1S-1) counter <= counter + 1'b1; else counter <= 1'b0; end assign led = (counter < T05S); endmodule

生成jed文件

查看資源占用情況

下載到16管腳的fpga模塊上,對比結果

項目4 - 心跳加速會如何?- 50Hz的心跳燈

修改verilog邏輯,產生50Hz的周期信號

生成jed文件

下載到16管腳的fpga模塊上,LED亮度變化,視覺暫留的效果,可以通過調節(jié)占空比控制LED的亮度(PWM),亮度與占空比(平均電流)非線性

單色的LED - 通過調節(jié)驅動信號的占空比調節(jié)LED的亮度

984787f2-5fd1-11eb-8b86-12bb97331649.gif

3色的LED - 通過調節(jié)每種顏色的LED的亮度實現(xiàn)不同的顏色組合

項目5 - 體驗內部鎖相環(huán)的使用以及內部IP Core的調用方式

添加PLL的IP

修改Verilog邏輯,通過PLL輸出的時鐘,產生1Hz的周期信號

生成jed文件

查看資源占用情況

下載到16管腳的fpga模塊上

其實還有更多可玩的,時間關系就讓同學們自己去琢磨和體驗去了,比如:

“呼吸”燈 - 通過PWM來實現(xiàn)呼吸的效果

“流水”燈 -多只LED組合,通過邏輯編程可以實現(xiàn)炫酷的效果(1維)

“交通”燈 - R、G、B三色組合,通過狀態(tài)機的編程模擬道路交通燈的工作狀態(tài)

數(shù)碼管 - 其實也是幾根LED組合在一起的顯示器件

點陣LED屏 - 體會圖形化顯示的基本原理

一顆LED才幾分錢,但可以玩出很多花樣,可以鍛煉很多技能,是不是?

原文標題:通過點燈的邏輯體驗FPGA的編程流程以及Verilog語法基礎

文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    1660

    文章

    22423

    瀏覽量

    636666
  • 編程
    +關注

    關注

    90

    文章

    3716

    瀏覽量

    97208

原文標題:通過點燈的邏輯體驗FPGA的編程流程以及Verilog語法基礎

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于FPGA的低照度條件下EBAPS圖像混合噪聲去除算法

    本文提出了基于可編程邏輯門陣列(field programmable gate array,FPGA)的開關融合中值-高斯(open and close mix-median-Gaussian,OCMMG)濾波算法。
    的頭像 發(fā)表于 03-11 09:24 ?1066次閱讀
    基于<b class='flag-5'>FPGA</b>的低照度條件下EBAPS圖像混合噪聲去除算法

    FPGA 入門必看:Verilog 與 VHDL 編程基礎解析!

    的基礎概念和實踐方法。一、FPGA與MCU/MPU的區(qū)別MCU/MPU:順序執(zhí)行程序,CPU負責所有邏輯FPGA:可編程邏輯陣列,邏輯電路可
    的頭像 發(fā)表于 01-19 09:05 ?488次閱讀
    <b class='flag-5'>FPGA</b> 入門必看:Verilog 與 VHDL <b class='flag-5'>編程</b>基礎解析!

    使用TinyFPGA-Bootloader將比特流加載到FPGA

    FPGA 設計中,一個常見但略顯繁瑣的環(huán)節(jié)是:如何方便地將新的比特流加載到 FPGA。尤其是在沒有專用 USB-JTAG/編程芯片或者在低成本板卡中,傳統(tǒng)的編程方式可能需要額外硬件
    的頭像 發(fā)表于 12-19 15:20 ?4990次閱讀
    使用Tiny<b class='flag-5'>FPGA</b>-Bootloader將比特流加載到<b class='flag-5'>FPGA</b>

    嵌入式和FPGA的區(qū)別

    ,芯片內部的門電路連接在出廠時就已固定,無法更改,它們的功能是通過軟件編程也就是嵌入式軟件來實現(xiàn)的。 FPGA(現(xiàn)場可編程門陣列) 則是一種可編程
    發(fā)表于 11-19 06:55

    FPGA板下載運行調試流程

    今天主要介紹一下整個FPGA板下載運行調試流程。 1、首先,參考網址https://doc.nucleisys.com/hbirdv2/soc_peripherals/ips.html#gpio 第
    發(fā)表于 10-29 06:57

    FPGA板下載調試流程

    今天主要介紹一下整個FPGA板下載運行調試流程。 1、首先,參考網址https://doc.nucleisys.com/hbirdv2/soc_peripherals/ips.html#gpio 第
    發(fā)表于 10-29 06:37

    編程邏輯控制器PLC是什么?如何實現(xiàn)上網通信?

    編程邏輯控制器(PLC)是一種專為工業(yè)環(huán)境設計的數(shù)字運算操作電子系統(tǒng),其核心是通過編程存儲器存儲邏輯運算、順序控制、定時、計數(shù)和算術運算
    的頭像 發(fā)表于 09-22 17:27 ?999次閱讀

    5CEBA4F23C8NQS現(xiàn)場可編程門陣列(FPGA)芯片

    5CEBA4F23C8NQS現(xiàn)場可編程門陣列(FPGA)芯片5CEBA4F23C8NQS是Intel-ALTERA(原 Altera)研發(fā)的Cyclone V系列性能卓越、低能耗的現(xiàn)場可編程門陣列
    發(fā)表于 06-11 09:01

    從發(fā)明到 AI 加速:慶祝 FPGA 創(chuàng)新 40 周年

    今年是首款商用現(xiàn)場可編程門陣列( FPGA )誕生 40 周年,其帶來了可重編程硬件的概念。通過打造“與軟件一樣靈活的硬件”,FPGA 可重
    發(fā)表于 06-05 17:32 ?1344次閱讀
    從發(fā)明到 AI 加速:慶祝 <b class='flag-5'>FPGA</b> 創(chuàng)新 40 周年

    【經驗分享】玩轉FPGA串口通信:從“幻覺調試”到代碼解析

    FPGA開發(fā),思路先行!玩FPGA板子,讀代碼是基本功!尤其對從C語言轉戰(zhàn)FPGA的“寶貝們”來說,適應流水線(pipeline)編程可能需要點時間。上篇
    的頭像 發(fā)表于 06-05 08:05 ?1115次閱讀
    【經驗分享】玩轉<b class='flag-5'>FPGA</b>串口通信:從“幻覺調試”到代碼解析

    MCU+CPLD 聯(lián)合編程(概念及流程

    編程技巧。 一、前述 在AG32芯片(所有型號)中,都有內嵌2K的邏輯門,可供FPGA/CPLD來使用。 也就是說,使用AG32的芯片時,有三種選擇: 只使用MCU部分; 只使用CPLD部分
    發(fā)表于 05-26 16:22

    【高云GW5AT-LV60 開發(fā)套件試用體驗】代碼解讀-點燈實驗

    Verilog這里也看得懂,因為點燈這個邏輯大家也應該猜得到,就是把100m的信號通過計數(shù)的方式,數(shù)到大概一秒鐘左右的節(jié)拍,這樣我們人眼就能看到燈閃爍了。 打開計算器我們用二進制點27個1,然后轉成10進制
    發(fā)表于 05-17 20:23

    FPGA的定義和基本結構

    專用集成電路( ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。 簡而言之, FPGA 就是一個可以通過編程來改變內部結構的
    的頭像 發(fā)表于 05-15 16:39 ?2674次閱讀
    <b class='flag-5'>FPGA</b>的定義和基本結構

    FPGA芯片的概念和結構

    FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列),是一種可在出廠后由用戶根據(jù)實際需求進行編程配置的集成電路。與專用集成電路(如ASIC)不同,FPGA
    的頭像 發(fā)表于 05-12 09:30 ?2950次閱讀

    H5U系列可編程邏輯控制器指令手冊

    INOVANCE匯川-H5U系列可編程邏輯控制器指令手冊-中文
    發(fā)表于 04-30 16:38 ?7次下載