打印

关于verilog请教下

[复制链接]
1897|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaigch|  楼主 | 2009-11-28 21:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
module counter4(clk,dout,en,oc);
input wire clk;
input wire en;
output reg [3:0] dout;
output reg oc;
reg [3:0] temp;
always @(posedge clk)
begin
if(en==1)
begin
  temp<=temp+1;
  if(temp=="1111")
  oc<=1;
  else
  oc<=0;
  dout<=temp; end
else
dout<=4'bz;
oc<="z";
end
endmodule

怎么进位信号老是没有呢!
请教下

未命名.JPG (172.41 KB )

未命名.JPG

相关帖子

沙发
yxwsz| | 2009-11-28 23:22 | 只看该作者
你真是verilog大牛啊, 都可以这样子写:
if(temp=="1111")
难道编译的时候没有看报警信息吗?

使用特权

评论回复
板凳
ic00| | 2009-11-29 10:49 | 只看该作者
你这个程序没有设计好,一个十六位的计数器。你没有考滤到复位的问题。我想你的那个进位没有分明白是同步还是异步。

使用特权

评论回复
地板
zhaigch|  楼主 | 2009-11-29 12:24 | 只看该作者
没有报警信息
我只是想说为什么没有进位信号

使用特权

评论回复
5
yxwsz| | 2009-11-30 14:09 | 只看该作者
if(temp== 4'b1111)

使用特权

评论回复
6
一只小蜗牛| | 2009-12-1 15:00 | 只看该作者
看完lz的程序,我的鼻血都出来了。
建议lz先从一些仿真库里找些现成的模块来改。
等改得多了,有感觉了,再自己构建。

使用特权

评论回复
7
可木| | 2009-12-1 20:10 | 只看该作者
楼主的程序写的很雷人。。呵呵

使用特权

评论回复
8
lelee007| | 2009-12-1 20:23 | 只看该作者
temp=="1111"

verilog里边的字符串是不能用于综合的

使用特权

评论回复
9
zhaigch|  楼主 | 2009-12-3 23:02 | 只看该作者
module counter4(clk,dout,en,oc);
input wire clk;
input wire en;
output reg [3:0] dout;
output reg oc;
reg [3:0] temp;
always @(posedge clk)
if(en==1)
        begin
                temp<=temp+1;
                if(temp==4'b1111)
                oc<=1;
                else
                oc<=0;
                dout<=temp;       
        end
else
begin
        dout<=4'bzzzz;
        oc<="z";
end
endmodule



这会就对了,各位还有什么可以教导的么,受益匪浅 啊!!
学习了

使用特权

评论回复
10
zhaigch|  楼主 | 2009-12-3 23:03 | 只看该作者
我还是个初学者,还是自学的!!还请多多指教

使用特权

评论回复
11
ic00| | 2009-12-4 22:38 | 只看该作者
大家都是一样的,相互帮助

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

158

帖子

1

粉丝