看板 Electronics 關於我們 聯絡資訊
※ 引述《proach (p.roach)》之銘言: : ※ 引述《zxvc (zxvc)》之銘言: : : 我後來想到解決這個問題的方法就是使用「樹狀的buffers(用inverters完成)」, : : 一個輸出分枝成4枝,4枝的每一枝又個自分枝四枝,..., : : 最後分枝成256,只要用四級的inverters。 : : 我在Xilinx ISE 9.1i上是有成功合出我的電路, : : 我是用Verilog loop generate四個for迴圈寫出來的。 : : (如果能用遞回寫,語法會更漂亮) : 不要介意喔,看到你說『語法會更漂亮』就知道你做的東西會出問題了。 : 你是在設計電路,一種很基本,直接控制電子流動的東西,漂亮在這邊 : 應該是指電路形容得很精準,而不是人看起來很舒服。 也不需要這麼排斥『語法會更漂亮』, 要不然也不需要發明System C、SystemVerilog這些更高階的HDL了。 雖然這些技術目前還不是很成熟,但這些技術很可能是未來的驅勢 (我是看一些EDA新聞說的)。 (雖然我也只是正在讀、不是很懂這些規格、技術。) 如果不用loop generate,難道真的要我用340個inverters硬接出一個tree? : 如果你無法用 verilog/vhdl明確指定你要的邏輯,就要進入 gate level : 直接拉gate出來作,跟 C/ASM的關係一樣。 是啊,事實上loop generate就是用gate level來接,這是我的程式碼。 http://web.cc.ncu.edu.tw/~93501025/BufTree.v 但是使用gate level modeling 一樣還是被ISE最佳化。 不過我後來發現我考慮fanout的問題似乎是多餘的。 因為ISE有個合成選項是可以設定Max fanout數目的, 如果fanout超過該數目,ISE應該是會自己加buffers。 : 碎碎念一下,這年頭HDL太好用了,很多人學一下就說自己會設計邏輯電路, : 我只想,找個你自己寫的小module,用74IC, 或是用邏輯閘畫出來, : 作得到功能相同,再說你會設計邏輯電路好嗎。 : : 但是合出來的電路,ISE幫我最佳化的結果, : : inverters的輸出只要與要被buffered的訊號一樣,就會被簡化成直接拉線到 : : 未被buffered的訊號,而inverters都會被去掉。 : : 也就是我做的樹狀的buffers完全不見了。 : : 請問我原本想做的樹狀的buffers是否在FPGA上是多此一舉? : : 如果不是,是否能不讓ISE的最佳化破壞我的樹狀的buffers? : FPGA內部有buffer可使用,直接呼叫instance出來,人工指定上去即可。 : 這不會被 optimizer去除。如果不知道怎麼用,找高手請教,不然學著 : 自己翻 User's Guide,這樣對你比較好。 嗯,是的這板上就有不少高手可以請教,您應該也是。 -- 《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.204.3 ※ 編輯: zxvc 來自: 122.116.13.117 (02/25 22:12)