[問題] 在描述硬體時如果"不可避免"能用for嗎?

看板Electronics作者 (有推有上)時間13年前 (2012/12/09 02:57), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟在手頭上有個計劃, 合作的廠商要求我們的架構須高度參數化, 我目前碰到的瓶頸是我有個硬體(姑且稱之MODULE), 它們的輸出要加在一起求總合, 即 SUM 等於所有 MODULE.out[i] 相加之合。 一般來說如果已知總共有幾個MODULE, 我們只要花些苦工把它列出來加總就好, 但是這個計劃的要求要MODULE數可變, 我只好試著把它寫成for-loop,也就是 for(i=0; i<I_TOTAL ; i=i+1 )begin sum_temp=sum_temp+MODULE.out[i] ; end 所幸在我的DC上面它可以合成, 而且可以通過gate-sim, 使用的版本是: Version C-2009.06-SP4 for linux -- Nov 30, 2009 請問這樣合成出來的電路是否會等效於我手動key出 SUM = MODULE.out[0] + MODULE.out[1] + ............. 還是這樣會有什麼額外的問題, 畢竟for迴圈是我老闆、CAD老師還有 各個學長都諄諄教誨絕不能碰的關鍵字。 又,如果不用for迴圈,有什麼方式能做到類似的效果嗎。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.184.241 ※ 編輯: killer9619 來自: 59.120.184.241 (12/09 03:01) ※ 編輯: killer9619 來自: 59.120.184.241 (12/09 03:02) ※ 編輯: killer9619 來自: 59.120.184.241 (12/09 03:04)

12/09 04:36, , 1F
會 迴圈數有個上限 也可以用有限狀態機分時去繞
12/09 04:36, 1F

12/09 22:09, , 2F
只要參數TOTAL在合成前為已知值,for迴圈DC會幫你unroll
12/09 22:09, 2F

12/09 22:10, , 3F
跟手動unroll一樣效果,常用來初始化register
12/09 22:10, 3F
文章代碼(AID): #1GmusXaO (Electronics)