
FPGA随记
文章平均质量分 50
各位大佬看看我
充盈自己的大脑 丰富自己的内心
展开
-
FPGA随记-二进制转格雷码
在FIFO的设计中,在写请求中,写地址在写时钟作用下递增,在产生FIFO满信号时,需要将写地址和读地址进行比较,由于两个地址分别与其各自的时钟同步,但是彼此之间又是异步的关系,所以在使用二进制计数器实现地址的时候,就会出现现取样值错误的问题。在现代数字通信中,格雷码在错误纠正中扮演着重要的角色。反射二进制码(RBC),也称为反射二进制(RB)或格雷码(Gray code),得名于Frank Gray,是二进制数制的一种排列方式,使得连续两个值之间仅有一个比特(二进制位)不同。//右移一位并按位异或。原创 2024-09-19 21:13:13 · 1045 阅读 · 0 评论 -
FPGA随记——状态机
三段式:有三个always block,一个时序逻辑采用同步时序的方式描述状态转移,一个采用组合逻辑的方式判断状态转移条件、描述状态转移规律,第三个模块使用同步时序的方式描述每个状态的输出。代码容易维护,时序逻辑的输出解决了两段式组合逻辑的毛刺问题,但是从资源消耗的角度上看,三段式的资源消耗多一些,且输出比另外两种会延时一个时钟周期。编码原则,binary和gray-code适用于触发器资源较少,组合电路资源丰富的情况(CPLD),对于FPGA,适用one-hot code。对于大规模设计,HDL更好;原创 2024-09-11 11:39:46 · 2368 阅读 · 0 评论 -
FPGA随记——仿真时钟
占空比。原创 2024-09-08 15:18:30 · 851 阅读 · 0 评论 -
FPGA随记——小说 可综合和不可综合
当然,工具会对必要的地方做一些优化,比如你写一个电路assing a=b&~b,这样工具就吧a恒接为0了,而不会去给你找一个与门来搭这个电路。2、有限的延迟值:如果 # 后面跟的是一个有限的整数值,这通常表示一个固定的延迟,这样的用法在某些综合工具中可能被视为可综合的。1、任意延迟:如果 # 后面跟的不是一个整数值,或者是一个表达式,这通常被视为不可综合的,因为它不能直接映射到硬件。任意延迟:如果 # 后面跟的不是一个整数值,或者是一个表达式,这通常被视为不可综合的,因为它不能直接映射到硬件。原创 2024-09-06 11:18:02 · 2221 阅读 · 0 评论 -
FPGA随记——移位寄存器
数电知识——移位寄存器:移位寄存器——数电第六章学习-优快云博客移位寄存器在FPGA中:FPGA原理与结构(5)——移位寄存器(Shift Registers)-优快云博客原创 2024-09-05 11:21:31 · 579 阅读 · 0 评论 -
FPGA随记——OSERDESE2和IERDESE2
后面需要学习一下,并记录一下。原创 2024-09-03 12:00:08 · 839 阅读 · 0 评论 -
FPGA随记——8B/10B编码
由于光模块光模块只能发送亮或者不亮,也就是0或者1这两种状态这种单极性码,那么这会存在一个问题,如果传输中出现较长的连0或者连1(例如111111100000000),那么接收端将没有办法正确的采样识别信号,另外还会由于单极性码含有直流分量,这种直流成分会随数据中1和0的随机变化也呈现随机性,这会引起接收端的基线漂移导致接收端误判。LVDS信号一样会存在这个问题,随着线路上的信号频率越来越高,如果线路上的0和1数量不均衡(直流不平衡)那么线路上的基电压会出现偏移,一样会导致解码错误。基电压偏移是啥意思?原创 2024-09-02 22:51:03 · 998 阅读 · 0 评论 -
FPGA随记——ROM的配置文件怎么生成
需要解决后面记录一下。现在还不知道怎么做到。原创 2024-09-02 16:36:06 · 513 阅读 · 0 评论 -
FPGA随记---inout端口的处理
为了进一步考虑,当一个模块的inout端口作为输出时,那么另一个模块的inout端口必须作为输入;反之,当一个模块的inout口用作输入时,那么另一个模块的inout口一定是输出口。那么,连接到inout口的另一个模块是什么情况呢?显然,另一个模块也应该是一个inout端口,一个inout端口不能独立存在。解决这个问题的方法是将DataIn声明为reg类型,将reg类型变量复制到always进程块中,需要添加一个控制信号,由always敏感表监控,保证inout端口的输出不能直接贯通到Datain处。原创 2024-09-02 15:07:41 · 2057 阅读 · 0 评论 -
FPGA培训——Block Design的应用
由于VIVADO图形化的编程方式中大量应用,所以我们大部分时候都需要对IP进行图形化的封装,前面两节课实验,我们已经完成了简单IP的封装。本实验利用前面图形化IP设计基于图形化的FPGA设计方案,实现"RGB转HDMI显示输出"这节课的内容。原创 2024-08-26 15:22:09 · 3237 阅读 · 0 评论 -
FPGA随记——赛灵思手册总结(持续补充中)
UG949 -UltraFAST 设计方法指南(适用于 Vivado Design Suite) 赛灵思® UltraFast™ 设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标。UG471-7 Series FPGAs SelectIO Resources 描述 7 系列 FPGA 中可用的 SelectIO资源。原创 2024-08-19 14:59:55 · 540 阅读 · 0 评论 -
FPGA随记——Clocking Wizard(时钟向导)IP
MMCM(Mixed-Mode Clock Manager)和 PLL(Phase-Locked Loop)作为频率合成器,它们不仅可以广泛应用于频率范围的调节,还可用作外部或内部时钟的抖动滤波器,以及桌面时钟的控制器。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相 位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。主要用于为内存接口生成所需的时钟信号,但也具有与器件逻辑的连接,因此如果需要额外的功能,它们可以用作额外的时钟资源。原创 2024-08-19 11:40:04 · 1427 阅读 · 0 评论 -
FPGA随记--PWM调制
自己查一下别人写的就行,不用再写了。原创 2024-08-16 12:00:47 · 453 阅读 · 0 评论 -
FPGA随记——按键消抖
软件消抖的原理主要为按键按下或松开后,由处理器延时 5ms 至 20ms,然后。一般可以进行硬件消除抖动和软件消除抖动,我们不管硬件消除抖动;再对按键状态进行采样并判断。原创 2024-08-16 10:33:39 · 143 阅读 · 0 评论 -
【无标题】FPGA随记-FPGA时序优化
第二个是消除代码中的优先级。数据的时延一般就是组合逻辑的时延和布线时延两部分,布线时延一般控制不了,所以只用关注组合逻辑的时延,一般时序差的路径上都会有很复杂的多级组合逻辑,插寄存器的时候插到这些组合逻辑的中间就可以。32BIT的比较器,进位链有点长,可以分段比较,分成4个8BIT的数据段去比,或者你分成两段,先比高16,插寄存器,再比低16,时序很好,如果想深入些,就自己手写一个比较器,不要调库。如果时序差的不多,在1NS以内,可以通过修改综合,布局布线选项来搞定,如果差的多,就得动代码。原创 2024-08-14 12:00:07 · 724 阅读 · 0 评论 -
FPGA随记-ILA的使用
赛灵思芯片中集成逻辑分析仪使用的介绍,后续有需要再补充转载 2024-08-12 12:01:08 · 251 阅读 · 0 评论 -
FPGA随记-FPGA软失效(SEU问题)
什么是FPGA软失效原创 2024-08-12 11:59:51 · 910 阅读 · 0 评论 -
FPGA随记——赛灵思OOC功能
方式的 模块除外,它们独立于顶层设计而单独综合。通常,在整个设计周期中,顶层设计会被多次修改并综合。模块会被视为黑盒子,并且 不会参与到顶层的综合中来。OOC 模块只会在综合顶层之前被综合一次,这样在顶层的设计迭代过程中,模块的黑盒子才会被打开,这时其网表才是 可见的,并参与到全局设计的实现过程中来。模块就不必跟随顶层模块, 而一次次的产生相同结果的多余综合了。流程减少了设计的周期,并消除了设计迭代,使您可 以保存和重用综合结果。)综合方式,将顶层之下的所有逻辑模块都进行综合,但是设置为。原创 2024-08-02 11:22:24 · 332 阅读 · 0 评论 -
TCL五元组
PORT:每个port会占用一个FPGA的外部管脚,成为package pin ,每个package pin都在IObank中。CELL:可以是实例化后的模块,也可以是LUT,DSP48E等资源,它们有相应的PIN。PIN:CELL的输入/输出且为wire型的接口为PIN.原创 2024-07-30 11:54:15 · 119 阅读 · 0 评论 -
FPGA随记——逻辑综合
FPGA逻辑综合原创 2024-07-31 11:29:40 · 369 阅读 · 0 评论