摘要: 一. FIFO介绍 基本概念 FIFO(First In, First Out)是一种常用的数据结构,用于存储和处理数据。它的工作原理与排队的顺序类似,遵循"先进先出"的原则。即,第一个进入FIFO的数据会是第一个被取出的数据。在FPGA设计中,可以使用AM作为FIFO的存储单元,再通过控制逻辑来管 阅读全文
posted @ 2024-11-14 17:52 羊的第七章 阅读(482) 评论(0) 推荐(0)
摘要: 一、起因 最近在开发Lattice的一款低功耗FPGA时,遇到了reg初始化复位问题,经过在网上搜寻相关资料整理如下; 二、FPGA中reg的初始化方式 在定义时初始化,例如: reg r_test = 1'b1; 在复位语句中,对reg进行赋值,例如: reg r_test; always@(po 阅读全文
posted @ 2024-11-08 16:37 羊的第七章 阅读(411) 评论(0) 推荐(2)
摘要: 一、开发工具: ICEcube2,界面非常原始,只有PLL IP核添加功能,其他IP核貌似只能使用primitive替换。 不支持时序分析、在线仿真等功能。 二、原语使用 全局布线资源 在 iCE40 FPGA 设备中,有 8 个高驱动缓冲器,称为全局缓冲器(Global Buffers,GBUFx 阅读全文
posted @ 2024-10-31 11:37 羊的第七章 阅读(325) 评论(0) 推荐(0)
摘要: 一、为什么需要复位? 在FPGA上电时,需要对reg、fifo等器件进行复位,以确保系统处于已知的状态,同时可以通过复位清除系统的错误异常状态。 二、复位的方式 从是否与时钟同步与否可以分为异步复位和同步复位。 点击查看代码 ` // 同步复位方式: always@(posedge sys_clk) 阅读全文
posted @ 2024-10-26 10:58 羊的第七章 阅读(518) 评论(0) 推荐(0)
摘要: 一、时序约束的目的 由于实际信号在FPGA内部期间传输时,由于触发器等逻辑期间并非理想期间,因此不可避免地存在传输延时,这种延迟在高速工作频率、高逻辑级数时会造成后级触发器地建立时间和保持时间不满足,造成时序违例。(这也是为什么需要把FPGA设计不能以高级编程语言思想看的原因,设计时,需要做到“心中 阅读全文
posted @ 2024-10-20 17:38 羊的第七章 阅读(542) 评论(0) 推荐(0)
摘要: 历史修改信息 版本 更改描述 更改人 批准人 修订日期/生效日期 A01 发布首版 ldy 一、目的 作为我司verilog开发过程中的输入文件,用于统一FPGA开发人员的代码风格。从而在满足功能和性能目标的前提下,能够规范代码和优化电路,增强代码的整洁度、可读性、可修改性、可维护性、可重用性、可移 阅读全文
posted @ 2024-10-17 09:52 羊的第七章 阅读(516) 评论(1) 推荐(1)