- 博客(10)
- 收藏
- 关注
原创 Vivado时序违例debug
显示了数据路径延迟。例如,对于违例路径,若布线延迟超过50%,说明该延迟是导致时序不能收敛的主要因素,因此可围绕降低布线延迟这一靶心达到时序收敛。对于跨时钟域路径,Requirement数值会有所变化,但如果数值为0.1,显然是不合理的。目的时钟路径单元,时钟从adc0_bufg/O输出,到达PLLE4_ADV,经过BUFGCE输出,最终到达SRLC32E移位寄存器,对应。源时钟路径单元,时钟从adc0_bufg/O输出,到达PLLE4_ADV,经过BUFGCE输出,最终到达FDRE触发器,对应。
2025-08-28 14:25:54
1370
原创 Conda安装与配置
Conda:可以管理Python环境和包,支持跨平台,可以安装语言无关的软件包。pip:专注于Python包的安装,是Python官方推荐的包安装工具。Conda官方DOCSAnaconda官方DOCSconda和pip安装流程、源配置、常用命令【Conda与Pip的完美融合】在Conda环境中优雅使用pip指南一文教会你如何对pip、conda换源/查看当前源/删除当前源保留默认源。
2025-08-28 14:04:59
1930
原创 VScode插件配置相关
这里以jupyter为例,安装时报一下版本不兼容的错误,此时有两种解决办法,一是重新下载与当前版本相适应的插件安装包,二是修改插件的配置文件,这里介绍第二种方法。除了指令外,也可以直接GUI操作安装,鼠标选择Install from VSIX,然后选择路径即可。,直接使用安装包重新安装,可以保留之前的配置以及插件功能,安装时后全选以下配置。首先需要明确当前Vscode的版本,点击help-about即查看版本。如果Code可以连接外网,则直接点击安装即可,此方法在内网机无法使用。,表示状态是禁止的;
2025-08-28 14:02:23
464
原创 PS MAC EMIO + PS MAC MIO双网口驱动的修改
前言当前项目经常使用到PS侧双网口开发,但无论是ZCU102开发板还是ZCU208开发板,在PS侧都只留了一个网口,因此在仍然使用PS侧的双Mac的情况下,可以选择将其中一个Mac通过EMIO的形式映射到PL侧的引脚上,PL侧通常会预留SFP的插座,因此可以选择RJ45的SFP插头实现物理层的连接。
2025-08-28 13:58:14
1786
1
原创 Vivado仿真问题杂记
sim/下面查看有没有正确生成.protoinst文件如下图所示,如果没有则reset output products 然后重新generate output products。使用AXI VIP进行仿真,但是simulator-scope-objects中并没有总线信号集合,只有分离的信号。问题出在当前DUT没有正确生成总线协议相关的文件.protoinst。分析是.v添加都bd中生成ip的时候出现问题,因此在.gen中的文件全部删除,重新生成,问题解决。窗口中也会出现总线信号集合。
2025-08-28 13:52:14
785
原创 AXI DataMover使用
是一种特殊的工作模式,用于处理数据长度未知或动态变化的传输任务。标准的DMA传输中,BTT(Byte Transfer Count)需要在传输开始前明确指定,这意味着传输的数据长度必须是已知的。Store and Forward 用于确保数据在传输过程中的完整性和正确性,通常用于处理数据生产者(Producer)和数据消费者(Consumer)之间的速率不匹配问题。(2)达到最大传输长度:如果设置了最大传输长度(Max BTT),DataMover会在达到该长度时停止传输。最高支持到256拍的突发传输。
2025-08-28 13:47:07
1083
原创 AXI DMA使用经验
DMA结构如下,通过DataMover进行数据的搬运,进行数据流和内存之间的交互。内存端的是AXI总线,数据流端的是AXIS总线。AXI-Lite总线进行DMA的寄存器配置,AXI_SG总线完成集散模式下的配置信息加载。DMA寄存器数据存储为小端模式,即低地址存放数据的LSB,高地址存放数据的MSB。
2025-08-28 13:41:54
1170
原创 Vivado封装AXI IP
包括总线数量,总线类型(主从、Lite、Full、Stream),数据位宽(这里不能更改,后文详述)以及总线寄存器的数目(配置总线功能),以及存储空间大小(只有从Slave-Full才可以选择),一般来说常为下图结构,AXI-Lite Slave作为参数配置总线,AXI-Stream Master作为数据流总线。映射方法是,在左边的AXI信号框里选中一个信号名称,在右边的.v文件信号框里选中一个信号名称,点击下方的Map Ports,即完成了代码到总线的信号映射。这里要说明一下地址映射的作用,这是。
2025-08-28 13:32:05
1097
原创 Vivado运行UVM并实现覆盖率提取
DUT是用Verilog写成的时序电路,而reference model则可以直接使用SystemVerilog高级语言的特性,同时还可以通过DPI等接口调用其他语言来完成与DUT相同的功能。功能覆盖率依赖于仿真定义,可见例程的adder_4_bit_coverage.sv中定义的覆盖率group,主要是各个变量按照数据位宽对所有情况的数据的覆盖。UVM运行run_test()方法时需要指定case,例程是通过xsim的选项指定的,因此自己创建的工程一定要添加这个。运行不同用例时,在其中实例化env即可。
2025-08-28 12:20:00
980
原创 2021-10-14
电脑更换硬盘之后系统迁移及相关问题的解决系统迁移迁移前的准备开始迁移手动设置系统启动顺序如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入系统迁移不少朋友在电脑升级过程中会冒出来这样一个想法,硬盘更新换代了,但是只用新硬盘来存东西多少会心有不甘(以笔者为例,新加了一块97
2021-10-14 17:11:33
2378
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅