完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好
我正在研究7系列Artix200T设备的大型设计。 由于我不必在工作时重置设计(没有外部事件进行复位),我从同步复位设计改为无复位可能性,但是寄存器的全局初始化。 这样做可以节省很多时序问题,因为没有复位信号必须在整个器件中分配。 我通过具有锁定输出的内部PLL生成系统时钟。 在先前的设计中,这可以用于同步复位设计。 现在我担心将PLL clk输出直接用作系统时钟。 我想在锁定输出上升之前,输出将不稳定。 因此,在启动情况下,操作模式的正常时序约束是不正确的,因为寄存器没有复位且没有时钟使能,并且由PLL输出直接馈送,在这种情况下,不能在正常时序规范下工作 我能做些什么呢? 只有在锁定输出变高后才能启用全局系统时钟才能最好地防止系统时钟信号的转换不能满足正确的时序吗?我试图通过一个常见的“sys_clk这样做你有任何建议我应该怎么做 最好解决这个问题?提前多多感谢,Reto |
|
相关推荐
7个回答
|
|
如您所述,在使用GSR上电后,FPGA完全初始化。
在配置后上电时,每个寄存器BRAM,LUTRAM和SRL都可以在器件中具有已知和指定的值1或0。 因此,您可以使用BUFGCE功能和一个简单的电路来在启动和***时钟。 如果需要,也可以对时钟进 最好通过时钟向导生成PLL / MMCM并选择“安全启动”选项。 这应该照顾你想做的事情。 |
|
|
|
嘿ralfk,谢谢你的回复!
不幸的是,我正在使用ISE Design Suite 14.7,并且提供的Clocking Wizard 3.6没有“安全启动”的选项。 我知道我应该将设计迁移到Vivado for 7 Series。这是管理层的决定,我不是很高兴,但这是另一个故事。 计划今年晚些时候这样做。你可以帮我解决代码中这种BUFGCE的实现吗? 这是我到目前为止所做的: 没有其他逻辑由nco_pll_clk或nco_pll_locked驱动。 然而,如果我使用选项2而不是选项1,那么设计就会遇到时机问题。正如我在第一篇文章中描述的那样,选项1编译时没有错误,但是在地点和时间段内写了一些关于潜在的高保持时间违规的警告。 路由进程(从reg_nco_pll_sys_loc到某些由clk_sys计时的逻辑的一些路径)。 设计与选项1一起使用,但我希望得到一个没有警告的编译设计,我不完全理解为什么它们会出现...... i_nco_PLL:entity work.main_clk_PLLport map(CLK_IN1 => up_pll_clk,RESET => nco_pll_rst, - asyncCLK_OUT1 => nco_pll_clk,LOCKED => nco_pll_locked - async); p_reg_loc:处理(nco_pll_locked,nco_pll_clk)可变meta_nco_pll_locked:STD_LOGIC:= '0';开始如果nco_pll_locked = '0' thenreg_nco_pll_sys_loc meta_nco_pll_locked:= '0'; ELSIF rising_edge(nco_pll_clk)thenreg_nco_pll_sys_loc meta_nco_pll_locked:= nco_pll_locked;如果结束;结束处理; - - - - - - - - - 选项1 - - - - - - - - - - - - - - - ------ clk_sys reg_nco_pll_sys_loc,I => nco_pll_clk,O => clk_sys); |
|
|
|
|
|
|
|
谢谢你的建议。
我用以下代码实现了它。 如果你能尽快检查它会很棒。 地图流程现在陷入阶段4.2(我在4小时后中止)。 你对我现在遇到的问题有什么建议吗? 通过全局初始化将信号全部初始化为“0”。 i_nco_PLL:实体work.main_clk_PLLport map(RESET => nco_pll_rst, - asyncCLK_IN1 => up_pll_clk,CLKFB_IN => nco_pll_clk_fb_buf,CLK_OUT1 => nco_pll_clk,CLK_OUT1_CE => nco_pll_locked_2,CLKFB_OUT => nco_pll_clk_fb,LOCKED => nco_pll_locked - async); i_bufg_nco_pll_fb:BUFG端口映射(I => nco_pll_clk_fb,O => nco_pll_clk_fb_buf); p_save_startup_nco_pll:process(nco_pll_clk_fb_buf)如果rising_edge(nco_pll_clk_fb_buf)然后nco_pll_locked_2 nco_pll_locked_1结束if;结束进程; clk_sys |
|
|
|
我不知道你的PLL实例中的内容是什么。
我在VHDL上并不擅长,但请尝试以下方法。 它与我之前建议的有点不同之处在于它使用BUFH和CLK0时钟本身来为移位寄存器提供时钟。 它比使用CLKFB要清晰一点。 特别是如果您有内部反馈,并且FB时钟缓冲器首先不在设计中。 并且有很多BUFH,你不可能用完它们。 可能在下面有一些拼写错误。 实际上没有尝试通过软件运行它。 pllinst:PLLE2_ADV - 通用的东西 端口映射(CLKFBOUT => clkfbout_clk,CLKOUT0 => clk_out0_pll,CLKOUT1 =>打开,CLKOUT2 =>打开,CLKOUT3 =>打开,CLKOUT4 =>打开,CLKOUT5 =>打开,CLKFBIN => clkfbout_buf,CLKIN1 => clk_in1,CLKIN2 = >'0',CLKINSEL =>'1',DADDR =>(其他=>'0'),DCLK =>'0',DEN =>'0',DI =>(其他=>'0'), DO => open,DRDY => open,DWE =>'0',LOCKED => locked_int,PWRDWN =>'0',RST => reset); clkf_buf:BUFG端口映射(O => clkfbout_buf,I => clkfbout_clk); clkout0_buf:BUFGCE端口映射(O => clk_out0_bufg,CE => seq_reg1(3),I => clk_out0_pll); clkout0_buf_en:BUFH端口映射(O => clk_out0_en,I => clk_out0_pll); 如果clk_out0_en'event和clk_out0_en ='1',那么process(clk_out0_en)开始,然后seq_reg0结束if; 结束过程; |
|
|
|
嘿ralfk,谢谢你的帮助!
我现在用以下方式实现它,看起来它正在工作...... 你能早点检查一下吗? 我应该在UCF文件中解决任何计时问题吗? i_nco_PLL:entity work.main_clk_PLLport map(RESET => nco_pll_rst,CLK_IN1 => up_pll_clk,CLKFB_IN => nco_pll_clk_fb_buf,CLK_OUT1 => nco_pll_clk,CLKFB_OUT => nco_pll_clk_fb,LOCKED => nco_pll_locked); i_nco_pll_clk_fb_bufg:BUFGport map(I => nco_pll_clk_fb,O => nco_pll_clk_fb_buf); i_nco_pll_clk_bufh:BUFHport map(I => nco_pll_clk,O => nco_pll_clk_bufh); process(nco_pll_clk_bufh)变量meta_nco_pll_locked:std_logic:='0';如果nco_pll_clk_bufh'event和nco_pll_clk_bufh ='1'则开始,然后reg_nco_pll_locked meta_nco_pll_locked:= nco_pll_locked; 结束if;结束进程; i_nco_pll_clk_bufgce:BUFGCEport map(CE => reg_nco_pll_locked,I => nco_pll_clk,O => clk_sys); |
|
|
|
假设您约束PLL输入时钟,则不需要其他约束。
|
|
|
|
只有小组成员才能发言,加入小组>>
2414 浏览 7 评论
2821 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2292 浏览 9 评论
3371 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2458 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1068浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
577浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
437浏览 1评论
1999浏览 0评论
722浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 15:38 , Processed in 1.580394 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号