大家好,又到了每日學(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)注
1643文章
21944瀏覽量
613436
發(fā)布評論請先 登錄
FPGA Verilog HDL語法之編譯預(yù)處理

一文詳解Verilog HDL

Verilog中signed和$signed()的用法

Verilog 電路仿真常見問題 Verilog 在芯片設(shè)計(jì)中的應(yīng)用
Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧
Verilog 測試平臺設(shè)計(jì)方法 Verilog FPGA開發(fā)指南
Verilog vhdl fpga
FPGA編程語言的入門教程
如何利用Verilog-A開發(fā)器件模型

評論