在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6687|回复: 13

[求助] 一份学习资料中配置PLL部分没看懂

[复制链接]
发表于 2014-6-2 19:39:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
PLL_ADV #    (.BANDWIDTH ("OPTIMIZED"),.CLKIN1_PERIOD (CLK_PERIOD_NS), .CLKIN2_PERIOD (1),.CLKOUT0_DIVIDE (1), .CLKOUT1_DIVIDE(1),.CLKOUT2_DIVIDE (6), .CLKOUT3_DIVIDE (6),)我想问的是PLL_ADV不是一个原语吗?为什么后面加了一个#?另外,之后的BANDWIDTH之类的也不是PLL_ADV的端口号啊。。
QQ截图20140602194117.bmp
发表于 2014-6-2 20:09:55 | 显示全部楼层
#是代表实例化这个模块的参数。所以后面的都是参数,不是端口。
 楼主| 发表于 2014-6-2 20:39:39 | 显示全部楼层
回复 2# acgoal


   搜噶
发表于 2014-6-2 20:46:31 | 显示全部楼层
謝謝!!!
 楼主| 发表于 2014-6-2 20:57:50 | 显示全部楼层
回复 2# acgoal


   那PLL的 主要 用处 是不是 精确的 相位延迟 以及 频率综合?(然后我可以通过调整PLL模块中的参数实现?)module dll_standard(CLKIN,RESET,CLKOUT);
input CLKIN,RESET;
output CLKOUT;
wire clkfbout;
PLL_BASE a(.CLKIN(CLKIN),
.CLKFBIN(clkfbout),.RST(RESET),
.CLKOUT0(CLKOUT),.CLKOUT1(),
.CLKOUT2(),.CLKOUT3(),.CLKOUT4(),
.CLKOUT5(),.CLKFBOUT(clkfbout));

PLL_BASE-----------------------------说这是个unknown type
#(.CLKOUT0_PHASE(0),
.CLKOUT0_DUTY_CYCLE(0.5),
.CLKOUT0_DIVIDE(2),

.CLKOUT1_PHASE(90),
.CLKOUT1_DUTY_CYCLE(0.5),
.CLKOUT1_DIVIDE(2),

.CLKOUT2_PHASE(0),
.CLKOUT2_DUTY_CYCLE(0.25),
.CLKOUT2_DIVIDE(4),

.CLKOUT3_PHASE(90),
.CLKOUT3_DUTY_CYCLE(0.5),
.CLKOUT3_DIVIDE(8),

.CLKOUT4_PHASE(0),
.CLKOUT4_DUTY_CYCLE(0.5),
.CLKOUT4_DIVIDE(8),

.CLKOUT5_PHASE(135),
.CLKOUT5_DUTY_CYCLE(0.5),
.CLKOUT5_DIVIDE(8),

.CLKFBOUT_PHASE(0),
.CLKFBOUT_MULT(8),
.DIVCLK_DIVIDE(1),

.CLKIN1_PERIOD(10.0)
);

endmodule


ERROR:HDLCompiler:806 - "F:\WORK_P\Reed_Solomon_Codec\__ISE_L_RSCodec\_ISE_L_RSCodec_1405151_EN-S_beta\ttt.v" Line 62: Syntax error near ";".
ERROR:HDLCompiler:1059 - "F:\WORK_P\Reed_Solomon_Codec\__ISE_L_RSCodec\_ISE_L_RSCodec_1405151_EN-S_beta\ttt.v" Line 32: PLL_BASE is an unknown type


我是按照sparten6 用户手册上配置的,不知道对不对
fff.bmp

QQ截图20140602205545.bmp
 楼主| 发表于 2014-6-2 21:12:01 | 显示全部楼层
我建了一个小模块,然后用这种方法修改模块参数,但是软件报错“Line 71: Syntax error near "endmodule".”
子模块:
module tvb(a,b);
    input a;
    output b;
         parameter a1=1;
         parameter a2=2;
         assign b=a;
endmodule
主模块:
module dll_standard(CLKIN,c);
input CLKIN;
output c;

tvb d(.a(CLKIN),.b(c));
tvb #
(
     .a1(3),
     .a2(3)
)
endmodule
 楼主| 发表于 2014-6-2 21:12:43 | 显示全部楼层
回复 2# acgoal


   我建了一个小模块,然后用这种方法修改模块参数,但是软件报错“Line 71: Syntax error near "endmodule".”
子模块:
module tvb(a,b);
    input a;
    output b;
         parameter a1=1;
         parameter a2=2;
         assign b=a;
endmodule
主模块:
module dll_standard(CLKIN,c);
input CLKIN;
output c;

tvb d(.a(CLKIN),.b(c));
tvb #
(
     .a1(3),
     .a2(3)
)
endmodule
发表于 2014-6-2 21:38:34 | 显示全部楼层
你没搞明白verilog如何实例化模块的方法。你这里第一个tvb是对的,第二个是错误的,结尾少了个分号,而且连最起码的实例化名称都没有。
verilog语法基本的实例化规则是:
模块名 [#(参数名及参数值)] 实例化名称(端口声明);
tvb #(.a1(3), .a2(3)) u_tvb(.a(CLKIN), .b(c));
发表于 2014-6-3 08:37:19 | 显示全部楼层
看datasheet
发表于 2014-6-3 08:38:05 | 显示全部楼层
看datasheet
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 23:20 , Processed in 0.049636 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表