作者zxvc (zxvc)
站内Electronics
标题Re: FPGA设计的问题
时间Thu Jul 12 00:14:41 2007
※ 引述《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)