AAT 发表于 2010-6-27 23:29:50

有个程序那个reg给dout赋值是不是就是给dout赋初值,如果不是,那么要给dout 一个初值

module shifter(clk,clr,dout);
input clk,clr;
output dout;
regdout=8`b11010101;

always @(posedge clk)
begin
if(clr)
dout<=8`b0;
else
dout<={dout,dout};
end
endmodule
那个reg给dout赋值是不是就是给dout赋初值,如果不是,那么要给dout 一个初值?????
其实就是想把dout 的值左循环!!!

ngtim 发表于 2010-6-27 23:37:45

怎么没人答理我呢 太伤心了

CHANG 发表于 2010-6-28 01:36:58

不是,  不用赋值   
        http://bbs.vibesic.com/images/smilies/default/smile.gif

        http://bbs.vibesic.com/images/smilies/default/smile.gif

        http://bbs.vibesic.com/images/smilies/default/smile.gif

ups 发表于 2010-6-28 02:46:28

没见过这种方式赋初值的,一般都是在reset的时候给一个初始值吧

ICE 发表于 2010-6-28 03:01:24

其实不用赋值,当然要赋值可以用initial语句赋值。左移也可以用C++中的<<就可以实现左移,不必用{}来实现。

longt 发表于 2010-6-28 04:41:31

我上面说错了,没有看到你是左顺环移位,所以用{}较好。

ANG 发表于 2010-6-28 05:40:18

谢大家了啊 我是想就让一个数自己左循环 就是左移一位后自己又放到末尾

ICE 发表于 2010-6-28 07:36:46

没见过这么赋予值的

VVIC 发表于 2010-6-28 08:59:32

你不需要这样赋值,你要写的是循环计数器,最好写成异步清零,这样比较好。

CTT 发表于 2010-6-28 09:15:14

要养成好的习惯,一个要有reset的,要不很容易出问题
页: [1]
查看完整版本: 有个程序那个reg给dout赋值是不是就是给dout赋初值,如果不是,那么要给dout 一个初值