FPGA點亮流水燈
本文作者:一碗熱的粥kk,e小白網(wǎng)址:www.e-xiaobai.com
采用Verilog語言,語法與C語言比較像。根據(jù)我自己的理解,盡量每一步都給注釋;
前沿知識:
變量:
變量是指程序運行時可以改變其值的量,下面主要介紹常用的兩種。
Wire型:Wire 類型變量,也叫網(wǎng)絡(luò)類型變量,用于結(jié)構(gòu)實體之間的物理連接,如門與門之間,不能儲 存值,用連續(xù)賦值語句 assign 賦值,定義為 wire [n-1:0] a ; 其中 n 代表位寬,如定義 wire a ; assign a = b ; 是將 b 的結(jié)點連接到連線 a 上。
Reg型:Reg 類型變量,也稱為寄存器變量,可用來儲存值,必須在 always 語句里使用。其定義為 reg [n-1:0] a ; 表示 n 位位寬的寄存器,如 reg [7:0] a; 表示定義 8 位位寬的寄存器 a。
賦值:“=”阻塞賦值,”<=”非阻塞賦值。阻塞賦值為執(zhí)行完一條賦值語句,再執(zhí)行下一條,可理解為 順序執(zhí)行,而且賦值是立即執(zhí)行;非阻塞賦值可理解為并行執(zhí)行,不考慮順序,在 always 塊語句 執(zhí)行完成后,才進行賦值。
下圖代碼LED0為亮,1為滅。流水燈每次移動1位


標(biāo)簽: