作者Trai (Trai)
看板Electronics
标题Re: [问题] quartus II 的问题
时间Mon Mar 5 13:02:47 2007
谢谢回答
我大概找出一些问题,因为在计算前需要将10几笔资料送到FPGA
当然是透过版子的bus,nWE拉起後,FPGA根据io_addr决定要将io_data送到哪个
register。计算完後也用同样的方式读出资料。
我这样写意味着有个很大的mux在选择register。
写入资料比较没问题,推测是因为bus的写入周期刚好能配合这样的设计,
写入的时序正确。
但读取的时候问题就来了,送出io_addr与拉起nOE之後需要一段时间让MUX去选择
register,从timing simulation waveform 可以看到bus上data line的变化。
问题就出在读取周期,版子上的master(arm)在信号稳定前就把资料抓回来,
所以会抓到错误的资料。
我想这就是您说的同步问题。不知道有没有其他buffering的机制可以避免这种情形??
谢谢回答^^
※ 引述《acelp (未来,一直来一直来)》之铭言:
: 假使您用很慢的频率来跑 看timing report的timing都很松的话
: 那review一下你的design 是否有跨clock domain的设计
: 因为你会用buffer来接收就表示双方clock的速度不同或是频率non in phase
: 如果有 在控制讯号或是data上有没有额外的sync?
: 如果没有 那你有可能发生meta stable...
: meta stable在你的simulation往往是检查不出来的...
: 因为一般人不会造这样的test pattern来检查
: ※ 引述《Trai (Trai)》之铭言:
: : 做完timing simulation 结果都正确,丢1200笔进去答案出来都对。
: : 但是丢到算FPGA就出现问题了。
: : 请问是否有遇过类似问题的版友能分享一下经验的???? 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.89.1
※ 编辑: Trai 来自: 140.113.89.1 (03/05 13:08)