问题仍在继续——一个初学者请教:寄存器赋值问题?
本帖最后由 fpgaw 于 2010-7-6 06:57 编辑变量,if语句上限不支持变量~~~~~~~”
那么下限能否支持变量呢?如果不能,在需要在运行过程中改变if语句判断条件时(注1处),该怎么实现呢。我想FPGA/CPLD肯定有办法实现的。
module pulse(clkin,wr0,clkout,en,data);
inputclkin,wr0;
input data ;
inputen;
output clkout;
regclkout;
reg count;
reg N;
initial begin
count = 0;
N = 5;
end
always @(negedge wr0)
N = data;
always @(posedge clkin)
if(en==1)
begin
if(count<N) /*注1 */
count = count+1;
else
count = 0;
end
assign clkout = connt;
endmodule 首先请你说说你程序的功能 <br>
<br>
你程序编译过了吗 我是没过 主要是<br>
<br>
assign clkout = count;中的count为reg 不能用在assign语句中 <br>
<br>
对不对 期待高手的 到来 把这句<br>
reg clkout;<br>
删掉就可以编译通过了。 reg必需要时钟信号<br>
可以将count类型改为wire或缺损<br>
时序电路最好用非阻塞赋值符号<br>
initial不要出现在模块中,一般不能综合;可以在测试模块中,可以用复位信号初始化
页:
[1]