在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 影響FPGA設(shè)計(jì)中時(shí)鐘因素的探討

            影響FPGA設(shè)計(jì)中時(shí)鐘因素的探討

            ——
            作者: 時(shí)間:2008-07-21 來源:電子開發(fā)網(wǎng) 收藏

            et ;
            input req_0 ;
            input req_1 ;
            //-------------Output Ports----------------------------
            output gnt_0 ;
            output gnt_1 ;
            //-------------Input ports Data Type-------------------
            wire clock ;
            wire reset ;
            wire req_0 ;
            wire req_1 ;
            //-------------Output Ports Data Type------------------
            reg gnt_0 ;
            reg gnt_1 ;
            //-------------Internal Constants--------------------------
            parameter SIZE = 3 ;
            parameter IDLE = 3'b001 ,
            GNT0 = 3'b010 ,
            GNT1 = 3'b100 ;
            //-------------Internal Variables---------------------------
            reg [SIZE-1:0] state ;// Seq part of the FSM
            wire [SIZE-1:0] next_state ;// combo part of FSM
            //----------Code startes Here------------------------
            assign next_state = fsm_function(req_0, req_1);
            function [SIZE-1:0] fsm_function;
            input req_0;
            input req_1;
            case(state)
            IDLE : if (req_0 == 1'b1)
            fsm_function = GNT0;
            else if (req_1 == 1'b1)
            fsm_function= GNT1;
            else
            fsm_function = IDLE;
            GNT0 : if (req_0 == 1'b1)
            fsm_function = GNT0;
            else
            fsm_function = IDLE;
            GNT1 : if (req_1 == 1'b1)
            fsm_function = GNT1;
            else
            fsm_function =IDLE;
            default : fsm_function = IDLE;
            endcase
            endfunction
            always@(posedge clock)
            begin
            if (reset == 1'b1)
            state <=IDLE;
            else
            state <=next_state;
            end
            //----------Output Logic-----------------------------
            always @ (posedge clock)
            begin
            if (reset == 1'b1) begin
            gnt_0 <= #1 1'b0;
            gnt_1 <= #1 1'b0;
            end
            else begin
            case(state)
            IDLE : begin
            gnt_0 <= #1 1'b0;
            gnt_1 <= #1 1'b0;
            end
            GNT0 : begin
            gnt_0 <= #1 1'b1;
            gnt_1 <= #1 1'b0;
            end
            GNT1 : begin
            gnt_0 <= #1 1'b0;
            gnt_1 <= #1 1'b1;
            end
            default : begin
            gnt_0 <= #1 1'b0;
            gnt_1 <= #1 1'b0;
            end
            endcase
            end
            end // End Of Block OUTPUT_
            endmodule

            本文引用地址:http://www.biyoush.com/article/85938.htm

              狀態(tài)機(jī)通常要寫成3段式,從而避免出現(xiàn)過大的組合邏輯。

              上面說的都是可以通過流水的方式切割組合邏輯的情況,但是有些情況下我們是很 難去切割組合邏輯的,在這些情況下我們又該怎么做呢?

              狀態(tài)機(jī)就是這么一個(gè)例子,我們不能通過往狀態(tài)譯碼組合邏輯中加入流水。如果我們的設(shè)計(jì)中有一個(gè)幾十個(gè)狀態(tài)的狀態(tài)機(jī),它的狀態(tài)譯碼邏輯將非常之巨大,毫無疑問,這極有可能是設(shè)計(jì)中的關(guān)鍵路徑。那我們該怎么做呢?還是老思路,減少組合邏輯。我們可以對狀態(tài)的輸出進(jìn)行分析,對它們進(jìn)行重新分類,并根據(jù)這個(gè)重新定義成一組組小狀態(tài)機(jī),通過對輸入進(jìn)行選擇(case語句)并去觸發(fā)相應(yīng)的小狀態(tài)機(jī),從而實(shí)現(xiàn)了將大的狀態(tài)機(jī)切割成小的狀態(tài)機(jī)。在ATA6的規(guī)范中(硬盤的標(biāo)準(zhǔn)),輸入的命令大概有20十種,每一個(gè)命令又對應(yīng)很多種狀態(tài),如果用一個(gè)大的狀態(tài)機(jī)(狀態(tài)套狀態(tài))去做那是不可想象的,我們可以通過case語句去對命令進(jìn)行譯碼,并觸發(fā)相應(yīng)的狀態(tài)機(jī),這樣做下來 這一個(gè)模塊的頻率就 可以跑得比較高了。



            關(guān)鍵詞: FPGA 時(shí)鐘

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉