打印

新手,问verilog-HDL的一个编写问题

[复制链接]
1836|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tanyuekang|  楼主 | 2007-3-29 00:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我想写一个测试模块,有63个并口输入,当时钟信号为1时,这63个信号会移位,功能我已经写好了,应该也没问题,但进行仿真时,不知为何时钟信号为0时,它也会移位,大体 是这样的:
时钟信号:
initial
clk=1'b0;
always
#10 clk=~clk;
移位部分:
always@(clk==1)
begin
b=in[1];
for(i=1;i<63;i=i+1)
begin
in=in[i+1];
end
in[63]=b;
end
但仿真时,结果是这样:
0clk=0 in=000111111010101100110111011010010011100010111100101000110000100
10clk=1 in=001111110101011001101110110100100111000101111001010001100001000
20clk=0 in=011111101010110011011101101001001110001011110010100011000010000
大家可以看到,clk为0时,信号in也会移位,是我的程序编写错误吗,请大家指点下,不胜感激! 

相关帖子

沙发
wrhwindboy| | 2007-4-25 21:55 | 只看该作者

新手,问verilog-HDL的一个编写问题

always@(clk==1)
这句话对吗?

使用特权

评论回复
板凳
limee| | 2007-4-26 16:55 | 只看该作者

请把模块和测试向量一起贴上来

使用特权

评论回复
地板
yb840311| | 2007-5-2 15:12 | 只看该作者

回复

Verilog HDL中always@(clk==1)括号中一般要写成边沿触发的
如:posedge clk   这样才可以综合。

使用特权

评论回复
5
zjy32508wj| | 2007-5-6 20:57 | 只看该作者

一点看法

如果你是用电平触发的话,always后跟信号名,具体是高电平还是低电平有效,就要在always内部定义了,你试试看

使用特权

评论回复
6
xjg121| | 2007-5-16 01:06 | 只看该作者

猜测

always@(clk==1)有问题,其实现在方针时看作了是跳变的条件(上升沿,下降沿).

使用特权

评论回复
7
liangge005| | 2007-5-19 14:12 | 只看该作者

回复

0clk=0 in=000111111010101100110111011010010011100010111100101000110000100
10clk=1 in=001111110101011001101110110100100111000101111001010001100001000
20clk=0 in=011111101010110011011101101001001110001011110010100011000010000

请问你的这些结果是在哪里看的,是在maxplusii软件中吗?

使用特权

评论回复
8
liangge005| | 2007-5-19 14:13 | 只看该作者

完整的模块和测试程序

请给出完整的模块和测试程序

使用特权

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

本版积分规则

11

主题

13

帖子

0

粉丝