一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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)不再提示

通過(guò)點(diǎn)燈邏輯體驗(yàn)FPGA的編程流程

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

掃碼添加小助手

加入工程師交流群

“點(diǎn)燈”是我們板農(nóng)們拿到一塊板子后第一個(gè)要實(shí)現(xiàn)的目標(biāo),正如軟件工程師嘗試新的語(yǔ)言必然會(huì)先寫出“hello world”一樣。

學(xué)習(xí)FPGA也不例外,不要小瞧這只小小的LED,它能在你學(xué)習(xí)的路上帶給你光明,引導(dǎo)一個(gè)門外漢跨進(jìn)可編程邏輯世界的大門!

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

用的平臺(tái)是這款:

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

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

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

先簡(jiǎn)單說(shuō)一下點(diǎn)燈的要素 -LED點(diǎn)燈的工作原理

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

LED的典型連接方式

燈亮以及燈亮?xí)r的亮度取決于下面的因素:

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

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

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

項(xiàng)目1 - 讓LED燈亮起來(lái):

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

創(chuàng)建Verilog代碼 module(led),體會(huì)Verilog的語(yǔ)法結(jié)構(gòu);

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

編譯

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

生成jed文件

查看資源占用情況

下載到16管腳的FPGA模塊上

項(xiàng)目2 - 讓LED燈跳動(dòng)起來(lái)

在module的端口中添加clk的輸入信號(hào)

在verilog邏輯中通過(guò)計(jì)數(shù)分頻產(chǎn)生12M/223(~1.5Hz) 的周期信號(hào),體會(huì)wire、reg的區(qū)別以及計(jì)數(shù)分頻的實(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

編譯

分配管腳中補(bǔ)充新的clk管腳

生成jed文件

查看資源占用情況

下載到16管腳的FPGA模塊上

項(xiàng)目3 - 讓LED燈每秒剛好跳動(dòng)1次

修改Verilog邏輯,能夠產(chǎn)生精準(zhǔn)的1Hz的周期信號(hào),體會(huì)偶數(shù)分頻乃至奇數(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模塊上,對(duì)比結(jié)果

項(xiàng)目4 - 心跳加速會(huì)如何?- 50Hz的心跳燈

修改verilog邏輯,產(chǎn)生50Hz的周期信號(hào)

生成jed文件

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

單色的LED - 通過(guò)調(diào)節(jié)驅(qū)動(dòng)信號(hào)的占空比調(diào)節(jié)LED的亮度

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

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

項(xiàng)目5 - 體驗(yàn)內(nèi)部鎖相環(huán)的使用以及內(nèi)部IP Core的調(diào)用方式

添加PLL的IP

修改Verilog邏輯,通過(guò)PLL輸出的時(shí)鐘,產(chǎn)生1Hz的周期信號(hào)

生成jed文件

查看資源占用情況

下載到16管腳的fpga模塊上

其實(shí)還有更多可玩的,時(shí)間關(guān)系就讓同學(xué)們自己去琢磨和體驗(yàn)去了,比如:

“呼吸”燈 - 通過(guò)PWM來(lái)實(shí)現(xiàn)呼吸的效果

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

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

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

點(diǎn)陣LED屏 - 體會(huì)圖形化顯示的基本原理

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

原文標(biāo)題:通過(guò)點(diǎn)燈的邏輯體驗(yàn)FPGA的編程流程以及Verilog語(yǔ)法基礎(chǔ)

文章出處:【微信公眾號(hào):FPGA入門到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618589
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95266

原文標(biāo)題:通過(guò)點(diǎn)燈的邏輯體驗(yàn)FPGA的編程流程以及Verilog語(yǔ)法基礎(chǔ)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【經(jīng)驗(yàn)分享】玩轉(zhuǎn)FPGA串口通信:從“幻覺(jué)調(diào)試”到代碼解析

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

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

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

    解密邏輯單元與CoreScore得分的關(guān)系

    FPGA 通過(guò)查找表 (LUT) 實(shí)現(xiàn)邏輯功能。這些 LUT 類似于真值表或卡諾圖 (Karnaugh map),FPGA 可以通過(guò)組合多個(gè)
    的頭像 發(fā)表于 02-06 15:06 ?406次閱讀
    解密<b class='flag-5'>邏輯</b>單元與CoreScore得分的關(guān)系

    fpga和cpu的區(qū)別 芯片是gpu還是CPU

    (PIR)等組成。這些組件使得FPGA可以通過(guò)編程實(shí)現(xiàn)任意芯片的邏輯功能,具有很高的靈活性。用戶可以根據(jù)需求,通過(guò)EDA軟件對(duì)
    的頭像 發(fā)表于 02-01 14:57 ?1628次閱讀

    CPLD 與 FPGA 的區(qū)別

    在數(shù)字電路設(shè)計(jì)領(lǐng)域,CPLD和FPGA是兩種常用的可編程邏輯器件。它們都允許工程師根據(jù)需要設(shè)計(jì)和重新配置數(shù)字電路,但它們?cè)诮Y(jié)構(gòu)、性能和應(yīng)用上存在顯著差異。 CPLD和FPGA的定義 CPLD
    的頭像 發(fā)表于 01-23 09:46 ?1506次閱讀

    PLD設(shè)計(jì)流程的詳細(xì)步驟

    PLD(Programmable Logic Device,可編程邏輯器件)設(shè)計(jì)流程是指從設(shè)計(jì)概念到最終實(shí)現(xiàn)的一系列步驟,用于創(chuàng)建和驗(yàn)證可編程邏輯器件的功能。 1. 需求分析(Requirement
    的頭像 發(fā)表于 01-20 09:46 ?1086次閱讀

    編程混合信號(hào)技術(shù)彌補(bǔ)邏輯IC的成本與密度空白

    ? 電子設(shè)計(jì)工程師們始終追求一種全面的解決方案:他們期望獲得可編程、低功耗、低成本、小尺寸,并能快速上市的產(chǎn)品,同時(shí)希望這些產(chǎn)品的配置流程既迅速又便捷——而且無(wú)需學(xué)習(xí)新的軟件。在瑞薩電子,我們通過(guò)
    的頭像 發(fā)表于 12-28 15:47 ?762次閱讀
    可<b class='flag-5'>編程</b>混合信號(hào)技術(shù)彌補(bǔ)<b class='flag-5'>邏輯</b>IC的成本與密度空白

    FPGA與ASIC的區(qū)別 FPGA性能優(yōu)化技巧

    FPGA與ASIC的區(qū)別 FPGA(現(xiàn)場(chǎng)可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術(shù),它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別: FPGA ASIC 基本定義 由通用的
    的頭像 發(fā)表于 12-02 09:51 ?1061次閱讀

    XILINX FPGA Verilog編程大全2015

    不錯(cuò)的FPGA編程書(shū)籍
    發(fā)表于 11-26 13:59 ?8次下載

    邏輯異或在編程中的使用

    在計(jì)算機(jī)科學(xué)和編程中,邏輯運(yùn)算是構(gòu)建復(fù)雜算法和數(shù)據(jù)處理的基礎(chǔ)。邏輯異或(XOR)是一種二元運(yùn)算,它比較兩個(gè)輸入值,并在輸入值不同時(shí)返回真(true),在輸入值相同時(shí)返回假(false)。這種運(yùn)算在
    的頭像 發(fā)表于 11-19 09:41 ?861次閱讀

    德州儀器推出全新可編程邏輯產(chǎn)品系列

    德州儀器(TI)近日宣布推出其最新的可編程邏輯器件(PLD)系列,為工程師們帶來(lái)了從概念到原型設(shè)計(jì)的全新解決方案。這一創(chuàng)新產(chǎn)品系列基于TI出色的邏輯產(chǎn)品系列,旨在簡(jiǎn)化各類應(yīng)用的邏輯設(shè)計(jì)流程
    的頭像 發(fā)表于 10-28 17:38 ?854次閱讀

    詳解FPGA的基本結(jié)構(gòu)

    ZYNQ PL 部分等價(jià)于 Xilinx 7 系列 FPGA,因此我們將首先介紹 FPGA 的架構(gòu)。簡(jiǎn)化的 FPGA 基本結(jié)構(gòu)由 6 部分組成,分別為可編程輸入/輸出單元、基本可
    的頭像 發(fā)表于 10-25 16:50 ?3334次閱讀
    詳解<b class='flag-5'>FPGA</b>的基本結(jié)構(gòu)

    FPGA與ASIC的優(yōu)缺點(diǎn)比較

    適應(yīng)各種應(yīng)用場(chǎng)景。這意味著用戶可以根據(jù)需要,通過(guò)編程來(lái)更改FPGA的功能,而無(wú)需更改硬件設(shè)計(jì)。 設(shè)計(jì)周期短 :與ASIC相比,FPGA的設(shè)計(jì)、驗(yàn)證和生產(chǎn)周期更短。這主要是因?yàn)?/div>
    的頭像 發(fā)表于 10-25 09:24 ?1714次閱讀

    FPGA編程語(yǔ)言的入門教程

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

    邏輯組件中的流程塊節(jié)點(diǎn)通常出于什么用途

    邏輯組件中的流程塊節(jié)點(diǎn)是流程圖、狀態(tài)圖、序列圖等圖表中的基本元素,它們用于表示業(yè)務(wù)流程、工作流程、算法步驟、系統(tǒng)狀態(tài)等。這些節(jié)點(diǎn)在軟件開(kāi)發(fā)、
    的頭像 發(fā)表于 10-15 14:38 ?604次閱讀