2013-06-26 22 views
1

我想了解的Verilog代码此位的3位精矿..Verilog的2个变量

reg [2:0] SYNC; 
always @(posedge clk) SYNC <= {SYNC[1:0], ASYNC}; 
wire SYNC_risingedge = (SYNC[2:1] == 2'b01); 
wire SYNC_fallingedge = (SYNC[2:1] == 2'b10); 
wire SYNC_on = ~SYNC[1]; 

从我的理解。 3位寄存器被设置(同步) 当时钟上升时,同步等于位1和0与当前值(异步)的组合。 SYNC_risingedge等于(同步)位2和1并且二进制值'01' SYNC_fallingedge等于(同步)位2和1并且二进制值'10' SYNC_on等于同步。

我的问题是在引号内的行旁边。

reg [2:0] SYNC; 
always @(posedge clk) SYNC <= {SYNC[1:0], ASYNC}; *"does this mean that it concentrates   the state of ASYNC with only bits 1 and 0?"* 
wire SYNC_risingedge = (SYNC[2:1] == 2'b01); *"is the binary number 01 placed only in bits 2 and 1? if so, how does it affect the previous line?"* 
wire SYNC_fallingedge = (SYNC[2:1] == 2'b10); *"same question as previous line"* 
wire SYNC_on = ~SYNC[1]; *"What does the [1] mean in ~SYNC[1]?"* 

我搜遍了网络,寻找Verilog语法来理解这一点的代码,但总结出来了。 任何援助,将不胜感激。

回答

2
  1. 问题1

    always @(posedge clk) SYNC <= {SYNC[1:0], ASYNC}; 
    

    这是否意味着它集中ASYNC的状态,只有第1位和0?

    我认为你的意思是“连接”,而你说得对,是的。该语句实质上将SYNC左移1,然后将ASYNC的值置于位0.此移位操作发生在每个上升时钟沿。

    完整的表:

    SYNC | ASYNC | New SYNC Setting 
    ---------+-----------|-------------------- 
        000 |  0  |  000 
        001 |  0  |  010 
        010 |  0  |  100 
        011 |  0  |  110 
        100 |  0  |  000 
        101 |  0  |  010 
        110 |  0  |  100 
        111 |  0  |  110 
        000 |  1  |  001 
        001 |  1  |  011 
        010 |  1  |  101 
        011 |  1  |  111 
        100 |  1  |  001 
        101 |  1  |  011 
        110 |  1  |  101 
        111 |  1  |  111 
    
  2. 问题2

    wire SYNC_risingedge = (SYNC[2:1] == 2'b01); 
    

    是二进制数01仅在2位和1放在哪里?如果是这样,它是如何影响前一行的?

    没有,==测试,不分配。如果SYNC的这两位匹配2b'01,则SYNC_risingedge导线将为高电平。否则它会很低。

    注意:SYNC_risingedge的“赋值”是异步的 - 它只是组合逻辑。

  3. 问题3

    wire SYNC_fallingedge = (SYNC[2:1] == 2'b10); 
    

    同样的问题以前行

    相同的答案了。

  4. 问题4

    wire SYNC_on = ~SYNC[1]; 
    

    什么的[1]意味着〜SYNC [1]?

    这只是指SYNC的第1位。每当SYNC [1]为低电平时,SYNC_on为高电平,反之亦然。

+0

谢谢!,你是非常有帮助的。 – user2525855