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

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

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

3天內不再提示

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

電子森林 ? 來源:FPGA入門到精通 ? 作者:FPGA入門到精通 ? 2021-02-02 17:01 ? 次閱讀

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

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

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

用的平臺是這款:

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

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

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

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

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

LED的典型連接方式

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

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

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

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

項目1 - 讓LED燈亮起來:

創建項目一個新項目- LED

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

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

編譯

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

生成jed文件

查看資源占用情況

下載到16管腳的FPGA模塊上

項目2 - 讓LED燈跳動起來

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

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

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的周期信號,體會偶數分頻乃至奇數分頻的實現方法

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亮度變化,視覺暫留的效果,可以通過調節占空比控制LED的亮度(PWM),亮度與占空比(平均電流)非線性

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

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

3色的LED - 通過調節每種顏色的LED的亮度實現不同的顏色組合

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

添加PLL的IP

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

生成jed文件

查看資源占用情況

下載到16管腳的fpga模塊上

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

“呼吸”燈 - 通過PWM來實現呼吸的效果

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

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

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

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

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

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

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

責任編輯:haq

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

    關注

    1630

    文章

    21777

    瀏覽量

    604679
  • 編程
    +關注

    關注

    88

    文章

    3634

    瀏覽量

    93857

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

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

收藏 人收藏

    評論

    相關推薦

    FPGA編程語言的入門教程

    FPGA(現場可編程邏輯門陣列)的編程涉及特定的硬件描述語言(HDL),其中Verilog和VHDL是最常用的兩種。以下是一個FPGA
    的頭像 發表于 10-25 09:21 ?366次閱讀

    # FPGA 編程如何工作?

    編程 FPGA 是一種集成電路 (IC),具有可配置邏輯塊和可由用戶編程和重新編程的各種其他功能。 “現場可
    發表于 03-30 11:50

    現場可編程門陣列設計流程

    現場可編程門陣列(FPGA)設計流程是一個綜合性的過程,它涵蓋了從需求分析到最終實現的各個環節。下面將詳細介紹FPGA設計流程的主要步驟。
    的頭像 發表于 03-16 16:38 ?1982次閱讀

    fpga仿真器是什么?它有哪些優勢?

    FPGA仿真器是一種用于模擬FPGA(現場可編程門陣列)硬件行為的軟件工具。它通過模擬FPGA內部的邏輯
    的頭像 發表于 03-15 15:15 ?1859次閱讀

    fpga原型驗證流程

    FPGA原型驗證流程是確保FPGA(現場可編程門陣列)設計正確性和功能性的關鍵步驟。它涵蓋了從設計實現到功能驗證的整個過程,是FPGA開發
    的頭像 發表于 03-15 15:05 ?1650次閱讀

    常見的fpga芯片有哪些

    FPGA(現場可編程門陣列)芯片是一種可編程邏輯器件,其內部包含了大量的可編程邏輯單元和連接關系,可以
    的頭像 發表于 03-15 14:45 ?1653次閱讀

    fpga開發是什么意思

    FPGA開發是指利用現場可編程邏輯門陣列(Field Programmable Gate Array,簡稱FPGA)進行硬件設計和實現的過程。FPG
    的頭像 發表于 03-15 14:28 ?1235次閱讀

    fpga全稱是什么?fpga的工作原理是什么?

    FPGA的全稱是Field Programmable Gate Array,即現場可編程門陣列。它是一種半導體邏輯芯片,可以根據用戶需要,通過編程
    的頭像 發表于 03-15 14:27 ?1807次閱讀

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FP
    的頭像 發表于 03-14 18:20 ?2095次閱讀

    fpga用的是什么編程語言 fpga用什么語言開發

    fpga用的是什么編程語言 FPGA(現場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(H
    的頭像 發表于 03-14 17:09 ?3572次閱讀

    fpga芯片是什么意思

    FPGA(Field-Programmable Gate Array),即現場可編程門陣列,是一種可編程邏輯芯片,其邏輯電路可以
    的頭像 發表于 03-14 16:37 ?2449次閱讀

    fpga是什么 fpga用什么編程語言

    更高的靈活性和可重構性。在FPGA中,用戶可以通過編程來配置硬件單元之間的連接關系,從而實現所需的電路功能。接下來,我們將詳細介紹FPGA的概念、應用、
    的頭像 發表于 02-04 15:26 ?1788次閱讀

    編程邏輯陣列(PLA)有什么用?

    PLA可以根據用戶的需要進行編程,實現各種邏輯功能。通過編程,可以將多個邏輯門(如與門、或門、非門等)和觸發器組合在一起,構建復雜的數字
    的頭像 發表于 02-02 11:30 ?3199次閱讀
    可<b class='flag-5'>編程邏輯</b>陣列(PLA)有什么用?

    FPGA實現原理

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)是一種特殊的集成電路,其內部結構由大量的可配置邏輯塊和互連線組成。FPGA可以
    發表于 01-26 10:03

    什么是fpga和cpld cpld與fpga在結構上有何異同

    FPGA(Field-Programmable Gate Array)和CPLD(Complex Programmable Logic Device)都屬于可編程邏輯器件(PLD
    的頭像 發表于 01-22 18:05 ?2950次閱讀
    主站蜘蛛池模板: 色综合久久五月| 翘臀白浆| 亚洲欧美色视频| 曰本黄色一级| 五月婷婷在线播放| 色色色色网站| 午夜免费成人| 天堂网| 中文字幕不卡在线播放| 中文天堂最新版www| 天堂网www中文在线资源| 欧美在线一级视频| 天天色天天拍| 日本免费观看完整视频| 五月婷婷丁香| 亚洲日韩图片专区第1页| 四虎影院新网址| 亚色成人| 欧美在线精品一区二区三区| 六月丁香婷婷天天在线| www四虎影视| 奇米影视四色7777| 男人cao女人视频在线观看| 91在线播放免费不卡无毒| 在线成人精品国产区免费| 一级特级毛片免费| 三级毛片在线免费观看| 狠狠涩| 激情六月天| 极品美女洗澡后露粉嫩木耳视频| 成年人黄色免费网站| 天堂在线链接| 免费观看影院| 亚洲成色999久久网站| 亚洲天堂资源| 欧美一级黄视频| 你懂的福利| 美女视频黄免费| 激情网页| 涩色影院| www.黄com|