2013-06-26 23 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