- 博客(30)
- 资源 (10)
- 收藏
- 关注
原创 DDR4 timing 参数
ACTIVATE TimingParameterFunctiontRRD_SWhen issuing consecutive ACTIVATE commands to banks of different bank groups, the ACTIVATE commands have to be separated by tRRD_S (row-to-row delay–short)tRRD_LIf the banks belong to the same bank gr
2023-03-28 21:32:05
1164
原创 MIPI协议发布时间表-CSI DSI CPHY DPHY MPHY APHY
MIPI CSI协议发布时间MIPI DSI协议发布时间MIPI PHY协议发布时间
2023-03-16 16:26:50
652
原创 VIVADO时序约束之时序例外(set_multicycle_path)
VIVADO时序约束之时序例外(set_multicycle_path)
2022-11-15 21:10:46
3627
原创 linux下Protocompiler安装HAPS UMRBUS driver教程
HAPS configuration tool UMRBUS驱动安装
2022-07-01 20:28:08
2502
1
原创 Ubuntu常用操作命令
1、查找文件:例如查找当前目录下后缀为.pcf的文件find ./ -name "*.pcf"2、在当前文件/文件夹下查找文件内容中包含字符串aaaa的文件grep -rn aaaa ./3、拷贝文件夹cp -r ./a ./b4、重命名文件夹/文件mv -rf a b5、...
2021-10-15 17:34:51
202
原创 System Verilog语法技巧
1、检测4状态变量是否为X或Z,如果是,返回1:if($isunknown(iport) == 1)begin $display("@%t:4-state value detected on iport %b",$time,iport);end2、数组的定义与初始化int ascend[4] = '{0,1,2,3}; //对4个元素进行初始化ascend[2:1] = '{4,5}; //对中间两元素赋值,{0,4,5,3}ascend = '{4{8}}; //4个值全部为8,
2021-09-13 18:46:02
1293
转载 PCIe的事务传输层的处理(TLP)
转载自:https://www.cnblogs.com/Dinging006/p/9014505.html主要从以下几个方面解决:1.TLP基本的概念:2.寻址定位与路由导向3.请求和响应机制4.虚拟通道机制5.数据完整性6.i/o,memory,configuration,message request、completionTLP类型上文提到,传输层transaction Layer specification是用来接受请求和发送响应的,有四种地址空间,三种处理类型:一类是对IO和me
2021-07-31 14:32:13
1183
原创 windows使用批处理生成文件模板
本示例使用windows批处理生成一段常用的Verilog文件的模板:@color b@echo **********************************************************@echo # @echo #generate verilog file template@echo #
2021-07-28 16:52:05
481
原创 VIVADO异步时钟约束之实例演示
前言vivado在synthesis之后,需要对工程中的时钟进行约束,其中包括异步时钟的约束。异步时钟约束首先需要对FPGA内部的时钟非常熟悉,然后,FPGA设计中,异步时钟之间已经经过异步时钟同步化处理,异步时钟约束可以提高编译器的编译效率,同时可实现FPGA布局布线的最优化。示例演示synthesis完成后,打开综合设计,点击flow navigator中的report clock interaction(也可在tcl对话框中输入“report_clock_interaction -delay_
2021-07-27 19:10:06
6216
1
原创 VIVADO时序约束之Output Delay(set_output_delay)
前言I/O Delay约束主要有两个命令:set_input_delay和set_output_delay。I/O Delay约束的主要目的同时钟约束一样,是告诉编译器,外部输入输出信号与参考时钟之间的相位关系,便于综合器能够真实和准确的对IO接口的信号进行时序分析,同时也有利于综合器的布局布线。注意:I/O Delay约束和 IDELAYE、ODELAYE原语是完全不同的,前者是用于编译器进行时序分析的,后者是对数据进行延时的(由于建立时间和保持时间不满足,导致在接收数据有错时,需要对数据进行延迟,
2021-07-17 20:38:06
25511
6
原创 FPGA实现除法器(verilog)
前言Verilog语法中有“/”和“%”运算符,分别表示除法运算和取余运算,但是FPGA实现除法器时,是否可以直接使用这两个运算符呢?答案是否定的。FGPA的综合工具中,对Verilog的除法指令进行编译时,有以下几种情况:1、如果被除数和除数均为固定数,编译中,借助计算机的除法运算能力,直接将除法运算结果赋给变量;2、如果除数是2的幂次方,编译中,直接通过运算截取被除数相应的位数赋给变量;3、如果被除数、除数是任意变化的数,多数综合工具不能综合出令人满意的结果,有些甚至不能给予综合,即使可以综合
2021-06-28 15:54:40
12563
6
原创 单bit信号跨时钟域处理及时序约束
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2021-06-22 13:04:25
3970
1
原创 VIVADO时钟约束之get_clocks
在使用vivado做异步时序约束时,常常用到get_clocks命令,该命令用于获取当前工程中指定搜索模式匹配的时钟列表。get_clocks语法get_clocks [-regexp] [-nocase] [-filter <arg>] [-of_objects <args>] [-match_style <arg>] [-include_generated_clocks] [-quiet] [-verbose] [
2021-06-21 19:45:01
4400
原创 VIVADO异步时钟域约束(groups)
前言VIVADO默认情况下会对工程中的所有的时钟路径进行时序分析,包括同时钟域和异步时钟域。如果工程中存在异步时钟域,且异步时钟域之间没有信号交互,或者有交互的信号之间已经通过异步时钟同步化处理,则可通过set_clock_groups或set_false_path命令,定义异步时钟域,禁止VIVADO分析异步时钟域之间的时序关系,改善工程的布局布线,同时提高工具的布局布线效率。一、什么叫异步时钟域示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、set_
2021-06-21 12:05:03
13180
2
原创 VIVADO常用的时钟约束语法
文章目录基础时钟周期约束虚拟时钟约束生成时钟重命名自动衍生的时钟基础时钟周期约束基础时钟的定义只可以使用create_clock命令。//定义端口输入时钟CLK0的时钟周期为10ns,占空比为50%,相位无偏移create_clock -period 10.00 [get_ports CLK0]//定义端口输入时钟CLK0的时钟周期为10ns,占空比为25%,相位偏移90°create_clock -name devclk -period 10.00 -waveform {2.5 5} [g
2021-04-13 20:11:39
16833
1
原创 vivado编译器对加法运算编译的逻辑实现级数
VIVADO编译器对加法运算编译的逻辑实现级数vivado软件编译完成后,可打开“实现”,在TCL对话框中输入命令:report_design_analysis -logic_level_distribution -logic_level_dist_paths 5000 -name design_analysis_prePlace,即可打开设计分析窗口,看到每个时钟域下的最大逻辑级数。本次测试以最简单的加法器为例,以下为测试代码。以下为测试结果记录。1、数据源为外部输入,加数和被加数做寄存器处理,
2021-03-26 17:03:03
2336
原创 Vivado环境中对DCP文件进行仿真
Vivado环境中对DCP文件进行仿真Vivado环境中对DCP文件进行仿真Vivado自带的仿真器不可以直接对DCP文件进行仿真,需要转换为.v文件后方可进行仿真,具体操作如下步骤:1.在vivado的脚本操作窗口更改工作路径,默认为:C:/Users/yab/AppData/Roaming/Xilinx/Vivado/,需更改到DCP文件所在路径。指令为:cd [get_property directory [current_project]],指令执行完成后,检查当前工作路径是否为所需的工作路径
2021-03-23 15:34:20
5991
2
原创 vivado支持winbond的FLASH烧写的解决方案
vivado支持winbond的FLASH烧写的解决方案前言:在使用XCKU3P型号(目前仅使用了该型号的FPGA,如有其他型号的FPGA遇到该问题时,也可使用该方案)的FPGA时,利用Vivado2019.2版本的软件,产生BIT流文件后,使用Write Memory Configuration File工具生成MCS、BIN文件时,Memory Part对话框中,可选的FLASH型号中没有winbond型号的FLASH,并且,最后生成MCS文件或者BIN文件后,使用vivado的HARDWARE M
2020-09-28 14:23:48
12584
36
原创 Xilinx使用JTAG打印调试信息
Xilinx使用JTAG打印调试信息本示例的硬件环境为UTRASCAL的KU040的FPGA首先搭建FPGA一侧的硬件平台,使用vivado软件,新建工程,然后新建blockdesign,添加MicroBlaze软核,注意勾选调试功能: 然后点击 设置MicroBlaze_debug_module勾选enable JTAG UART再次点击run connection automation产生最小工程编译综合产生硬件环境,导出硬件平台到SDK,加载SDK。新建hello worl
2020-07-27 14:00:51
5518
AMBA-AXI总线详解
2017-10-17
SATA3.0协议
2017-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人