Quartus18 如何使用IP核(时钟分频)

编程入门 行业动态 更新时间:2024-10-07 07:27:50

Quartus18 如何使用IP核(时钟<a href=https://www.elefans.com/category/jswz/34/1738393.html style=分频)"/>

Quartus18 如何使用IP核(时钟分频)

Quartus18 如何使用IP核(时钟分频)

  • 写在前面
    • 先小结一下:
    • PLL--IP使用
    • 记录几个网站

写在前面

很多教程里面提到:magevizard;但是在quartus18里面找不到。这是因为:
· Quartus将megawizard 整合到IP catalog里了,直接搜ip,点击就可以看到megawizard的了。

先小结一下:

【总结一下:总体和vivado相似。显示找到IP核入口:Tools—IP catalog
然后搜索需要的IP核名字,参数设置,保存到某路径(一般为工程文件目录下),然后打开这个文件目录下,找到名字对应.v文件,笔记本打开.v文件获取实例化使用方式,然后调用即可。没了,如此简单,网上偏偏搜不到。】

Ps. Quartus不同版本之间差异真的蛮大的。

PLL–IP使用

1)Tools—IP catalog 和vivado类似
然后一般不会跳出来,而是在页面右侧。
搜寻你需要的IP核名字就好了~ 这里我想简单的做一个时钟分频。

于是我在IP catalog 里面 搜索了pll

双击,弹出框中,在/后面加一个pll(起个名字,叫其他的也可以)

在弹出的界面里我设置参数如下:

点击finish


选择:Yes

!!在IP核目录下,可以找到pll.v文件:

这个就是实例化的代码,我们写入程序


我是应用在一个小程序里面了,如果只是验证IP核,只需要把输入输出删删减减即可。

下面展示源代码:

`timescale 1 ps / 1 ps
module quarttus01(clk0,en,clk1,rst,clk2,gdp,ddp,out,n,m);
input clk0,en,rst;
output out,clk2,clk1,m,n,gdp,ddp;pll_0002 pll_inst (.refclk   (clk0),   //  refclk.clk.rst      (rst),      //   reset.reset.outclk_0 (clk1), // outclk0.clk.outclk_1 (clk2), // outclk1.clk.locked   (en)    //  locked.export);reg [0:3]n=4'b1;
reg [0:3]m=4'b1;
reg gdp=1,ddp=0,out;
//高电平持续(add-1)/2 -1时钟 
always @(posedge clk1)beginif (n<4'd4) begin gdp<=1;n<=n+1'b1;endelse begingdp<=0;n<=n+1'b1;if (n==4'd7)n<=4'b1;endend
//低电平持续(add-1)/2 +1时钟  
always @(negedge clk1)beginif (m<4'd4) begin ddp<=1;m<=m+1'b1;endelse beginddp<=0;m<=m+1'b1;if (m==4'd7)m<=4'b1;endendalways @(posedge clk1)  beginout=gdp||ddp;end    endmodule

只需要验证IP核,可以参考如下。

`timescale 1 ps / 1 ps
module quarttus01(clk0,en,clk1,rst,clk2);
input clk0,en,rst;
output out,clk2,clk1;pll_0002 pll_inst (.refclk   (clk0),   //  refclk.clk.rst      (rst),      //   reset.reset.outclk_0 (clk1), // outclk0.clk.outclk_1 (clk2), // outclk1.clk.locked   (en)    //  locked.export);
endmodule

双击Analysis&Synthesis

等待,编译通过:(忽略warning)

点击菜单栏中的“Processing”>>“Start”>>“Start TestBench Template Writer”,用于生成仿真文件;生成成功后会打印相应信息;

。。。生成失败
找一下原因:算了看不懂
那么我们跳过testbench,直接手动赋输入电平
直接看波形图vwf:
新建一个或者看之前的,然后添加节点:
(插一句,如果想改变结束时间:在波形文件界面中 edit—end time 设置)

然后给input初始值,这里给clk0=100Mhz,en和rst都是0;
跑一下功能仿真:

!!!能用!!可以了!!

记录几个网站

网上资源真的有点少(或者我没找到
一下是我参考的网页资源:
绝大多数是过时的。。没法用,这2个可以用但是emm只能起到启发作用,大家的用法都不太一样

=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5

更多推荐

Quartus18 如何使用IP核(时钟分频)

本文发布于:2024-02-28 01:55:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1767735.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分频   如何使用   时钟   IP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!