Verilog HDL一个小程序
本帖最后由 fpgaw 于 2010-6-28 01:08 编辑............
;;intput clk;
;;output clk-2MHz;
; ;reg count;
.............
; ;clk-2MHz<=count;
..............
编译时提示说clk-2MHz<=count;有语法错误,但我查了Verilog HDL的教程找不出错误,这到底是怎么回事呢,是不是不应该这样赋值呢,正确的该怎么写呢?谢谢了!! clk-2MHz<=count; 是在always块里吗?如果是 clk_2MHz必须定义成reg型。 是的,那么就是说我必须在定义里加一句reg clk_2MHz; 应该是这样的,前面加个reg 加了以后还是错的,郁闷 把整段程序贴上来吧,这样大家好给你看一下。 module divide (clk,clk_2MHz,clk_8MHz,);<br>
input clk;<br>
output clk_2MHz;<br>
output clk_8MHz;<br>
regcount;<br>
reg clk_2MHz;<br>
reg clk_2MHz;<br>
always @(posedge clk)begin<br>
if (count=='b1111)<br>
count <='d0;<br>
else<br>
count <=count+1;<br>
end<br>
clk_2MHz<=count;<br>
clk_2MHz<=count;<br>
endmodule 好好看看 你帖的程序 ........ 1. clk_2MHz重复定义,重复赋值;<br>
2. always是有问题的,这也是为什么会报错的原因了。 把对那两个reg的定义去掉,然后在赋值的语句前面加assign,再改成阻塞赋值。
页:
[1]
2