集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 6272|回复: 17

Verilog HDL一个小程序

[复制链接]
ANG 发表于 2010-6-26 00:56:54 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-6-28 01:08 编辑

............
;;intput clk;
;;output clk-2MHz;
; ;reg [3:0]count;
.............
; ;clk-2MHz<=count[2];
..............
编译时提示说clk-2MHz<=count[2];有语法错误,但我查了Verilog HDL的教程找不出错误,这到底是怎么回事呢,是不是不应该这样赋值呢,正确的该怎么写呢?谢谢了!!
FFT 发表于 2010-6-26 02:17:15 | 显示全部楼层
clk-2MHz<=count[2]; 是在always块里吗?如果是 clk_2MHz必须定义成reg型。
longt 发表于 2010-6-26 02:19:54 | 显示全部楼层
是的,那么就是说我必须在定义里加一句reg clk_2MHz;
CCIE 发表于 2010-6-26 03:42:09 | 显示全部楼层
应该是这样的,前面加个reg
UFP 发表于 2010-6-26 04:15:58 | 显示全部楼层
加了以后还是错的,郁闷
CHAN 发表于 2010-6-26 05:53:13 | 显示全部楼层
把整段程序贴上来吧,这样大家好给你看一下。
CHAN 发表于 2010-6-26 06:05:56 | 显示全部楼层
module divide (clk,clk_2MHz,clk_8MHz,);<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;input&nbsp;&nbsp;clk;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;output&nbsp;&nbsp;clk_2MHz;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;output&nbsp;&nbsp;clk_8MHz;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;reg[3:0]count;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;reg&nbsp;&nbsp;clk_2MHz;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;reg&nbsp;&nbsp;clk_2MHz;<br>
always @(posedge clk)begin<br>
&nbsp;&nbsp;if (count=='b1111)<br>
&nbsp; &nbsp; count &lt;='d0;<br>
else<br>
count &lt;=count+1;<br>
end<br>
clk_2MHz&lt;=count[2];<br>
clk_2MHz&lt;=count[0];<br>
endmodule
CHANG 发表于 2010-6-26 07:11:25 | 显示全部楼层
好好看看 你帖的程序 ........
CTT 发表于 2010-6-26 08:33:20 | 显示全部楼层
1. clk_2MHz重复定义,重复赋值;<br>
2. always是有问题的,这也是为什么会报错的原因了。
usb 发表于 2010-6-26 09:06:10 | 显示全部楼层
把对那两个reg的定义去掉,然后在赋值的语句前面加assign,再改成阻塞赋值。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 18:04 , Processed in 0.071554 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表