- 博客(5)
- 收藏
- 关注
原创 pre_body post_body
uvm的一种推荐用法,是在pre_body和post_body中进行raise,drop objection的操作,pre_body和post_body只有在seq被set为default seq时才会执行,而在uvm_do macro中,当前seq是作为top seq中的一个sub seq或seq item进行调用的。如果想在seq body之前做一些事,可以重载pre_start,post_start task。
2025-09-15 15:01:02
120
原创 CAN总线带宽的概念
单帧最小总位数:1(SOF) + 12(仲裁) + 6(控制) + 64(数据) + 16(CRC) + 2(CRC定界) + 2(ACK) + 7(EOF) + 3(Intermission) = 113 bits。传输1字节标准帧:总位数≈ 1+12+6+8+16+2+2+7+3=57 bits,利用率≈8/57≈14%,有效速率≈70,000 bps (70 Kbps) 或 8.75 KBps。:指的是在给定的波特率下,扣除所有协议开销(帧头、帧尾、仲裁、控制位、CRC、ACK、帧间间隔等)后,
2025-06-26 09:10:50
642
原创 CAN总线节点A是如何通过ID优先级赢得总线仲裁的,是先赢得总线仲裁,再将SOF拉低还是,先将SOF拉低再赢得总线仲裁
--- SOF ---|------------- 仲裁段(ID竞争) --------------|总线: [0] [0][0][1][0]...[0][1] → 节点B在此退出。节点B: 发送0 发送0 0 1 0 ... 1 → 检测到冲突,停止发送。节点A: 发送0 发送0 0 1 0 ... 0 1 → 继续发送完整帧。A:不参与,SOF是同步信号,所有节点必须发送显性位(0)。,若自身发送隐性位(1)但总线为显性(0),则判定冲突。
2025-06-24 11:36:41
827
原创 vivadoFPGA warning问题汇总
在vivado使用综合的过程中出现了timing 38-316的warning,该问题是由于使用了vivado自己生成的IP,其中时钟约束是自动生成的,若外部使用的.XDC文件中的实际时钟约束和自动生成的时钟约束,会在综合的时候产生不可预知的问题,这是软件会提醒的。当使用vivado生成的ram时,会自动生成一个xxx_occ.xdc,在该文件内自动约束了ram使用的时钟的约束,这里自动约束为了20ns,50Mhz,而实际上使用的为10ns,100Mhz,因此在综合的时候会产生该warning。
2024-12-10 09:00:19
747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅