1,国产FPGA(紫光同创)-IP核-PLL

news/2024/11/6 21:39:24 标签: fpga开发, 紫光FPGA

本文默认在0,国产FPGA(紫光同创)-新建PDS工程基础上完成。

1,添加IP核

        右击(1)空白处进行添加,点击New IP(2)进行新建IP核。

        

        选择本次实验要配置的IP核-PLL(1),输入实体名称pll(2),最后点击Customize(3)进行用户自定义。

        点击Basic Configuration(1)进行基础配置,勾选使能pll_ret(2)使能高电平复位,使能clk0(3),选择要生成的波形频率(4)100MHz。使能clk1(5),选择要生成的波形频率(6)25MHz。默认输入信号频率为50MHz。最后点击左上角Generate生成。

2,编写设计源文件

        设计源文件很简单,就不详细介绍了。

module PLL_test(
    input     sys_clk    ,
    input     rst        ,

    output    pll_lock   ,
    output    pll_clk0   ,
    output    pll_clk1
);

//pll 50MHz - 100MHz/25MHz
pll pll_inst (
  .pll_rst(rst        ),      // input 
  .clkin1(sys_clk     ),      // input 50MHz
  .pll_lock(pll_lock  ),      // output
  .clkout0(pll_clk0   ),      // output
  .clkout1(pll_clk1   )       // output
);
endmodule

3,编写仿真文件

        仿真文件如下。

`timescale 1 ns/1 ns
module tb_pull_test( );

//Input
reg  sys_clk;
reg  rst;
//Output
wire pll_clk0;
wire pll_clk1;
wire pll_lock;

PLL_test PLL_test_inst(
    .sys_clk(sys_clk)    ,
    .rst(rst)        ,

    .pll_lock(pll_lock)  ,
    .pll_clk0(pll_clk0)  ,    
    .pll_clk1(pll_clk1)
);
initial 
begin
    sys_clk = 0;
    rst     = 1;
    #100;
    rst     = 0;
    #200;
end

//50MHzs
always #10 sys_clk = ~sys_clk;

/*
GTP_GRS GRS_INST(
    .GRS_N(1'b1)
);
*/

endmodule

4,运行ModelSim仿真

        右击Simulation下的仿真文件(1),点击Run Behavior Simulation(2)进行联合仿真。

        仿真波形图如下。

5,烧录运行

        看到successfully说明烧录成功。

       

因为设备限制,这里就不放示波器的图案了。


http://www.niftyadmin.cn/n/5731519.html

相关文章

行业圈子小程序 微信社区小程序圈子论坛社区小程序

适用领域 一、行业圈子:您可以使用在你的行业领域,让本行业的有交流和联系的圈子。 二、地方圈子:您可以使用在本地区,运营地方性的综合圈子或论坛,搭配商城频道,可以做类似美团的本地到店消费&#xff0…

Java程序设计:spring boot(11)——分布式缓存 Ehcache 整合

目录 1 Spring Cache 相关注解说明 1.1 CacheConfig 1.2 Cacheable 1.3 CachePut 1.4 CacheEvict 1.5 Caching 2 环境配置 2.1 pom.xml 依赖添加 2.2 ehcahe.xml ⽂件添加 2.3 application.yml 缓存配置 2.4 启动缓存 2.5 JavaBean 对象实现序列化 3 缓存实现 3.…

使用Python中的DrissonPage库爬取小说网站并保存章节内容(bqg)

前言 在这个教程中,我们将学习如何使用Python结合DrissionPage库来自动化浏览器操作,从而从一个小说网站(bqg)上抓取小说的章节链接和内容,并将这些内容保存到本地文件。本文将详细介绍整个过程,并提供完整的代码示例。 准备工作…

服务器上清理Docker容器运行日志的正确方法

为啥要清理服务器上docker容器的日志 因为是服务器的磁盘空间资源有限,由于docker容器在启动的时候没有限制,导致运行的docker容器随着时间的推移产生的日志越来越多,最后把服务磁盘资源耗尽,服务器的磁盘满了会导致服务器的应用无…

Flutter鸿蒙next 封装对话框详解

✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…

shell脚本编写注意细节 ==、=等的区别

文章目录 和的使用主要区别小结 Shell脚本要注意的细节1. 变量引用和空格处理2. [[ ... ]] vs [ ... ]3. 使用-n和-z来检测变量是否为空4. 整数运算和浮点运算5. 避免使用反引号执行命令6. for循环中的命令替换7. 使用trap来清理临时文件8. 避免使用硬编码路径9. 使用-eq、-lt、…

antv vue a-table内嵌表格(2种),通过自定义按钮控制显隐

a-table内嵌2种表格并通过自定义按钮控制显隐,点击btn字样时,异行间内嵌表格互不影响,同行内嵌表格切换,如果内嵌表格已经打开,再点一次对应的btn会关闭这个表格。 【关闭效果】 【展开效果】 【完整代码附注释】 &l…

.NET 一款二进制文件转换Shellcode的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…