赛灵思
直播中

李维洲

8年用户 233经验值
私信 关注
[问答]

如何在Virtex 7板上正确设置用户时钟?

嗨,
我有一个使用Artix 7 FPGA在我的Basys3上运行的设计。
在约束文件中,我创建一个时钟
set_property PACKAGE_PIN W5 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]
这没有任何问题。
我还有一个Virtex 7板(7VX485T),但是当我尝试添加时钟时:
set_property PACKAGE_PIN E19 [get_ports clk]
set_property IOSTANDARD LVDS [get_ports clk]
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]
我收到以下错误消息:
警告:[Synth 8-3332]顺序元素( y_reg [31])未使用,将从模块指数中删除。
严重警告:[Drc 23-20]规则违规(IOSTDTYPE-1)IOStandard类型 - I / O端口clk是单端但具有LVDS的IOS标准,只能支持差分
信息:[Vivado_Tcl 4-198] DRC完成了0个错误,1个严重警告
信息:[Vivado_Tcl 4-199]有关更多信息,请参阅DRC报告(report_drc)。
错误:[Drc 23-20]规则违规(IOSTDTYPE-1)IOStandard类型 - I / O端口clk是单端但具有LVDS的IOS标准,只能支持差分
信息:[Vivado 12-3199] DRC完成了1个错误
谁能让我了解如何在Virtex 7板上正确设置用户时钟?
我更喜欢使用用户时钟而不是系统时钟。
请注意,我在非项目模式下工作,所以我希望得到的答案不涉及图形用户界面。
谢谢,
特勒尔斯

回帖(6)

李森

2020-3-30 10:02:31
术语“用户时钟”和“系统时钟”是设计中的功能的描述,并不重要。
单端I / O(如BASYS3板上的时钟)和差分I / O的实现存在显着差异。
合成器可以自动推断单端I / O缓冲区,但必须在HDL中直接实例化差分I / O缓冲区。
对于输入缓冲区,您可以在HDL代码中实例化IBUFDS,或者如果您更喜欢IBUFGDS。
注意:IBUFDS和IBUFGDS之间没有区别,但您经常会找到使用IBUFG或IBUFGDS参考时钟输入缓冲区的文档。
------您是否尝试在Google中输入问题?
如果没有,你应该在发布之前。太多结果?
尝试添加网站:www.xilinx.com
在原帖中查看解决方案
举报

李森

2020-3-30 10:10:44
LVDS输入需要同时具有P和N输入以及IBUFDS输入缓冲器的直接瞬时,因为它不能从合成中输出。
------您是否尝试在Google中输入问题?
如果没有,你应该在发布之前。太多结果?
尝试添加网站:www.xilinx.com
举报

郭雨桐

2020-3-30 10:15:48
谢谢你的回复。
对不起我的无知,但我不清楚如何做你解释的(我对FPGA很新)。
我查看了用户手册,并在主约束文件中找到了以下内容:
set_property PACKAGE_PIN AD8 [get_ports SI5324_OUT_C_P]
set_property PACKAGE_PIN AD7 [get_ports SI5324_OUT_C_N]
set_property PACKAGE_PIN E19 [get_ports SYSCLK_P]
set_property IOSTANDARD LVDS [get_ports SYSCLK_P]
set_property PACKAGE_PIN E18 [get_ports SYSCLK_N]
set_property IOSTANDARD LVDS [get_ports SYSCLK_N]
根据您的答案,添加用户时钟(AD8和AD7)与添加系统时钟会有所不同吗?
如果一开始,我只想使用系统时钟,我需要将最后四行添加到约束文件中。
IBUFDS,是我在VHDL代码中实例化的模块吗?
举报

李森

2020-3-30 10:26:22
术语“用户时钟”和“系统时钟”是设计中的功能的描述,并不重要。
单端I / O(如BASYS3板上的时钟)和差分I / O的实现存在显着差异。
合成器可以自动推断单端I / O缓冲区,但必须在HDL中直接实例化差分I / O缓冲区。
对于输入缓冲区,您可以在HDL代码中实例化IBUFDS,或者如果您更喜欢IBUFGDS。
注意:IBUFDS和IBUFGDS之间没有区别,但您经常会找到使用IBUFG或IBUFGDS参考时钟输入缓冲区的文档。
------您是否尝试在Google中输入问题?
如果没有,你应该在发布之前。太多结果?
尝试添加网站:www.xilinx.com
举报

更多回帖

发帖
×
20
完善资料,
赚取积分