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

ZYNQ_project:IP_ram_pll_test

例化MMCM ip核,产生100Mhz,100Mhz并相位偏移180,50Mhz,25Mhz的时钟信号。

例化单口ram,并编写读写控制器,实现32个数据的写入与读出。

模块框图:

代码:

module ip_top(input       wire            sys_clk     ,input       wire            sys_rst_n   ,output      wire    [7:0]   douta       ,output      wire            clk_100Mhz  ,output      wire            clk_100Mhz_180Phase  ,output      wire            clk_50Mhz   ,output      wire            clk_25Mhz  
);// 例化间连�??wire            locked    ;// wire            clk_50Mhz ;
//ila_0 ila_0_inst(
//    .clk                ( clk_100Mhz ) ,//    .probe0             ( clk_100Mhz ) ,
//    .probe1             ( clk_100Mhz_180Phase ) ,
//    .probe2             ( clk_50Mhz ) ,
//    .probe3             ( clk_25Mhz ) 
//);wire            ENA     ;         wire            WEA     ;         wire    [4:0]   ADDRA   ;       wire    [7:0]   DATA_INA; wire            rst_n   ;assign  rst_n   = sys_rst_n && locked ;
clk_wiz_0 clk_wiz_0_inst(.clk_in1            ( sys_clk       ) , .resetn             ( sys_rst_n     ) ,.locked             ( locked        ) ,  .clk_out1           ( clk_100Mhz    ) ,.clk_out2           ( clk_100Mhz_180Phase ) ,.clk_out3           ( clk_50Mhz     ) ,.clk_out4           ( clk_25Mhz     ) 
);ram_wrA ram_wrA_inst(.sys_clk            ( clk_50Mhz     ) ,.sys_rst_n          ( rst_n         ) ,.ENA                ( ENA           ) ,.WEA                ( WEA           ) ,.ADDRA              ( ADDRA         ) ,.DATA_INA           ( DATA_INA      )  
);blk_mem_gen_0 blk_mem_gen_0_inst(.clka               ( clk_50Mhz     ) , .ena                ( ENA           ) , .wea                ( WEA           ) , .addra              ( ADDRA         ) , .dina               ( DATA_INA      ) , .douta              ( douta         ) 
);endmodule

 

module ram_wrA (input       wire            sys_clk     ,input       wire            sys_rst_n   ,output      reg             ENA         ,output      reg             WEA         ,output      wire    [4:0]   ADDRA       ,output      wire    [7:0]   DATA_INA    
);parameter DATA_NUM = 32 ;reg     [4:0]       cnt_wr ; // 读写计数器。always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) cnt_wr <= 5'd0 ;else if(ENA && (cnt_wr == DATA_NUM - 1))cnt_wr <= 5'd0 ;else if(ENA)cnt_wr <= cnt_wr + 1'b1 ;else cnt_wr <= 5'd0 ;end// output      reg             ENA         ,always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) ENA <= 1'b0 ;elseENA <= 1'b1 ;end// output      reg             WEA         ,always @(posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) WEA <= 1'b1 ;else if(cnt_wr == DATA_NUM - 1)WEA <= ~WEA ;end// output      wire    [4:0]   ADDRA       ,// output      wire    [4:0]   DATA_INA    assign  ADDRA    = cnt_wr ;assign  DATA_INA = {3'b000,cnt_wr} ;endmodule

 

`timescale 1ns/1ns
module test();reg             sys_clk     ;reg             sys_rst_n   ;wire    [7:0]   douta       ;wire            clk_100Mhz  ;wire            clk_100Mhz_180Phase  ;wire            clk_50Mhz   ;wire            clk_25Mhz   ;
ip_top ip_top_inst(.sys_clk                ( sys_clk             ) ,.sys_rst_n              ( sys_rst_n           ) ,.douta                  ( douta               ) ,.clk_100Mhz             ( clk_100Mhz          ) ,.clk_100Mhz_180Phase    ( clk_100Mhz_180Phase ) ,.clk_50Mhz              ( clk_50Mhz           ) ,.clk_25Mhz              ( clk_25Mhz           )  
);parameter CYCLE = 20 ;initial beginsys_clk    = 1'b1 ;sys_rst_n <= 1'b0 ;#( CYCLE * 10 )   ;sys_rst_n <= 1'b1 ;#(CYCLE * 3000)   ;$stop             ;endalways #( CYCLE / 2 ) sys_clk = ~sys_clk ;endmodule// `timescale 1ns/1ns
// module test();
//     reg             sys_clk     ;
//     reg             sys_rst_n   ;//     wire            clk_100Mhz  ;
//     wire            clk_100Mhz_180Phase  ;
//     wire            clk_50Mhz   ;
//     wire            clk_25Mhz   ;// ip_top ip_top_inst(
//     .sys_clk                ( sys_clk             ) ,
//     .sys_rst_n              ( sys_rst_n           ) ,//     .clk_100Mhz             ( clk_100Mhz          ) ,
//     .clk_100Mhz_180Phase    ( clk_100Mhz_180Phase ) ,
//     .clk_50Mhz              ( clk_50Mhz           ) ,
//     .clk_25Mhz              ( clk_25Mhz           )  
// );//     parameter CYCLE = 20 ;//     initial begin
//         sys_clk    = 1'b1 ;
//         sys_rst_n <= 1'b0 ;
//         #( CYCLE * 10 )   ;
//         sys_rst_n <= 1'b1 ;
//         #(CYCLE * 3000)   ;
//         $stop             ;
//     end//     always #( CYCLE / 2 ) sys_clk = ~sys_clk ;// endmodule

时序图:

仿真:

相关文章:

ZYNQ_project:IP_ram_pll_test

例化MMCM ip核&#xff0c;产生100Mhz&#xff0c;100Mhz并相位偏移180&#xff0c;50Mhz&#xff0c;25Mhz的时钟信号。 例化单口ram&#xff0c;并编写读写控制器&#xff0c;实现32个数据的写入与读出。 模块框图&#xff1a; 代码&#xff1a; module ip_top(input …...

Leetcode刷题详解——优美的排列

1. 题目链接&#xff1a;526. 优美的排列 2. 题目描述&#xff1a; 假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm&#xff08;下标从 1 开始&#xff09;&#xff0c;只要满足下述条件 之一 &#xff0c;该数组就是一个 优美的排列 &#xff1a; perm[i] 能够被…...

[PHP]Kodexplorer可道云 v4.47

KodExplorer可道云&#xff0c;原名芒果云&#xff0c;是基于Web技术的私有云和在线文件管理系统&#xff0c;由上海岱牧网络有限公司开发&#xff0c;发布于2012年6月。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。 用户只需通过简单环境搭建&#xff0c;…...

C/C++数字判断 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C数字判断 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C数字判断 2021年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个字符&#xff0c;如何输入的字符是数字&#x…...

云栖大会丨桑文锋:打造云原生数字化客户经营引擎

近日&#xff0c;2023 云栖大会在杭州举办。今年云栖大会回归了 2015 的主题&#xff1a;「计算&#xff0c;为了无法计算的价值」。神策数据创始人 & CEO 桑文锋受邀出席「生态产品与伙伴赋能」技术主题&#xff0c;并以「打造云原生数字化客户经营引擎」为主题进行演讲。…...

如何用java写一个网站:从零搭建个性化网站

随着互联网的迅猛发展&#xff0c;Java作为一种强大而灵活的编程语言&#xff0c;为构建各类网站提供了丰富的解决方案。本文将探讨如何使用Java编写一个个性化网站&#xff0c;并通过具体实例进行深入分析。 第一步&#xff1a;选择适当的技术栈 在着手构建网站之前&#xff0…...

Easyui DataGrid combobox联动下拉框内容

发票信息下拉框联动&#xff0c;更具不同的发票类型&#xff0c;显示不同的税率 专票 普票 下拉框选择事件 function onSelectType(rec){//选中值if (rec2){//普通发票对应税率pmsPlanList.pmsInvoiceTaxRatepmsPlanList.pmsInvoiceTaxRateT}else {//专用发票对应税率pmsPlan…...

力扣学习笔记——11. 盛最多水的容器

链接&#xff1a;https://leetcode.cn/problems/container-with-most-water/ 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的…...

Spring Boot: 约定优于配置的软件设计思想

文章目录 传统Spring框架的繁琐配置1. **管理jar包依赖**2. **维护web.xml**3. **维护Dispatch-Servlet.xml配置项**4. **应用部署到Web容器**5. **第三方组件集成到Spring IOC容器中的配置项维护** Spring Boot的简化与自动化1. Spring Boot Starter启动依赖2. 自动装配机制3.…...

TCP触发海康扫码相机S52CN-IC-JQR-NNN25

PC环境设置 为保证客户端正常运行以及数据传输的稳定性&#xff0c;在使用客户端软件前&#xff0c;需要对 PC 环境 进行设置 关闭防火墙 操作步骤如下&#xff1a; 1. 打开系统防火墙。 2. 在自定义设置界面中&#xff0c;选择关闭防火墙的对应选项&#xff0c;并单击…...

ArcGIS:如何迭代Shp文件所有要素并分别导出为Shp文件?

01 前言 尝试用IDL实现&#xff0c;奈何又涉及新的类IDLffShape&#xff0c;觉得实在没有必要学习的必要&#xff0c;毕竟不是搞开发&#xff0c;只是做做数据处理&#xff0c;没必要拿IDL不擅长的且底层的东西自己造轮子。 这里想到使用Python去解决&#xff0c;gdal太久没用…...

[工业自动化-11]:西门子S7-15xxx编程 - PLC从站 - 分布式IO从站/从机

目录 一、什么是以分布式IO从站/从机 二、分布式IO从站的意义 三、ET200分布式从站系列 一、什么是以分布式IO从站/从机 在工业自动化领域中&#xff0c;分布式 IO 系统是目前应用最为广泛的一种 I/O 系统&#xff0c;其中分布式 IO 从站是一个重要的组成部分。 分布式 IO …...

Linux技能篇-yum源搭建(本地源和公网源)

文章目录 前言一、yum源是什么&#xff1f;二、使用镜像搭建本地yum源1.搭建临时仓库第一步&#xff1a;挂载系统ios镜像到虚拟机第二步&#xff1a;在操作系统中挂载镜像第三步&#xff1a;修改yum源配置文件 2.搭建本地仓库第一步&#xff1a;搭建临时yum源来安装httpd并做文…...

电脑清灰涂硅脂后电脑CPU温度不降反升

目录 一.问题描述二.问题解决三.拆机注意事项四.影响散热的主要因素说明1.通风差2.硅脂材料差3.硅脂涂抹方式错误 一.问题描述 电脑型号&#xff1a;暗影精灵5 测温工具&#xff1a;硬件狗狗&#xff08;只要是测温软件都可以&#xff0c;比如omen hub和Core Temp…&#xff0…...

吴恩达《机器学习》8-1->8-2:非线性假设、神经元和大脑

一、非线性假设 在之前学到的线性回归和逻辑回归中&#xff0c;存在一个缺点&#xff0c;即当特征数量很多时&#xff0c;计算的负荷会变得非常大。考虑一个例子&#xff0c;假设我们使用 &#x1d465;₁, &#x1d465;₂ 的多项式进行预测&#xff0c;这时我们可以很好地应…...

services.Jenkins Additional property tags is not allowed

今天需要给Jenkins server添加几个tag&#xff0c;于是就在docker的compose文件中添加了如下的tags&#xff0c; version: "3.9" services:jenkins:image: testbuild: context: services/jenkinsargs:- jenkins_version2.346.2- plugin_cli_version2.9.3volumes:- j…...

vColorPicker——基于 Vue 的颜色选择器插件

文章目录 前言样例特点 一、使用步骤&#xff1f;1. 安装2.引入3.在项目中使用 vcolorpicker 二、选项三、事件 前言 vColorPicker——官网 vColorPicker——GitHub 样例 vColorPicker是基于 Vue 的一款颜色选择器插件&#xff0c;仿照Angular的color-picker插件制作 特点 …...

Direct3D粒子系统

粒子和点精灵 粒子(是种微小的物体,在数学上通常用点来表示其模型。所以显示粒子时,使用点图元(由 D3 DPRIMITIVETYPE类型的D3 DPT POINTLIST枚举常量表示)是一个很好的选择。但是光栅化时,点图元将被映射为一个单个像素。这样就无法为我们提供很大的灵活性,因为实际应用…...

第24章_mysql性能分析工具的使用

文章目录 1. 数据库服务器的优化步骤2.查看系统性能参数3. 统计SQL的查询成本&#xff1a;last_query_cost4. 定位执行慢的 SQL&#xff1a;慢查询日志4.1 开启慢查询日志参数4.2 查看慢查询数目4.3 测试慢sql语句&#xff0c;查看慢日志4.4 系统变量 log_output&#xff0c; l…...

【Git】Merge/Rebase/Cherriy-Pick的区别

Git Merge/Rebase/Cherriy-Pick的区别 Git merge、Git Rebase、Git Cherry-pick是Git 常用的三个命令,可以用于分支合并、纳入提交等。 那么它们三个的区别以及共同点是什么? 了解这些可以帮我们更好理解Git的工作原理,进而学习它的一些设计思想。 git merge xxx-branch g…...

ClearerVoice-Studio企业级方案:基于SpringBoot的智能客服语音优化系统

ClearerVoice-Studio企业级方案&#xff1a;基于SpringBoot的智能客服语音优化系统 1. 引言 想象一下这样的场景&#xff1a;客服中心每天处理成千上万的客户来电&#xff0c;但通话质量却参差不齐。有的客户在嘈杂的街头打电话&#xff0c;背景是车水马龙的噪音&#xff1b;…...

Hermes Agent 工具-周红伟

工具是扩展智能体能力的函数。它们被组织成逻辑上的工具集&#xff0c;可以在每个平台上启用或禁用。Hermes Agent 附带了一个广泛的内置工具注册表&#xff0c;涵盖网页搜索、浏览器自动化、终端执行、文件编辑、记忆、委托、RL 训练、消息投递、Home Assistant 等。可用工具工…...

Blink-Diff:终极图像对比解决方案,让像素级差异无处遁形

Blink-Diff&#xff1a;终极图像对比解决方案&#xff0c;让像素级差异无处遁形 【免费下载链接】blink-diff A lightweight image comparison tool. 项目地址: https://gitcode.com/gh_mirrors/bl/blink-diff Blink-Diff 是一款轻量级图像对比工具&#xff0c;专为精准…...

别再死记硬背BF算法了!用一个真实的植物病毒检测案例,带你彻底搞懂字符串匹配

从植物病毒检测实战中领悟BF算法的精妙设计 在生物信息学领域&#xff0c;DNA序列匹配是一项基础而关键的技术。想象你是一位农业科研人员&#xff0c;面对果园中突然出现的大面积叶片黄化现象&#xff0c;急需判断是否由某种环状DNA病毒引起。此时&#xff0c;如何快速准确地检…...

Qwen3-Embedding-4B效果实测:32K长文本理解,中文检索表现惊艳

Qwen3-Embedding-4B效果实测&#xff1a;32K长文本理解&#xff0c;中文检索表现惊艳 1. 引言&#xff1a;为什么关注文本嵌入模型 在信息爆炸的时代&#xff0c;如何让计算机真正"理解"人类语言成为关键挑战。文本嵌入模型&#xff08;Text Embedding Model&#…...

Android应用集成:在移动端上传图片调用Ostrakon-VL-8B云服务

Android应用集成&#xff1a;在移动端上传图片调用Ostrakon-VL-8B云服务 你有没有想过&#xff0c;给你的手机应用加上一双“智能眼睛”&#xff1f;用户拍张照片&#xff0c;应用就能看懂图片里的内容&#xff0c;还能回答关于图片的各种问题。听起来像是科幻电影里的场景&am…...

C++代码静态检查脚本工具(指针判空越界访问除0风险)

做了个小项目需要进行代码规范检查&#xff0c;但试了两个CPP静态检查工具&#xff0c;效果都不太好。为了快速迭代维护&#xff0c;直接用pyAI写了个常规代码规范校验脚本工具。目前实现三个功能并封了界面&#xff1a;空指针访问、数组越界访问、除0风险排查。用sample文件夹…...

从零到项目发布:用VSCode和CMake管理你的第一个C++小游戏(Windows平台实战)

从零构建C控制台游戏&#xff1a;VSCodeCMakeGit全流程实战指南 在Windows平台上开发C项目&#xff0c;很多初学者会遇到环境配置复杂、构建工具不熟悉、代码管理混乱等问题。本文将带你用VSCodeCMakeGit这套现代开发工具链&#xff0c;从零开始构建一个完整的控制台猜数字游戏…...

杰理蓝牙耳机SDK实战:如何用软件IIC驱动外置传感器?聊聊LIS2DOC的那些配置坑

杰理蓝牙耳机SDK实战&#xff1a;软件IIC驱动LIS2DOC传感器的避坑指南 在蓝牙耳机开发中&#xff0c;外置传感器的集成往往成为功能创新的关键突破点。当硬件设计限制了触摸区域的使用&#xff0c;三轴加速度传感器便成为实现敲击控制的理想选择。ST公司的LIS2DOC作为一款高性能…...

【AI知识点】交叉注意力机制:从原理到实战,打通多模态信息交互的桥梁

1. 从图文问答看交叉注意力机制的魅力 想象一下这样的场景&#xff1a;你给AI系统展示一张照片&#xff0c;照片里是一只橘猫趴在键盘上睡觉&#xff0c;然后问它"这只猫在做什么&#xff1f;"。要让AI准确回答"猫在键盘上睡觉"&#xff0c;它需要同时理解…...