when90 发表于 2013-10-22 11:06:53

我想知道这一串代码到底是干嘛用的 跪求解答

always@(negedge clk2_90m)
begin
if(!reset_n)
begin
        cs3<=0;
        cs4<=0;
        cs5<=0;
        cs6<=0;
        cs7<=0;
        cs8<=0;
        cs9<=0;
        cs10<=0;
        cs11<=0;
        cs12<=0;
        cs13<=0;
        cs14<=0;
        cs15<=0;
        CSB<=0;
end
else
begin       
        cs3<=cs2;
        cs4<=cs3;
        cs5<=cs4;
        cs6<=cs5;
        cs7<=cs6;
        cs8<=cs7;
        cs9<=cs8;
        cs10<=cs9;
        cs11<=cs10;
        cs12<=cs11;
        cs13<=cs12;
        cs14<=cs13;
        cs15<=cs14;
        CSB<=cs13;
end
end
其中CSB是对DA的一个片选信号,其他的cs后面压根没用上 听说是为了同步时钟的 但是不知道原理   请帮助下菜鸟解答下 万分感谢

thought224 发表于 2013-10-22 11:53:20

本帖最后由 thought224 于 2013-10-22 11:55 编辑

只是为了单纯的将CS2的信号延迟14个时钟不是吗?
比如,在时钟T1的时候,CS2跳变为1,在14个时钟周期以后CSB才会和CS2一样跳变为1,不是吗?

usingavr 发表于 2013-10-22 12:10:10

移位寄存器,只是疑惑为什么要分这么多条语句来写

thought224 发表于 2013-10-22 12:14:47

估计不想用FOR,合成后占空间吧!

cuiliang1984 发表于 2013-10-23 09:07:24

为什么不这样写? {CSB,CS} <= CS;

jm2011 发表于 2013-10-23 12:34:56

应该是每个人的书写习惯不一样吧;另外,{CSB,CS} <= CS;和上面写的不太一样;上面的是CSB<=cs13;
页: [1]
查看完整版本: 我想知道这一串代码到底是干嘛用的 跪求解答