参数化的延迟链代码分享
在日常写代码的过程中,我们经常会用到“打拍”的操作。如图1代码段所示。这个打拍的作用,很多时候主要是为了减少亚稳态。图1这样的写法,是我们的常规操作。这样写的好处是简单明了,让人一看就能明白。 大部分时候,我们都采取这样的写法。今天,想从参数化和模块化的角度,来看下该怎么实现这种打拍操作。虽然对于“打拍”操作来说有点化简为繁,画蛇添足的感觉,但是重点是想通过这个实例来介绍设计中的一种思想:就是我们要尽量把经常用的模块进行参数化和模块化,这样可以提高开发效率,避免重复造轮子。
图1
这里给出一个名词:延迟链。可能你没有听过,但是上面的“打拍”操作是不是有点像这个名词的字面意思?这里就不介绍它了,下面直接给出我的代码,本代码实现了参数化的延迟链功能。其中,DW是Data Width的缩写,意思是待延迟的数据的位宽。比如上面图1代码中的数据位宽为1位(cs_n1dly)。比如有些地址、数据位32位,打3拍,那么把DW设置为32,LEN设置为3。本代码已经经过仿真,功能正确。 放出完整代码,如下:
图3
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
原文标题:零碎知识 | 参数化的延迟链代码分享
文章出处:【微信号:fpga加油站,微信公众号:fpga加油站】欢迎添加关注!文章转载请注明出处。
相关推荐
SAN网络性能有着至关重要的作用,今天主要给家介绍SAN网络主要延迟类型(主要包括链路延迟和交换机延迟,主机延迟和存储
发表于 01-07 16:20
`区块链软件谈:去中心化原理最大基尼系数:区块链去中心化程度的粗略衡量标准我们可以把子系统去中心化的这些衡量标准样例结合,来衡量一个系统的去
发表于 11-20 16:02
延迟变体之间的权衡因素使用公式化和基于规程的方法来设计链路延迟使用德州仪器 (TI) 的 ADC16DX370 或 LM97937 ADC 以及 Xilinx Kintex 7 FPG
发表于 11-21 16:51
请问,要搭一个传输链路,链路中的ADC和DAC的参数,比如:采样率和分辨率一定要一样吗?中频模拟信号,先模数转换数字化进行传输,之后需要数模转换,前后的ADC和DAC采样率和位数是否要
发表于 01-18 19:45
使用iMPACT我无法初始化链。在初始边界扫描时,弹出以下错误:有许多未知设备被检测到。按是继续或按否停止。我还收到以下错误:错误:iMPACT - 硬件配置中可能存在问题。电缆,扫描链和电源连接
发表于 09-16 10:32
你好,我是这个嵌入式程序的新手。我想眨一下2s延时的LED灯。AM使用OSC。FRQ30MHz,PIC-18F420,MPLABXIDE,XC8编译器。我得到一个错误的错误:(1355)内联延迟参数
发表于 10-22 12:19
各位好,我想问个问题,就是如果使用延迟发布,在临界段代码中发生了中断,是不是将参数什么的写入终端队列后,让中断队列处理任务进入就绪态,但此时因为任务调度器是锁定的,应该会先把中断任务处的临界段
发表于 04-21 04:35
的V3代码生成器来生成延迟函数。这一次的流水灯程序一个是用板子上的两个LED来左右闪烁,二者是利用左移或者右移函数来实现。延迟函数的生成点击工具,再点击V3代码生成器,会出来如下窗口。
发表于 12-06 06:55
方式:some.where.else.theSignal.pull()在生成RTL代码时,会讲该信号声明一个端口链接偷穿到我们这一级的Component。Component参数化设计与我们编写Verilog时相同,在Spinal
发表于 07-21 14:20
FPGA 设计的硬件语言Verilog中的参数化有两种关键词:define 和 paramerter,参数化的主要目的是代码易维护、易移植和
发表于 12-26 09:53
•857次阅读
设计人员必须注意几个重要参数,以保持处理复合视频信号(CVBS)的图像质量。色度和亮度,光信号的颜色和亮度,是两个这样的参数。色度到亮度延迟失配参数与群
发表于 01-13 14:23
•2415次阅读
基于此,京东供应链研发部自研了一套,面向业务角色的海纳低代码规则引擎平台,产品定位是面向业务、研发多角色一体化的零低代码开发平台,这其中规则引擎是其最核心的部分之一。
发表于 04-11 09:55
•582次阅读
参数化的代码需要在灵活性和复杂性之间做出平衡,而且高度参数化代码的验证是一个非常具有挑战性的工作
发表于 05-05 09:16
•1584次阅读
,因为我们可以更轻松地将代码从一个设计移植到另一个设计。
我们在verilog中有两个可用的结构,可以帮助我们编写可重用的代码 - 参数化和generate语句。这两种结构都允许
发表于 05-11 15:59
•1045次阅读
在单片机项目开发过程中,经常会出现一个有趣的问题,即弄清楚如何延迟代码执行。有时,[单片机开发]人员可能只是希望有10微秒的延迟,以使I/O线在读取之前稳定下来,或者可能希望在两次读取之间指定的时间间隔使它反跳。在本文中,我们将
发表于 07-10 10:43
•2112次阅读
评论