大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來聊一聊FPGA verilog中的repeat用法與例子。
repeat 循環(huán)語句執(zhí)行指定循環(huán)數(shù),如果循環(huán)計(jì)數(shù)表達(dá)式的值不確定,即為 x 或z 時(shí),那么循環(huán)次數(shù)按 0 處理。
repeat 循環(huán)語句的語法為:
repeat(循環(huán)次數(shù)表達(dá)式)
begin
語句塊;
end
其中, “循環(huán)次數(shù)表達(dá)式”用于指定循環(huán)次數(shù),可以是一個(gè)整數(shù)、變量或者數(shù)值表達(dá)式。如果是變量或者數(shù)值表達(dá)式,其數(shù)值只在第一次循環(huán)時(shí)得到計(jì)算,從而得以事先確定循環(huán)次
數(shù); “語句塊”為重復(fù)執(zhí)行的循環(huán)體。 在可綜合設(shè)計(jì)中, “循環(huán)次數(shù)表達(dá)式”必須在程序編譯過程中保持不變。下面給出一個(gè):
module mult_8b_repeat(
a, b, q , a_t1
);
parameter bsize = 8;
input [bsize-1 : 0] a, b;
output [2*bsize-1 : 0] q;
output
reg [2*bsize-1 : 0] a_t1;
reg [2*bsize-1 : 0] q, a_t;
reg [bsize-1 : 0] b_t;
always @(a or b) begin
q = 0;
a_t = a;
//a_t1 = {{bsize[0]},a};
b_t = b;
repeat(bsize) begin
if (b_t[0]) begin
q = q + a_t;
end
else begin
q = q;
end
a_t = a_t << 1;?
b_t = b_t >> 1;
end
end
endmodule
波形:

今天就聊到這里,各位,加油。
-
FPGA
+關(guān)注
關(guān)注
1654文章
22271瀏覽量
629837
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議
如果將蜂鳥的risc-v移植到其他的fpga中想實(shí)現(xiàn)一些外設(shè)功能有什么辦法?可以不用操作系統(tǒng)直接添加verilog代碼嗎?
如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫測(cè)試
RTL級(jí)機(jī)器人電機(jī)控制器的FPGA設(shè)計(jì)
SVA斷言的用法教程
FPGA Verilog HDL語法之編譯預(yù)處理
一文詳解Verilog HDL
Verilog中signed和$signed()的用法
數(shù)字集成電路 Verilog 熟悉vivado FPGA微電子、電子工程
Verilog例化說明

簡談FPGA verilog中的repeat用法與例子
評(píng)論