如何基于設(shè)計(jì)Verilog FPGA 流水燈?
1 功能概述
本文引用地址:http://www.ex-cimer.com/article/201807/384018.htm流水廣告燈主要應(yīng)用于LED燈光控制。通過(guò)程序控制LED的亮和滅, 多個(gè)LED燈組成一個(gè)陣列,依次逐個(gè)點(diǎn)亮的時(shí)候像流水一樣,所以叫流水燈。由于其形成美觀大方的視覺(jué)效果,因此廣泛應(yīng)用于店鋪招牌、廣告、大型建筑夜間裝飾、景觀裝飾等。
在FPGA電路設(shè)計(jì)中,盡管流水燈的設(shè)計(jì)屬于比較簡(jiǎn)單的入門(mén)級(jí)應(yīng)用,但是其運(yùn)用到的方法,是FPGA設(shè)計(jì)中最核心和最常用部分之一,是FPGA設(shè)計(jì)必須牢固掌握的基礎(chǔ)知識(shí)。從這一步開(kāi)始,形成良好的設(shè)計(jì)習(xí)慣,寫(xiě)出整潔簡(jiǎn)潔的代碼,對(duì)于FPGA設(shè)計(jì)師來(lái)說(shuō)至關(guān)重要。
在本案例中,使用常用的verilog語(yǔ)言完成該程序,設(shè)計(jì)并控制8個(gè)燈的花式或循環(huán)點(diǎn)亮。具體功能要求如下:
上電后,實(shí)現(xiàn)左移和右移交替的流水燈。
右移流水燈:八個(gè)燈最左邊第一個(gè)燈滅,其他燈亮;隔1s后,第二個(gè)燈滅,其他燈亮;隔1s后,第三個(gè)燈滅,其他燈亮;如此類(lèi)推,直到第八個(gè)燈滅1s后進(jìn)行左移流水燈操作。
左移流水燈:八個(gè)燈最右邊第一個(gè)燈滅,其他燈亮;隔1s后第二個(gè)燈滅,其他燈亮;再隔1s后,第三個(gè)燈滅,其他燈亮;如此類(lèi)推,直到第八個(gè)燈滅1s后進(jìn)行右移流水燈操作。
2 設(shè)計(jì)思路
按照項(xiàng)目的功能要求,我們用8比特的LED信號(hào)表示8個(gè)燈,led[0]~led[7]分別代表第1個(gè)至第8個(gè)燈,值為0時(shí)亮,0時(shí)亮。下面我們來(lái)看看硬件電路圖以及制定出項(xiàng)目所需的信號(hào)列表。
圖1 流水燈硬件電路
信號(hào)列表:
評(píng)論