【精品博文】一种借助EBR实现数据延时的方法

  数据延时线(Delay Line)在数字信号处理中具有广泛的应用,例如FIR滤波器设计中就会需要用到数据延时线。实际上,在绝大部分的Pipeline设计中都会需要用到数据延时。本文介绍一种基于EBR(Embedded Block RAM,Xilinx叫做BRAM,Altera叫做Embedded memory)的数据延时的实现方法。

  如下图所示:

  

  将EBR配置为单端口的RAM(即RAM_DQ),其中,Write Mode配置为Read before write。即同时对同一地址进行读写操作时,将首先读取出改地址空间的原有数据,然后在将新的数据写入到该地址空间中。如下图所示:

  

  此模式下的波形图为:

  

  假定计数器模为4,并将WE信号接高电平,RAM的初始值为0,则相应的时序图如下图所示:

  

  在第一帧地址内,从0号地址读出的数据为0,再将数据A写入0号地址中,从1号地址读出的数据为0,再将数据B写入1号地址。类似的,数据C和数据D分别被写入到2号地址和3号地址中。在第二帧地址内,从0号地址读取出的数据即为在第一帧地址内写入的数据A,类似的,从1~3号地址中读出的数据分别为B,C和D。由于我们使能了输出寄存器,所以从输入端DIN到输出端DOUT一共有5级时钟周期的Latency。

(0)

相关推荐

  • Windows数据恢复技术

    系统主引导记录MBR的结构和作用详解 MBR磁盘分区都有一个引导扇区,称为主引导记录,英文简称为MBR. MBR的结构 MBR扇区位于整个硬盘的第一个扇区:按照C/H/S地址描述,即0柱面0磁头1扇区 ...

  • ram在单片机里有什么样的作用?

    单片机就是个小计算机,大计算机少不了的数据存储系统,单片机一样有,而且往往和CPU集成在一起,更加显得小巧灵活.直到90年代初,国内容易得到的单片机就是8031:不带存储器的芯片,要想工作,还必须外加 ...

  • 凔海笔记之FPGA(十):玩一玩DS1302

    现在这日子过得,一周四节课,没有考试没有作业更没有实验课,真不知道说什么好,还是来说说DS1302吧.(- ̄▽ ̄)-            它生有八脚,电源分主备,晶振有要求,时序有讲究,可记年月日, ...

  • PLC的M究竟是什么,今天就来认识它!

    跟我学PLC 114篇原创内容 公众号 最近几天论坛火热,有大虾表示PLC编程中不用M和T.我发现大家有些观点有误,这段时间比较忙,但忍了很久,实在忍不住了,抽半天时间写篇文章. 用不用先不说,首先得 ...

  • 增强型51单片机扩展方式

    文/Edward 大家是否思考过一个问题,为什么现在的51单片机在做宣传的时候,不外乎都是称作为"增强型51单片机"?与传统的51单片机相比,究竟哪些地方得到了扩展? 在回答这个问 ...

  • 凔海笔记之FPGA(十一):SDRAM

    对于SDRAM,就以以下四个方面来写下自己的笔记吧 1.初探存储器 2.对SDRAM的认识 3.Verilog综合的SDRAM单字节读写时序 4.多字节读写和页读写 嗯,就这样 下图这个,学过数电的都 ...

  • 【精品博文】FPGA串口通信及数据解析

    之前博客中介绍过FPGA中uart的实现,最近做了一个上位机,用于控制红外相机的工作状态,当然,协议也是自定义的.界面如下,包含相机校正算法的选择.图像增强算法参数的调整.不同算法的切换.参数的调整以 ...

  • 【精品博文】在Lattice当实习生是一种怎样的体验

    首先,介绍一下我的个人背景.本科毕业于江苏省某普通一本院校,期间因为参加过一些竞赛,也获得一些奖项,然后被保送到上海某211高校继续攻读硕士研究生.对于FPGA,说会也不算是会,说不会吧,也了解那么一 ...

  • 【精品博文】解读x86、ARM和MIPS三种主流芯片架构

    指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分,代表架构分别是x86.ARM和MIPS. ARMRISC是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一个时 ...

  • 【精品博文】vivado中几种仿真

    关于BSP--BSP全称board support package,一般翻译为板级支持包,它主要是在系统上电后进行一些基本的初始化,BSP一般是和特定的硬件平台以及操作系统相关的.在大多数情况下,BS ...

  • 【精品博文】职场第一天——遇见另一种生活

    作为一个北方人,我的体质一直挺怕冷的,回想下自己的大学生活,就夏天还跑跑步,一过十一就开始猫冬了,实在是运动的少的可怜,不知不觉变成了160多斤的胖子. 讲道理的话,留在北京工作离家近,亲戚.朋友.同 ...

  • 【精品博文】使用 Bundle在Activity间传递数据

    使用Bundle在Activity间传递数据,是android开发中非常重要的一个方法,今天就谢谢如何实现. 1.从源Activity 中传递数据 //数据写入Intent Intent openWe ...

  • 【精品博文】ARM中打印函数print 的几种实现方法

    【精品博文】ARM中打印函数print 的几种实现方法

  • 精品凉菜100种制作技术

    精品凉菜100种制作技术

  • Python 导入 8 种数据文件的方法

    数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...