首页 > 其他分享 >FPGA的时钟IP核知识点

FPGA的时钟IP核知识点

时间:2024-03-13 16:34:56浏览次数:22  
标签:reset 知识点 100m FPGA clk IP output 时钟

IP核在我看来就跟stm32中的一些驱动的库函数一样,可以调用快速使用。不用一步一步的自己写底层原理。

可以加速设计,快速设计代码。


IP核的PLL还有一个MMCM。PLL是锁相环,对时钟进行管理。也是后面使用中很重要的IP核。不同器件需要不同的时钟。

时钟管理单元CMT=PLL+MMCM混合时钟管理(MMCM=PLL+DCM相位调整):倍频、分频、相位偏移、可编程占空比和优化抖动。

这边实验任务是将50MHZ的输入时钟,输出四路不同的时钟频率。分别是100M 反相100M  50M 和 25M

配置好IP核后,通过顶层模块例化

module clk_ip(
    clk,
    reset_n,
    clk_100m,
    clk_100m_180,
    clk_50m,
    clk_25m
    
    );
    
    input   clk;
    input   reset_n;
    
    output  clk_100m;
    output  clk_100m_180;
    output  clk_50m;
    output  clk_25m;
    
    wire    locked;
    wire    rst_n;
    
    assign rst_n = reset_n & locked; // 都为高电平时,就是稳定了,复位稳定。
    
    clk_wiz_0 instance_name
   (
    // Clock out ports
    .clk_out1(clk_100m),     // output clk_out1
    .clk_out2(clk_100m_180),     // output clk_out2
    .clk_out3(clk_50m),     // output clk_out3
    .clk_out4(clk_25m),     // output clk_out4
    // Status and control signals
    .reset(~reset_n), // input reset 手册23页高电平有效
    .locked(locked),       // output locked
   // Clock in ports
    .clk_in1(clk)
    );      // input clk_in1
    

endmodule

唯一注意的地方就是,时钟IP核的复位信号,是高电平有效,所以例化的时候加上了取反。手册23页的。

然后仿真看波形

`timescale 1ns / 1ps

module clk_ip_tb();

    reg clk;
    reg reset_n;
    
    wire    clk_100m;    
    wire    clk_100m_180;
    wire    clk_50m;     
    wire    clk_25m;      
    
    initial clk = 1;
    always #10 clk = ~ clk;
    
    initial begin
        reset_n = 0;
        #201
        reset_n = 1;
 
    end
        
    clk_ip clk_ip_inst(
    .clk(clk),         
    .reset_n(reset_n),     
    .clk_100m(clk_100m),    
    .clk_100m_180(clk_100m_180),
    .clk_50m(clk_50m),     
    .clk_25m(clk_25m)      

    );


endmodule

标签:reset,知识点,100m,FPGA,clk,IP,output,时钟
From: https://www.cnblogs.com/cjl520/p/18070802

相关文章

  • UVM - 2 (补充虚基类及纯虚函数知识点)
    虚方法和纯虚方法虚方法定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。virtualfunction纯虚方法定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范......
  • 【Linux进程的知识点】
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言操作系统的知识补充我们来理解一个用户操作接口:进程的理解进程的基本概念描述进程-PCBtask_struct-PCB的一种task_struct内容分类进程的task_struct本身内部的属性有哪些?1、启动查找pid......
  • 【Javascript】 Promise 对象(一)
    Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操......
  • swiper轮播图
    Swiper中文网-轮播图幻灯片js插件,H5页面前端开发前言swiper轮播图的插件非常的好用,但是因为版本的不同,引入css总是报错,所以这块需要特别注意一下,安装好引入后,就可以轻松上手啦一、实现效果二、使用步骤1.安装插件npminstallswiper@[email protected]......
  • 商票琐碎知识点记录
    1.基础交易关系:直接前手可以基于没有基础关系进行抗辩【票据司法解释第二条  依照票据法第十条的规定,票据债务人(即出票人)以在票据未转让时的基础关系违法、双方不具有真实的交易关系和债权债务关系、持票人应付对价而未付对价为由,要求返还票据而提起诉讼的,人民法院应当依法受理......
  • ModuleNotFoundError: No module named ‘Crypto.Cipher‘或‘Crypto 的终极解决方案(
    转发源文档:https://juejin.cn/post/7120133494012903454 本文之前在c平台发布过,主要给出了此类问题的终极解决方案。亲测有效,且网友尝试后均解决问题! 长期以来,我对于ModuleNotFoundError:Nomodulenamed'Crypto.Cipher'问题和ModuleNotFoundError:Nomodulenamed'Cry......
  • calico ipip模式实验
    实验步骤1-创建网络空间,设备,并配置HOST_IP=$(hostname-I|awk'{print$1}')POD1_IP=10.96.30.11POD2_IP=10.96.30.12GATEWAY_IP=169.254.1.1#1.创建networknamespaceipnetnsaddpod1ipnetnsaddpod2#2.创建vethpair并加入到namespaceiplink......
  • IP地址
    IP地址IP地址作用两台主机如果网络位相同,可以直接通信两台主机如果网络位不相同,不可以直接通信,需要借助外力IPV4地址为32位二进制,为(00000000~11111111.00000000~11111111.00000000~11111111.00000000~11111111)转换为十进制则为(0255.0255.0255.0255.0~255)人为将其分为4......
  • C语言最重要的知识点(2)
    第二章第一节:数据输出(一)(二)1、使用printf和scanf函数时,要在最前面加上#include“stdio.h”2、printf可以只有一个参数,也可以有两个参数。(选择题考过一次)3、printf(“第一部分”,第二部分 );把第二部分的变量、表达式、常量以第一部分的形式展现出来!4、printf(“a=%d,b=%d”,12......
  • 机器学习知识点
    目录机器学习的概念:样本:特征:标签:回归和分类任务:泛化能力:假设空间:输出空间:有监督学习:无监督学习:半监督学习:奥卡姆剃刀:四个损失函数:正确率:误差:过拟合:过拟合的处理:欠拟合欠拟合的处理方式:没有免费的午餐定理(NFL定理):误差训练误差:测试误差:验证误差:泛化误差......