我現在在做的專題預計會使用FPGA實現。
有些問題想問板上前輩
(我的指導教授是Information Science出生的,硬體方面不是很懂。)
因為運算速度的考量,我必須把一個module產生256個instances。
這256個instances我會用一個control unit去控制它們。
但問題來了,我的control unit有些輸出會直接拉到256個instances,
請問我是否須要加buffers?之前我學過一些VLSI設計,
我們知道一個輸出的fanout過多的話會要推動下一級的gates會delay很久。
我後來想到解決這個問題的方法就是使用「樹狀的buffers(用inverters完成)」,
一個輸出分枝成4枝,4枝的每一枝又個自分枝四枝,...,
最後分枝成256,只要用四級的inverters。
我在Xilinx ISE 9.1i上是有成功合出我的電路,
我是用Verilog loop generate四個for迴圈寫出來的。
(如果能用遞回寫,語法會更漂亮)
但是合出來的電路,ISE幫我最佳化的結果,
inverters的輸出只要與要被buffered的訊號一樣,就會被簡化成直接拉線到
未被buffered的訊號,而inverters都會被去掉。
也就是我做的樹狀的buffers完全不見了。
請問我原本想做的樹狀的buffers是否在FPGA上是多此一舉?
如果不是,是否能不讓ISE的最佳化破壞我的樹狀的buffers?
--
《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.204.3
※ 編輯: zxvc 來自: 122.116.13.117 (02/25 22:11)