<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何寫(xiě)代碼減少邏輯單元的使用數量?

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

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

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

本文引用地址:http://dyxdggzs.com/article/201710/365669.htm

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

例程: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 //這么寫(xiě)會(huì )用107個(gè)邏輯單元

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

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

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

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

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

例如:case({a,b})

2b11 e=b;

2b10 e=a;

endcase

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

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

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

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

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

比如:always@(a or b)

begin

out=(abc);



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>