赛灵思
直播中

余婧

7年用户 138经验值
私信 关注
[问答]

如何实现用于Spartan-6中时钟选择的MUX?

你好,
我正在使用Spartan-6进行设计。
我有一个输入系统时钟(UCLK),我将输入发送到PLL以生成5个不同的输出:
UCLK_IBUFG_inst:IBUFG端口映射(O => iUCLK,I => UCLK);
UDIVA_INST:u_a_divport map(CLK_IN1 => iUCLK,CLK_OUT1 => UDIVA2,CLK_OUT2 => UDIVA3,CLK_OUT3 => UDIVA4,CLK_OUT4 => UDIVA5,CLK_OUT5 => KCK1A,RESET => UADIVA_RST);
我必须通过配置寄存器选择其中一个生成的时钟。
哪个是实施此解决方案的更好方法?
如果我使用简单的MUX:
iUA_CLK UDIVA4当CW12(6 downto 4)=“001”否则UDIVA3当CW12(6 downto 4)=“010”否则UDIVA2当CW12(6 downto 4)=“011”否则iUCLKwhen CW12(6 downto 4)=“100”
否则iIOCLK当CW12(6 downto 4)=“101”否则iWCLK当CW12(6 downto 4)=“110”elseiFCLK当CW12(6 downto 4)=“111”;
ISE返回警告,即:
警告:地点:1137 - 此设计不保证可路由!
此设计包含一个全局缓冲区实例,驱动网络,驱动以下(前30个)非时钟加载引脚。
有人可以建议如何实现时钟选择吗?
谢谢

回帖(5)

杨玲

2019-11-4 09:28:58
如果您使用时钟向导生成此PLL,则应将其设置为不使用全局输出
缓冲区。
这样,您就可以从基于结构的多路复用器访问5个时钟。
的输出
如果它将用作FPGA中的时钟,则多路复用器应该提供BUFG或BUFGMUX。
另一种可能性是使用BUFGMUXes树来选择时钟。
你需要5个时钟
4个BUFGMUX。
然后这些将直接驱动时钟负载,但再次使用此方法
你不应该在PLL实体中实例化BUFG。
- Gabor
举报

陈玉筠

2019-11-4 09:39:08
此外,这种多路复用时钟的预期用途是什么?
它仅供内部使用,还是您打算使用它来为某些输入或输出接口提供时钟。
如果您打算将其用于输入接口 - 则不能。
无论你如何对此进行编码(假设你可以按照Gabor的建议进行编码),时钟的插入延迟将是完全未知的,因为你必须使用非专用或非补偿时钟路由 - 相位的可变性
由此产生的时钟将是巨大的,因此无法使用时钟捕获同步输入。
输出也是如此,除非输出是时钟转发(FPGA将数据与数据一起发送) - 内部多路复用时钟与输入时钟之间没有可预测的相位关系。
Avrum
举报

李奂善

2019-11-4 09:58:02
谢谢Gabor,
只是最后一个问题。
如果我设置为不使用输出缓冲区,则向导将插入CLKFB_IN和CLKFB_OUT端口。
我如何使用这些端口?
我想CLKFB_IN应该是BUFG的输出,其输入是selectedMUX输出时钟。
UA_BUFG_inst:BUFG端口映射(O => UA_CLK,I => iUA_CLK); 
UDIVA_INST:u_a_divport map(CLK_IN1 => iUCLK,CLKFB_IN => UA_CLK,CLK_OUT1 => UDIVA2,CLK_OUT2 => UDIVA3,CLK_OUT3 => UDIVA4,CLK_OUT4 => UDIVA5,CLK_OUT5 => KCK1A,CLKFB_OUT =>打开,RESET => UADIVA_RST)
;
iUA_CLKUDIVA4当CW12(6 downto 4)=“001”elseUDIVA3时CW12(6 downto 4)=“010”elseUDIVA2当CW12(6 downto 4)=“011”elseiUCLK当CW12(6 downto 4)=“100”elseiIOCLK当CW12(6)
downto 4)=“101”elseiWCLK当CW12(6 downto 4)=“110”elseiFCLK当CW12(6 downto 4)=“111”;
或者我可能需要直接将CLKKB_OUT连接到CLKFB_IN?
提前致谢。
文森佐
举报

杨玲

2019-11-4 10:10:31
反馈输入需要来自反馈输出,可能通过BUFG。

无法将多路复用时钟连接到反馈输入。
你没有回答的问题是如何
你会用这个时钟。
如果它只是一个频率发生器,不需要相位
与输入时钟的关系,那么最简单的事就是告诉向导使用内部
反馈。
如果您关心与输入时钟的相位关系,那么您可能就是这样
会有麻烦,因为很难匹配你的多普勒的延迟
PLL的反馈路径。
- Gabor
举报

更多回帖

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