色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)字電路中關(guān)鍵路徑的選取

          數(shù)字電路中關(guān)鍵路徑的選取

          作者: 時(shí)間:2015-11-03 來(lái)源:網(wǎng)絡(luò) 收藏

            所謂就是,在電路中頻繁調(diào)用,而且延遲過(guò)長(zhǎng),或者產(chǎn)生意外的幾率比較大的線路。

          本文引用地址:http://cafeforensic.com/article/282237.htm

            怎樣提取

            1:組合電路中的提?。?/p>

            q=a&b&c|d&e&b;

            因?yàn)閎的傳輸要兩級(jí),

            可以簡(jiǎn)單的提取b作為一級(jí)的:

            q=(a&c|d&e)&b;

            2: always——block中的關(guān)鍵路徑提?。?/p>

            always中關(guān)鍵路徑的提取一般用分步法提取,請(qǐng)看下面一個(gè)always——block,

            always@(in)

            begin

            if(!a)

            if(c&&(!b&&e))

            out=out1;

            else out=out2;

            else if(b&&e) out =out1;

            end

            這里面e是關(guān)鍵路徑,我們可以分兩個(gè)步驟提取關(guān)鍵路徑

            (1) 當(dāng)e=1的時(shí)候有:

            if(!a)

            if(c&&(!b))

            out=out1;

            else out=out2;

            (2)當(dāng)e=0的時(shí)候有:

            if(!a) out=out2;

            因此這個(gè)always可以寫(xiě)成這個(gè)樣子:

            always@(in)

            begin

            if(e)

            if(!a)

            if(c&&(!b))

            out=out1;

            else out=out2;

            else if(!a) out=out2;

            end

            這是中間形式,還要寫(xiě)成最終形式:

            定義兩個(gè)臨時(shí)變量,為了在綜合時(shí)候不被綜合掉,要定義他們?yōu)檩敵龆丝?output)——切記!!!

            output out_temp1,out_temp2;

            out_temp1=a?out:(c&&(!b))?out1:out2;

            out_temp2=a?out:out2;

            assign out=e?out_temp1:out_temp2;

            3。FSM中的關(guān)鍵路徑的提?。宏P(guān)于狀態(tài)機(jī),這是FPGA設(shè)計(jì)必備的基礎(chǔ),編碼方式有很多中比如:one——hot,or one--cool

            還有就是組合電路和時(shí)序 電路的寫(xiě)法,這里主要講關(guān)鍵路徑的提取至于狀態(tài)機(jī)的寫(xiě)法,還是查閱一下資料啊!

            FSM中關(guān)鍵路徑的提取方法一般是先將要提取的關(guān)鍵路徑去掉

            然后將原來(lái)FSM中的next-state用另外一個(gè)符號(hào)代替,作為次FSM 的輸入,即有主從兩個(gè)FSM。

            來(lái)看一下這個(gè)簡(jiǎn)單的狀態(tài)機(jī)?。?/p>

            parameter s0=0;

            parameter s1=1;

            parameter s2=2;

            parameter s3=3;

            input in1,in2,in3,set;

            reg[1:0] nextstate,currentstate;

            always@(in1 or in2 or in3 or currentstate)

            begin

            nextstate=s0;// start state

            case(currentstate)

            s0: if(in1&&!set)

            nextstate=s1;

            else if(set) nextstate=s2;

            s1:if(in2&&set)

            nextstate=s3;

            else if(!set) nextstate=s2;

            s2:if(set) nexstate=s3;

            s3:if(in3) nextstate=s0;

            default:nextstate=s0;

            endcase

            end

            好,現(xiàn)在來(lái)看第一步,將狀態(tài)機(jī)中的關(guān)鍵路徑去掉,這里的關(guān)鍵路徑為set,試想如果狀態(tài)從s0一路到s3,都是set在起作用,如果有一個(gè)不小心的毛刺產(chǎn)生,就會(huì)執(zhí)行錯(cuò)誤的行為,所以這里的set為關(guān)鍵路徑。

            提取后的狀態(tài)機(jī)如下:

            reg[1:0]temp;

            always@(in1 or in2 or in3 or currentstate)

            begin

            nextstate=s0;// start state

            temp=s0;

            case(currentstate)

            s0: if(in1)

            temp=s1;

            s1:if(in2)

            temp=s3;

            s2: temp=temp;

            s3:if(in3) temp=s0;

            default:temp=s0;

            endcase

            end

            第二步:

            always2(temp or currentstate or set)

            begin

            case(currentstate)

            s0:if(!set)

            nextstate=temp

            else nextstate=s2;

            s1: if(set)

            nextstate=temp;

            else nextstate=s2;

            s2:if(set) nextstate=s3;

            else nextstate=temp;

            s3: nextstate=temp;

            default:nextstate=temp;

            endcase

            end

          數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉