[問題] verilog 如何省area?

看板Electronics作者 (名器)時間13年前 (2012/10/27 22:59), 編輯推噓3(3010)
留言13則, 7人參與, 最新討論串1/1
因為本身不是電子系出身的 最近修課在寫verilog 雖然寫得滿順利的 但是我很好奇 到底怎樣的寫法比較會省面積? 不知道有沒有大大可以給個觀念之類的?? 譬如說 今天我想把IN存到SRAM裡面 如果我寫 always @(posedge CLK) begin if(RESET==1) INA<=0; else if(IN_VALID==1) INA<=IN; else INA<=0; end // INA是reg,會存到SRAM裡 // IN是pattern給的 跟 always @* begin if(RESET==1) INA=0; else if(IN_VALID==1) INA=IN; else INA=0 end 以上這兩個寫法RTL跟gate_sim都會過 但是哪個寫法會比較省面積啊? (以上只是舉例這樣...) 雖然目前都是覺得DEMO過就好了XD 不過有時候真的會很好奇 到底怎樣寫可以比較省面積...... 感激不盡> < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.63.16

10/28 09:22, , 1F
合成看看就知道啦
10/28 09:22, 1F

10/28 10:55, , 2F
靠coding style省的有限 要從系統架構著手
10/28 10:55, 2F

10/29 12:17, , 3F
你舉的例子太小了,而且這兩種寫法會合出不同電路
10/29 12:17, 3F

10/29 12:19, , 4F
建議你去看怎樣的寫法會合出序向或組合邏輯
10/29 12:19, 4F

10/29 13:40, , 5F
2F說得不錯 要從架構上節省 一旦確定架構 先求電路穩定
10/29 13:40, 5F

10/29 13:41, , 6F
例如 你舉的例子 latch的合成往往是不被允許
10/29 13:41, 6F

10/29 13:41, , 7F
除非你能確保他合成的行為跟你想一樣
10/29 13:41, 7F

10/29 13:42, , 8F
而且你舉的例子 一個是FF 一個是latch 跟SRAM沒關係
10/29 13:42, 8F

10/29 13:43, , 9F
RAM是用類比去刻出來的 然後轉出model 給數位的用...
10/29 13:43, 9F

10/29 23:26, , 10F
113猛哥
10/29 23:26, 10F

10/30 01:21, , 11F
RAM應該也算數位??
10/30 01:21, 11F

08/13 19:32, , 12F
而且你舉的例子 一個是 https://muxiv.com
08/13 19:32, 12F

09/17 23:26, , 13F
除非你能確保他合成的行 https://daxiv.com
09/17 23:26, 13F
文章代碼(AID): #1GY_R8Qi (Electronics)