关于pll输出能否通过设置全局时钟约束接到普通io口上?

2019-03-25 08:30发布

小弟最近在做课程设计,做sdram读取的时候用到pll进行倍频产生sdram时钟(100M),但是发现手头上的板子的sdram接口是普通io口,而专用的pll输出口却被sdram地址端占用了,用QII编译的时候报错说必须接到pll专用输出口,不知道有什么办法可以输出到普通io口。
请教了一位师兄,说可以试试通过把pll输出的那条路径约束为全局变量,但是还是会报错。
另外,我发现即使先不给sdram的时钟分配引脚,编译的时候也会报错说pll专用引脚被占用了(地址端),很是苦恼,希望有大神能够指点一下。

我的板子芯片是cyclone ep1c6Q240c8,专用pll输出脚在38,39。sdram_clk接在14脚。

下面是报错信息:
当pll分配到普通口时:
Error (186234): Can't place fast PLL "sys_ctrl:uut_sysctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|pll" because I/O pin "sdram_clk" (port type EXTCLK of the PLL) is assigned to a location which is not connected to port type EXTCLK of any PLL on the device

不分配sdram_clk时:
Error (186252): Can't place fast PLL "sys_ctrl:uut_sysctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|pll" in target device due to device constraints
        Error (186253): Can't place fast PLL "sys_ctrl:uut_sysctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|pll" in PLL location PLL_1 due to device constraints
                Error (186262): Can't place fast PLL "sys_ctrl:uut_sysctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|pll" in PLL location PLL_1 because the PLL I/O pin of port type EXTCLK (Pin_38) is already occupied by node "sdram_addr[3]"
        Error (186263): Can't place fast PLL "sys_ctrl:uut_sysctrl|PLL_ctrl:uut_PLL_ctrl|altpll:altpll_component|pll" in PLL location PLL_2 because I/O cell "clk_in" (port type INCLK of the PLL) is placed in an I/O pin (Pin_28) which cannot feed port type INCLK of PLL location PLL_2 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
eeleader
1楼-- · 2019-03-25 11:28
 精彩回答 2  元偷偷看……
seaundersky
2楼-- · 2019-03-25 14:40
什么是normal模式?
如果确实没办法就只能换板了,我在淘宝上看了一块板,问了老板,发现他的也是没有用在专用的输出口,他说可以不用pll来产生时钟,你的程序也是用pll产生sdram的时钟吗
eeleader
3楼-- · 2019-03-25 15:52
可以自己设计一个倍频器,用异步逻辑可以完成哦
eeleader
4楼-- · 2019-03-25 21:40
楼主问题搞定了吗?
seaundersky
5楼-- · 2019-03-26 03:25
pll输出不是有c口(内部)和e口(外部)两种么,你可以用c口,然后分配到普通引脚。可能精确性会有影响。不过编译可以通过。

一周热门 更多>