q: 使用 zynq 器件, select io 解码串行数据, data 和 clock 直接进入, 未进行其他处理, 综合有关于 data 保存时间的时序错误, 请问什么问题? 实测接收功能基本正确
器件时序, 约束采用的是其中的 tframe = 1.3 - 1.9ns
约束:
set_input_delay -clock [get_clocks rxdco_p] -clock_fall -min -add_delay -1.300 [get_ports rxdata_n]
set_input_delay -clock [get_clocks rxdco_p] -clock_fall -max -add_delay -1.900 [get_ports rxdata_n]
set_input_delay -clock [get_clocks rxdco_p] -min -add_delay -1.300 [get_ports rxdata_n]
set_input_delay -clock [get_clocks rxdco_p] -max -add_delay -1.900 [get_ports rxdata_n]
set_input_delay -clock [get_clocks rxdco_p] -clock_fall -min -add_delay -1.300 [get_ports rxdata_p]
set_input_delay -clock [get_clocks rxdco_p] -clock_fall -max -add_delay -1.900 [get_ports rxdata_p]
set_input_delay -clock [get_clocks rxdco_p] -min -add_delay -1.300 [get_ports rxdata_p]
set_input_delay -clock [get_clocks rxdco_p] -max -add_delay -1.900 [get_ports rxdata_p]
a: 应该是 set_input_delay 约束写错了
参考 vivado language template 的话,这个 data 接口符合 source synchronous--> center aligned --> ddr 的模板
其中参数
dv_bre = dv_bfe = 1.3ns
dv_are = dv_afe = (1/2 period - 1.9)ns
所以约束里的
-max 值是(1/2 period - 1.3)
-min 值是(1/2 period - 1.9)
language template在 vivado 图形界面 tools 菜单里。
关于 template 的介绍,可以先学习 inputdelay/output delay 的理论基础,结合实践琢磨一下,这套 template 使用的方法还是有点巧妙的
经验是通过时序图对比,找到最匹配的 template,确定里面对应参数的值,套用 template里面的约束模板就可以。
可以找出这个 source synchronous --> centeraligned --> ddr 模板,看里面的时序图跟用户手册里的时序图对比下
时序图里没有画出 data 有效数据跟无效数据(就是阴影部分)的范围,但 tframe 的值之所以是 1.3~1.9,就是因为 data 有有效数据跟无效数据范围的原因,把时序图的有效数据和无效数据范围画出来,就容易跟 template 里的时序图进行匹配了。
社交VR平台Bigscreen宣布增添50多个免费电视直播频道
倍加福光电ML100系列传感器在PCB自动化处理线中的应用解析
PROFINET通讯物理连接问题及基本排查方法
IGBT模块短路的性能有哪些?寄生导通现象有哪些?
i5处理器哪个型号好_5系列处理器排名怎么样_i5各个型号之间性能差异分析
关于data保存时间的时序错误
NVIDIA Turing助力VR实现全新开放式行业标准
大疆DJI Mavic 2谍照大曝光
关于霍尼韦尔PC42t条码打印机的性能分析和介绍
浅述如何借用多相位升压转换器改善电源供应效能
2020的通信技术有什么进展
电动工具的应用
干货:空凋的电路和单独回路的设计及注意点
python通过序列生成字典
最新的ARM/FPGA/DSP板卡选型大全,总有一款适合你!
便携和音质是考虑音箱的两大重要因素
iPhone隐藏的8个秘密,你知道嘛?
开关量传感器与模拟量传感器的简单介绍
“科创中国”深圳“20+8”产业集群项目对接活动在华强北举行
电路测试中的运算放大器参数