- 博客(22)
- 收藏
- 关注
原创 宏定义参数为0时,也代表定义为真
在 Verilog 中,`define` 指令用于定义宏。在你的例子中,`define AA 0` 定义了一个名为 `AA` 的宏,其值为 `0`。由于 `AA` 被定义为 `0`,所以 `ifdef AA` 的条件为真。因此,会执行 `X = Y;总结:在这个例子中,会执行 `X = Y;
2025-02-25 11:19:46
86
原创 Setup up time和Hold time
由此可见,数据信号在处理和传输的时间越短,留给时钟上升沿的时间越充足,时钟频率也就可以运行的更快。数据信号在处理和传输中的时间越长,留给Hold的时间越充足。在同步设计中,我们要在时钟的变化沿(上升沿或下降沿,为了便于描述,后面我们统一称为上升沿)对信号寄存器采样。为了保证信号正确的存储,必须要在时钟的上升沿到来之前数据的稳定,这个时间我们称为setup time,由于寄存器的物理特性,数据在有效后必须要稳定一段时间才能完成这个存储过程,这个稳定的时间我们称为Hold time,
2025-01-09 17:45:13
241
原创 Synplify & Synplify_premier软件(转)
DesignWare在DC综合的时候没有多少优化的余地,因为DC调用的已经是DesignWare的版图。让专业的工具干专业的事,Xilinx和Altera虽然都提供自家的FPGA开发工具,但综合速度和结果都比不上synplify,尤其是Xilinx的Vivado综合速度更加慢如牛,在平时的开发过程中,我自己对综合后的资源都不太关心,但综合速度一定要快。作为 Synopsys FPGA 设计解决方案的一部分,Synplify FPGA 综合软件是实现高性能、高性价比的 FPGA 设计的行业标准。
2024-07-16 20:21:43
1015
原创 【无标题】
理解:这是因为bitfile是一个二进制文件,包含FPGA的硬件逻辑和电路功能等所有的信息,把FPGA内部各单元都描述都描述在其中,不同电路仅是对各单元的使用不同,举例对于同一个BUFG,bitfile中包含的是描述BUFG开启或关闭的信息,而非不包含BUFG的信息,因此占用文件空间是一样的。不同电路跑出来的bitfile大小一样,均为54MB左右。
2024-04-24 12:46:57
166
原创 时序约束——多周期约束说明
因此对于hold信号而言,基于缩小2个边沿之间hold延时的要求,如果移动-start发射沿,则保持捕捉沿不动,发射沿只能右移(前调);如果移动-end捕捉沿,则保持发射沿不动,捕捉沿只能左移(后调)2、对于setup的平移,目的是为了让setup的检查的延时增加,基于增大2个边沿之间延时的要求,如果移动-start发射沿,则保持捕捉沿不动,发射沿只能左移(回调);如果移动-end捕捉沿,则保持发射沿不动,捕捉沿只能右移(前调)1、-start对应的是移动发射沿,-end对应移动的是捕捉沿。
2024-04-18 10:13:20
232
原创 svn文件夹被lock
linux 的話找出文件夹中的 .svn文件夹(linux指令通过ls -ap可以显示隐藏文件),刪掉里面的 lock 文件。多层级路径需要逐层删除。在Windows可以在clean up 時選取 break locks。
2024-03-29 17:57:23
273
原创 VIVADO IP核产生的文件
用于VIVADO工程中例化的netlist文件。该文件可用来进行VCS+Verdi联合仿真。1、_sim_netlist.v文件。2、.xci或.dcp文件。
2023-11-14 16:12:18
468
原创 Vivado WNS以及TNS
从上面的Design Timing Summary中可以看出,WNS以及TNS是针对Setup Time Check的,而WHS以及TNS是针对Hold Time Check的,TNS 代表总的负时序裕量 (Total Negative Slack),也就是负时序裕量路径之和。THS 代表总的保持时序裕量 (Total Hold Slack),也就是负保持时序裕量路径之和。这些参数为正表示时序正常,没有违规,否则,表示时序不满足要求,时序违规。
2023-10-30 09:30:40
2309
原创 D触发器与锁存器电路
每个D触发器可有两个D锁存器构成,可看到两级锁存器其CLK连接是不同的,这样两级锁存器工作状态完全相反,一个低电平有效,一个高电平有效,因此对于上升沿捕捉信号的DFF,只有在低电平变高电平瞬间的D端数值才会被传送至输出。
2023-10-10 15:19:04
519
原创 锁存器与触发器
两者都是基本存储单元,锁存器是电平触发的存储器,触发器是边沿触发的存储器。本质是,两者的基本功能是一样的,都可以存储数据。意思是说一个是组合逻辑的,一个是在时序电路中用的,时钟出发的。
2023-10-10 14:52:10
167
原创 linux中.cshrc与.vimrc环境配置文件
vimrc是GVIM的环境配置文件,可以在里面编辑各种自定义功能,让GVIM使用更加方便,例如开启行码、开启highlight等等。csh 是shell的配置文件,存储着对csh的更改,每次启动csh的时候会读取这个文件。
2023-10-09 17:04:09
2387
原创 ZYNQ SDK UART中 inbyte()函数
最近发现在ZYNQ的PS端程序中, 对于初学者仅仅想接收单字节的UART数据,可以不对UART进行任何的初始化或者中断配置。仅仅通过调用这样的函数,每次就可以实现单个字节的读出。例如:ch = inbyte();之后每次会读出一个字节并赋值给ch。...
2021-12-27 00:04:51
765
原创 关于仿真中出现寄存打拍不延迟的情况
在仿真双边沿触发对输入进行两级寄存器打拍的时候,testbench发现,对IO输入的信号,打拍时会直接在当前时钟的上升沿或下降沿寄存成功。分析发现:1其实与双边沿触发并无关系;2打第二拍是正常延迟;3输入信号是上升沿给出还是下降沿给出也无影响;4用uvm仿真环境也依然如此最后发现是:在testbench或者testcase中,如果产生了时钟,则输入信号的产生最好是通过时钟赋值实现,而不是直接通过#10ns in = 1; 这样方式给出。如果通过这样的方式,可能时序逻辑就会变成组合逻辑,相当于后续的
2021-07-16 00:16:04
2611
3
原创 【新手】ISE及Quartus 2 烧录步骤
一、ISE 14.7 下载板子流程(黑金AX516 spartan6)1.1 bit文件下载在下载到板子上时,必须按照下列流程进行,否则结果出不来。1.2 FLASH下载【注:以上教程均来自黑金ALINX板子附属教程,在这里特别推荐一下,新手特别的适合,因为很详细的啊。】二、ISE 13.0 下载板子流程(ALTER ...
2019-09-02 21:00:47
6161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人