中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何寫代碼減少邏輯單元的使用數(shù)量?

        如何寫代碼減少邏輯單元的使用數(shù)量?

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

        以下都是我在編程時(shí)發(fā)現(xiàn)的問(wèn)題,總結(jié)一下,怕以后忘了,以我目前的水平不明白類似關(guān)鍵路徑,組合數(shù)目什么高深理論,這都是我從實(shí)際中學(xué)到的,比看書學(xué)的印象深刻得多.慢慢來(lái)吧,我想我以后也會(huì)明白那些高級(jí)的東西了!

        本文引用地址:http://www.antipu.com.cn/article/201710/365669.htm

        一....盡量不要使用大于小于這樣的判斷語(yǔ)句, 這樣會(huì)明顯增加使用的 .看一下報(bào)告,資源使用差別很大.

        例程:always@(posedge clk)
        begin
        count1=count1+1;
        if(count1==10000000)
        feng=1; //no_ring
        else if(count1==90000000)
        begin
        feng=0; //ring
        count1=0;
        end
        end //這么寫會(huì)用107個(gè)邏輯單元

        // 如果把這句話if(count1==10000000)改成大于小于,報(bào)告中用了135個(gè)邏輯單元

        二.....一定要想盡辦法減少reg寄存器的長(zhǎng)度

        上次把[30:0]改到[50:0],報(bào)告里邏輯單元從100多直升到2000多!!!太嚇人了,至于為什么我就不知道了哈!

        三....case語(yǔ)句里一定要加default if一定要加else

        如果是組合邏輯的設(shè)計(jì),不加default或else的話,不能保證所有的情況都有賦值,就會(huì)在內(nèi)部形成一個(gè)鎖存器,不再是一個(gè)純粹的組合邏輯了,電路性能就會(huì)下降.

        例如:case({a,b})

        2b11 e=b;

        2b10 e=a;

        endcase

        //不加default,雖然只關(guān)心a=1時(shí)的結(jié)果,但是a=0的時(shí)候,e就會(huì)保存原來(lái)的值,直到a變?yōu)?

        //那么e要保存原來(lái)的值,就要在內(nèi)部生成鎖存器了.

        四....盡量使用Case語(yǔ)句 而不是if--else語(yǔ)句

        復(fù)雜的if--else語(yǔ)句通常會(huì)生成優(yōu)先級(jí)譯碼邏輯,這將會(huì)增加這些路徑上的組合時(shí)延
        用來(lái)產(chǎn)生復(fù)雜邏輯的Case語(yǔ)句通常會(huì)生成不會(huì)有太多時(shí)延的并行邏輯

        五...組合邏輯的always塊中,要注意所有的輸入全部放入敏感變量表里

        比如:always@(a or b)

        begin

        out=(abc);



        關(guān)鍵詞: 邏輯單元數(shù)量 代碼

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉