wjfblack 发表于 2013-1-7 15:43:15

如何使一组FPGA内部寄存器的输出同时到达输出管脚?

用的是spartan3的片子,输出数据送给下游的DAC.
时钟为200M,所以对数据到达时间要求比较苛刻。
ISE有相应的约束吗?

蓝色风暴@FPGA 发表于 2013-1-7 20:00:06

同时是不可能的,当然可以逼近,可以约束offset out before

jay007 发表于 2013-1-9 15:59:45

记得使用IO register,FPGA可以满足要求

oped001 发表于 2013-1-12 09:21:02

lz莫非是做DDS信号源的?

philoman 发表于 2013-1-12 19:14:47

LS做过?
一方面使用IOB寄存器,另一方面使用IODelay。

NJ8888 发表于 2013-1-12 19:20:59

想法错了,你应当是并行IO后有个时钟控制你那DAC的,几个IO相差1-2ns没事

pocker5200 发表于 2013-1-13 05:09:38

一般先输出锁存并行数据,然后再给DAC读信号。
不知道LZ准备用什么结构输送数据,S3E的IO翻转速率极限是667M,用FIFO结构的话速率可能跟不上。
具体性能参数我不记得了,要看手册,S3E的FIFO操作频率好像达不到200M。

wjfblack 发表于 2013-1-13 20:30:26

oped001 发表于 2013-1-12 09:21 static/image/common/back.gif
lz莫非是做DDS信号源的?

何以见得?

oped001 发表于 2013-1-14 18:56:03

wjfblack 发表于 2013-1-13 20:30 static/image/common/back.gif
何以见得?

猜的。。是不是?

wjfblack 发表于 2013-1-16 09:08:32

oped001 发表于 2013-1-14 18:56 static/image/common/back.gif
猜的。。是不是?

是的,看来是暴露了。{:victory:}

newbier 发表于 2013-1-16 09:28:35

spartan3的内部逻辑能跑到200M嘛?

wjfblack 发表于 2013-1-22 09:12:37

newbier 发表于 2013-1-16 09:28 static/image/common/back.gif
spartan3的内部逻辑能跑到200M嘛?

这个没问题。
示波器测过时钟和数据。

philoman 发表于 2013-1-22 17:18:57

高速DAC的数据输入端口也是用时钟边沿采样数据的,200MHz时钟要注意阻抗匹配,源端可以串个电阻;

lj_swust 发表于 2013-1-22 17:57:47

spartan3想要做到200M数字接口,对齐很准确是很难得,使用offset out before 查看时序分析报告,自己慢慢调整吧

wye11083 发表于 2013-1-22 18:03:56

本帖最后由 wye11083 于 2013-1-22 18:05 编辑

我发现很多人用FPGA都没用到家,虽然我只用了一年半FPGA。可以在代码里加上(* IOB = 1 *) 和/* synthesis syn_useioff = 1 */,一个加前面一个加后面,然后在综合和Map时把使用IOB设置为输入和输出,然后就可以了。
注意:用IOFF会导致时序问题,因此一般建议用一级寄存器缓冲,因为内部逻辑到IOB延时比较大。

wjfblack 发表于 2013-1-24 20:11:16

wye11083 发表于 2013-1-22 18:03 static/image/common/back.gif
我发现很多人用FPGA都没用到家,虽然我只用了一年半FPGA。可以在代码里加上(* IOB = 1 *) 和/* synthesis s ...

多谢你的意见。
约束接触不多,正在研究中 。

jay007 发表于 2013-1-28 14:15:01

wye11083 发表于 2013-1-22 18:03 static/image/common/back.gif
我发现很多人用FPGA都没用到家,虽然我只用了一年半FPGA。可以在代码里加上(* IOB = 1 *) 和/* synthesis s ...

一般不会在代码里加综合约束,你更多要考虑的是项目管理问题

wye11083 发表于 2013-1-28 15:35:41

jay007 发表于 2013-1-28 14:15 static/image/common/back.gif
一般不会在代码里加综合约束,你更多要考虑的是项目管理问题

有些时候约束是不可少的,比如一个不应该被复制的寄存器,等等。或者某个模块就是IO接口模块,因此它的IO寄存器是需要在代码里配置的。

jay007 发表于 2013-1-28 16:21:42

wye11083 发表于 2013-1-28 15:35 static/image/common/back.gif
有些时候约束是不可少的,比如一个不应该被复制的寄存器,等等。或者某个模块就是IO接口模块,因此它的IO ...

你说的我不太明白。

不过尽量避免非常规的设计!

lycreturn 发表于 2013-1-28 16:24:26

加一个锁存器就行
页: [1]
查看完整版本: 如何使一组FPGA内部寄存器的输出同时到达输出管脚?