当前位置: 首页 > news >正文

ZYNQ初识6(zynq_7010)clock时钟IP核

基于板子的PL端无时钟晶振,需要从PS端借用clock1(50M)晶振

接下去是自定义clock的IP核封装,为后续的simulation可以正常仿真波形,需要注意顶层文件的设置,需要将自定义的IP核对应的.v文件设置为顶层文件,否则仿真波形会均为高阻态。

将代码和对应的tb激励文件,ip核的一些流程和simulation的仿真波形放在下方:

对应一个时钟输入(50Mhz),5个时钟输出,分别改变了时钟频率、相位和占空比。

仿真后的波形如下:(simulation的仿真并不需要系统的时钟,只是根据程序要求形成波形图)

 代码和tb激励文件程序如下:

`timescale 1ns / 1ps
// Create Date: 2024/12/30 16:11:18
// Design Name: 
// Module Name: test_025_PLL_Time
//需要将之设为顶层文件
module test_025_PLL_Time(input   sys_clk,input   sys_rst_n,output  clk_out1_100M,output  clk_out2_100M_180deg,output  clk_out3_50M,output  clk_out4_25M,output  clk_out5_duty25);wire  locked;//例化clk_design1 instance_name(// Clock out ports.clk_out1_100M(clk_out1_100M),     // output clk_out1_100M.clk_out2_100M_180deg(clk_out2_100M_180deg),     // output clk_out2_100M_180deg.clk_out3_50M(clk_out3_50M),     // output clk_out3_50M.clk_out4_25M(clk_out4_25M),     // output clk_out4_25M.clk_out5_duty25(clk_out5_duty25),     // output clk_out5_duty25// Status and control signals.reset(~sys_rst_n), // input reset低电平有效.locked(locked),       // output locked// Clock in ports.clk_in1(sys_clk));      // input clk_in1endmodule
`timescale 1ns / 1ps
// Module Name: tb_PLL_Time
module tb_PLL_Time();reg  sys_clk          ;             reg  sys_rst_n        ;           wire clk_out1_100M         ;        wire clk_out2_100M_180deg  ;wire clk_out3_50M          ;         wire clk_out4_25M          ;         wire clk_out5_duty25       ;
//--------
always #10 sys_clk = ~sys_clk;  //20ns一个周期对应50Mhz时钟initial  beginsys_clk = 1'b0;sys_rst_n = 1'b0;#100sys_rst_n = 1'b1; end
//--------
//实现信号的连接:
test_025_PLL_Time  u_test_025_PLL_Time(.sys_clk                (sys_clk             ),.sys_rst_n              (sys_rst_n           ),.clk_out1_100M          (clk_out1_100M       ),.clk_out2_100M_180deg   (clk_out2_100M_180deg),.clk_out3_50M           (clk_out3_50M        ),.clk_out4_25M           (clk_out4_25M        ),.clk_out5_duty25        (clk_out5_duty25     ));endmodule

     但由于此时PL因无时钟晶振,需要借用PS端的晶振的设置而出现的顶层文件的问题,以及在创建IP核初始选择的是自定义,而不是适应Block Design的,所以在Block Design中无法添加对应.v文件的module(会报错),因此只能在simulation中仿真查看波形,无法进行接下去的管脚分配和程序下载的过程。

http://www.lryc.cn/news/512287.html

相关文章:

  • 使用MFC编写一个paddleclas预测软件
  • SAP SD BP名称和销售订单描述的对应不起来的问题
  • FlastOcc-网络复现-1.环境配置及问题
  • Go语言中值接收者和指针接收者的区别?
  • kafka小实站
  • 基于Python实现车辆检测、机动车检测、识别位置标记、计数
  • 心理学硕士
  • python量化分析学习与实践1:API接口篇
  • 【GO基础学习】gin的使用
  • 网卡状态变更,virtio-net检测
  • 中华人民共和国保守国家秘密法
  • ELK日志收集系统部署
  • 3D线上艺术展:艺术与技术的完美融合
  • TiDB 的MPP架构概述
  • Leetcode 10-正则表达式匹配/ 剑指 Offer 19. 正则表达式匹配
  • FFmpeg 编码和解码
  • kali当中web扫描工具的用法
  • 深度剖析 Android Animation 框架
  • 泰山派GPIO子系统驱动---亮灯
  • 【C#特性整理】C#特性及语法基础
  • Presence:Colyseus用于管理实时分布式数据的工具
  • Ubuntu 搭建SVN服务
  • HTML速查
  • day-102 二进制矩阵中的最短路径
  • SQL Server大批量数据插入
  • 在 Ubuntu 下通过 Docker 部署 Caddy 服务器
  • ZooKeeper注册中心实现
  • 数仓建模:如何进行实体建模?
  • Python编程技术
  • 「Mac玩转仓颉内测版55」应用篇2 - 使用函数实现更复杂的计算