- 博客(9)
- 收藏
- 关注
原创 状态机、一段式状态机、两段式状态机和三段式状态机的区别
(输出可能随输入变化 “异步” 更新,若用组合逻辑生成,可能存在毛刺;(输出信号与状态同步,在时钟沿更新,无毛刺风险(若输出通过寄存器寄存)。(输出与时钟同步,便于下游电路做时序约束),适合对输出稳定性要求高的场景(如控制信号、跨时钟域交互)。)直接由当前状态和输入通过组合逻辑生成,可能随输入或状态的变化 “立即响应”(无需等待时钟沿)。)变化时,输出可能因路径延迟差异产生短暂的错误信号(尤其是复杂输出逻辑),影响下游电路稳定性。)在时钟沿同步更新,与状态跳转保持时序一致,避免了组合逻辑的毛刺。
2025-09-23 16:00:24
411
原创 时序违例、亚稳态
如果在电路中的2级D触发器之间的组合逻辑电路深度过深或者逻辑过长,可以考虑分步进行,将一段过长的理解分成两个或者多个步骤分别实现,以减少每个时钟周期内Tdata的逻辑运算时间,从而增大留给建立时间Tsu的时间余量Tslack。在不影响原有逻辑的基础上,增大数据传播所需要的时间,从而增大留个保持时间的时间余量。建立时间违例的发生,会导致数据在没有充足的时间在时钟上升沿到来前从而导致采集到的数据处于亚稳态的状态(不正确)。保持时间违例的发送,会导致前一个周期的数据尚未打入后一级电路就被冲掉。
2025-09-23 15:40:59
379
原创 IO时序的分析和约束(纯文字)
数据经过最小的外部传输路径延迟,到达FPGA的寄存器时,还能够不破坏,该寄存器接收前一个时钟沿外部器件发射的数据。要能够满足该寄存器的。若排线长度一致的情况下(如果数据线和时钟线做了等长处理则Tdata(pcb)=Tclk2(ext))数据经过最短的外部传输延迟时间到达目的寄存器时还能不破坏目的寄存器接收前一个launch edge发射的数据的。数据经过最大的外部传输路径延迟,到达FPGA的寄存器时,还能够满足该寄存器的。数据经过最大的外部传输延迟到达目的寄存器时依旧满足目的寄存器的。
2025-09-23 14:59:48
807
原创 FPGA的时序分析和时序约束(纯文字)
时序分析:时序分析的目的就是通过分析FPGA设计中各个寄存器之间的数据和时钟传输路劲,来分析数据延迟和时钟延迟之间的关系。时钟通过同一段路径按照不同的速率计算出的时间在真实情况下是不存在的,我们在分析时钟是会过分悲观,导致Skew值偏小,所以需要将这一段路径过分悲观的值补偿回来,加上一个时钟悲观值即可。的速度到达源寄存器的时钟端口)这引出一个矛盾:时钟在传输过程中,到达目的寄存器和源寄存器时,中间(开头)有一段路径是重合的。Tsu:寄存器要求的其数据端口的值必须提前于时钟上升沿到达其时钟端口的时间差值;
2025-09-23 14:54:46
1046
原创 时钟复位(同步、异步、异步复位同步释放)
复位信号的生效与撤销不依赖时钟信号,只要复位信号(通常为低电平有效或高电平有效)满足有效条件,电路立即进入复位状态;当复位信号撤销时,电路立即退出复位状态,无需等待时钟沿。例如:if (!rst_n) begin // 异步复位:只要rst_n为低,立即复位q <= 1'b0;endend4.异步复位同步释放在纯异步复位中,复位信号的释放(撤销)时刻可能恰好落在时钟沿的建立时间 / 保持时间窗口内(即 “时序违规”),导致寄存器进入亚稳态。
2025-09-22 18:21:19
505
原创 六、IIC的时钟同步和时钟拉伸
当多个主机同时驱动SCL线时,总线的SCL电平由“所有主机的输出逻辑”共同决定;只有所有主机都释放 SCL(停止拉低),SCL 才会被上拉电阻拉为高电平。若任一主机将 SCL 拉低(输出低电平),总线 SCL 即为低电平;(例如,从机接收数据后需要时间存储,或准备发送的数据尚未就绪)。(在 I2C 通信中,主机通常按固定速率发送时钟和数据,的时钟拉伸(Clock Stretching)系统中有多个相同类型的设备需要连接。支持时钟拉伸(适应不同速度设备)与SPI的对比及选择依据?PCB空间或者引脚资源有限。
2025-09-22 17:55:54
307
原创 IIC的一系列问题
2.10位地址格式(扩展):地址范围0x000-0x3FF(1024个地址)传输时占用两个字节的第一个字节:11110xx+R/W(xx时10位地址的高两位)第二个字节:剩余的8位地址(8+2=10).若主机发送的是“高电平”,但检测到SDA实际为“低电平”,说明由其他主机发送了低电平,则改主机判定为“仲裁失败”,立即停止发送数据,退出总线竞争。若主机A想输出高电平,但检测到SCL实际为低电平(其他主机拉低),则主机A必须停止产生自己的时钟,转而跟随总线的低电平,直到总线释放。
2025-09-22 17:53:39
577
原创 IIC的读写操作流程
发送玩器件地址和字地址又发送起始信号和器件地址,而且第一次在从机地址后为写命令0,第二次在从机地址后为读命令1。起始信号(1-0)-从机地址(7bit)+R/W(1bit)-ACK(0)-寄存器地址(8bit)-ACK-写入的数据-ACK-STOP(0-1)起始信号-从机地址+W(虚写)-ACK寄存器地址-ACK-起始信号-从机地址-R(读1)-ACK-读取的数据-ACK-STOP。IIC起始信号:SCK(SCL)处于高电平时,SDA有高到低的变化,代表开始。
2025-09-22 15:14:16
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅