FPGA
文章平均质量分 82
芯想是陈
studying......
展开
-
CPU设计之分支预测
如果我们在取指令阶段的时候,就可以“提前知道”该指令是否为分支指令,并且可以知道它的方向(跳或不跳),以及相应的目标地址(target address)的话,那么就可以直接在下一个周期从分支指令的目标地址开始取指令,这样就不会对流水线产生影响,从而避免了做无用功。对于这种不需要等待分支指令的结果真的被计算出来,而是提前就预测结果的过程就是分支预测。一件东西之所以可以被预测,一定是它本身具有某些特点,使得预测其成功的概率是大于百分之五十的,这种情况下做预测才有相应的意义,我们后面再展开讲这一点。原创 2024-02-19 23:43:26 · 885 阅读 · 0 评论 -
$monitor和$strobe都看的是啥
monitoron的效果与$monitoroff刚好相反,主要用于再次启动激活$monitor任务,在$monitoron执行后,如果$monitor监测的参数发生变化,则会触发$monitor的执行。示例中,$monitor位于过程块中,sig从0时刻开始,每发生一次变化,$monitor就会执行一次,可见$monitor会持续监测其中参数的变化,只要其中参数发生变化,$monitor就会执行。Ø$strobe和$monitor监测的相关变量的值,都是这些变量在当前时间槽中的最终稳定值;原创 2024-01-27 22:02:59 · 852 阅读 · 0 评论 -
数字前端/FPGA设计——握手与反压问题
声明:本文来自0431大小回前言:在芯片设计或者FPGA设计过程中,流水设计是经常用到的,但是考虑数据安全性,需要与前后级模块进行握手通信,这时候就需要对流水数据进行反压处理,本文将具体介绍握手与反压。本文讲述valid-ready握手,下面列出三种握手情况,目的是解释清楚握手的时序。原创 2024-01-15 21:52:25 · 1547 阅读 · 1 评论 -
FPGA节省资源篇------正确处理设计优先级
幸运的是,由于所有触发器的内部结构都是相同的,一旦我们知道了它们的优先级规则,那编写符合它们工作方式的代码就很容易了。在上面的示例中,由于设计中的时钟使能信号ce的优先级高于置位信号set,这违反了定义的优先级顺序(reset>set>ce),所以综合工具只能使用多余的资源来实现这一功能,这就是为什么会多出来一个LUT的原因。可以看到,这个6输入与门的使用的资源是4输入与门的两倍。下面的代码也是4输入的与门,但是增加了复位信号reset、置位信号set和时钟使能控制信号ce:。原创 2024-01-13 21:36:54 · 1202 阅读 · 1 评论 -
时空联合3D降噪算法
图像是2D的空间域上的像素,随着时间的延续,每秒25、30、60帧,就成了视频,那么2D也就扩展到了3D,因此我们直接从3D来解释如何降噪(当然3D也包含了2D)。原创 2024-01-12 17:05:33 · 1616 阅读 · 0 评论 -
FPGA怎么用Vivado做verilog代码覆盖率分析
第三步:做如下设置,其中cover是我们想要设置的覆盖率的名字,这个可以自己设置,./是覆盖率信息放置的位置,这两项都可以根据自己的使用来设置。sbct是设置想要收集哪些覆盖率信息,s是行覆盖率,b是分支覆盖率,c的条件覆盖率,t是翻转覆盖率。这样在我们仿真的时候就会进行覆盖率的收集了。然后就可以看到在对应的仿真目录下生成一个xsim.codeCov的目录,因为我设置的./所以生成的信息放在了这个目录下。在做仿真的时候往往会去做代码覆盖率和功能覆盖率的分析,来保证仿真是做的比较充分完备的。原创 2024-01-12 16:36:07 · 669 阅读 · 0 评论 -
FPGA时序分析实例篇(下)------底层资源刨析之FDCE和Carry进位链的合理利用
声明:本文章部分转载自傅里叶的猫,作者猫叔本文章部分转载自FPGA探索者,作者肉娃娃本文以Xilinx 7 系列 FPGA 底层资源为例。。其中最为主要的是可编程输出输出单元、可编程逻辑单元和布线资源。这些逻辑单元的内部结构像大型“停车场”。原创 2024-01-12 15:17:53 · 1225 阅读 · 0 评论 -
FPGA时序分析实例篇(上)------逻辑重组和DSP资源合理利用
本篇介绍了一次时序调优的过程,也就是重新修改代码逻辑,解决时序瓶颈(本文是缩小Logic delay)。在设计初期就应该考虑到这个问题,比如DSP的流水线寄存器,BRAM的输出寄存器这些在设计初期就考虑使用到它们,来获取更好的时序。原创 2024-01-12 14:34:39 · 1447 阅读 · 0 评论 -
FPGA应用领域/细分方向
这一并行机制使得 FPGA 特别适合于完成 FIR 等数字滤波这样重复性的数字信号处理任务,对于高速并行的数字信号处理任务来说,FPGA性能远远超过通用 DSP 处理器的串行执行架构,还有就是它接口的电压和驱动能力都是可编程配置的不像传统的 DSP 要受指令集控制。传统的做法是对应的接口使用对应的接口芯片,例如 PCI 接口芯片,当我需要很多接口时我就需要多个这样的接口芯片,这无疑会使我们的硬件外设变得复杂,体积变得庞大,会很不方便,但是如果使用 FPGA 优势立马就出来了。原创 2024-01-12 13:56:38 · 355 阅读 · 0 评论 -
基于FPGA的UART多字节环回实验verilog代码(含帧头帧尾和解码部分)
发送数据为:aa ff 03 00 0E 03 B1 86 10 00 40 01 11 00 00 00 00 00 00 00 11 00 00 00 00 00 11 11 55 CC。链接:https://pan.baidu.com/s/1M_E8hh8MNzZKfbq3mVitig?采用VIVADO开发环境,频率50MHz,波特率 256000,8位数据位,1位停止位。串口接收程序源自正点原子的例程。原创 2023-04-09 22:21:20 · 1886 阅读 · 15 评论