一份学习资料中配置PLL部分没看懂
#是代表实例化这个模块的参数。所以后面的都是参数,不是端口。
搜噶
謝謝!
那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 用户手册上配置的,不知道对不对
我建了一个小模块,然后用这种方法修改模块参数,但是软件报错“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
我建了一个小模块,然后用这种方法修改模块参数,但是软件报错“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
你没搞明白verilog如何实例化模块的方法。你这里第一个tvb是对的,第二个是错误的,结尾少了个分号,而且连最起码的实例化名称都没有。
verilog语法基本的实例化规则是:
模块名 [#(参数名及参数值)] 实例化名称(端口声明);
tvb #(.a1(3), .a2(3)) u_tvb(.a(CLKIN), .b(c));
看datasheet
看datasheet
zhe shi shen me ya
谢谢分享!谢谢分享!
