搜索
bottom↓
回复: 19

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

[复制链接]

出0入0汤圆

发表于 2013-1-7 15:43:15 | 显示全部楼层 |阅读模式
用的是spartan3的片子,输出数据送给下游的DAC.
时钟为200M,所以对数据到达时间要求比较苛刻。
ISE有相应的约束吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-1-7 20:00:06 | 显示全部楼层
同时是不可能的,当然可以逼近,可以约束offset out before

出0入0汤圆

发表于 2013-1-9 15:59:45 | 显示全部楼层
记得使用IO register,FPGA可以满足要求

出0入0汤圆

发表于 2013-1-12 09:21:02 来自手机 | 显示全部楼层
lz莫非是做DDS信号源的?

出0入0汤圆

发表于 2013-1-12 19:14:47 | 显示全部楼层
LS做过?
一方面使用IOB寄存器,另一方面使用IODelay。

出0入0汤圆

发表于 2013-1-12 19:20:59 | 显示全部楼层
想法错了,你应当是并行IO后有个时钟控制你那DAC的,几个IO相差1-2ns没事

出0入0汤圆

发表于 2013-1-13 05:09:38 | 显示全部楼层
一般先输出锁存并行数据,然后再给DAC读信号。
不知道LZ准备用什么结构输送数据,S3E的IO翻转速率极限是667M,用FIFO结构的话速率可能跟不上。
具体性能参数我不记得了,要看手册,S3E的FIFO操作频率好像达不到200M。

出0入0汤圆

 楼主| 发表于 2013-1-13 20:30:26 | 显示全部楼层
oped001 发表于 2013-1-12 09:21
lz莫非是做DDS信号源的?

何以见得?

出0入0汤圆

发表于 2013-1-14 18:56:03 | 显示全部楼层
wjfblack 发表于 2013-1-13 20:30
何以见得?

猜的。。是不是?

出0入0汤圆

 楼主| 发表于 2013-1-16 09:08:32 | 显示全部楼层
oped001 发表于 2013-1-14 18:56
猜的。。是不是?

是的,看来是暴露了。

出0入0汤圆

发表于 2013-1-16 09:28:35 | 显示全部楼层
spartan3的内部逻辑能跑到200M嘛?

出0入0汤圆

 楼主| 发表于 2013-1-22 09:12:37 | 显示全部楼层
newbier 发表于 2013-1-16 09:28
spartan3的内部逻辑能跑到200M嘛?

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

出0入0汤圆

发表于 2013-1-22 17:18:57 | 显示全部楼层
高速DAC的数据输入端口也是用时钟边沿采样数据的,200MHz时钟要注意阻抗匹配,源端可以串个电阻;

出0入0汤圆

发表于 2013-1-22 17:57:47 | 显示全部楼层
spartan3想要做到200M数字接口,对齐很准确是很难得,使用offset out before 查看时序分析报告,自己慢慢调整吧

出0入442汤圆

发表于 2013-1-22 18:03:56 | 显示全部楼层
本帖最后由 wye11083 于 2013-1-22 18:05 编辑

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

出0入0汤圆

 楼主| 发表于 2013-1-24 20:11:16 | 显示全部楼层
wye11083 发表于 2013-1-22 18:03
我发现很多人用FPGA都没用到家,虽然我只用了一年半FPGA。可以在代码里加上(* IOB = 1 *) 和/* synthesis s ...

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

出0入0汤圆

发表于 2013-1-28 14:15:01 | 显示全部楼层
wye11083 发表于 2013-1-22 18:03
我发现很多人用FPGA都没用到家,虽然我只用了一年半FPGA。可以在代码里加上(* IOB = 1 *) 和/* synthesis s ...

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

出0入442汤圆

发表于 2013-1-28 15:35:41 | 显示全部楼层
jay007 发表于 2013-1-28 14:15
一般不会在代码里加综合约束,你更多要考虑的是项目管理问题

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

出0入0汤圆

发表于 2013-1-28 16:21:42 | 显示全部楼层
wye11083 发表于 2013-1-28 15:35
有些时候约束是不可少的,比如一个不应该被复制的寄存器,等等。或者某个模块就是IO接口模块,因此它的IO ...

你说的我不太明白。

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

出0入0汤圆

发表于 2013-1-28 16:24:26 | 显示全部楼层
加一个锁存器就行
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表