- 博客(14)
- 收藏
- 关注
原创 apb-ahb总结
只在APB传输的最后一个周期有效, 也就是说当PSEL,PENABLE和PREADY均为1时是有效的,在其他时间是无效的。当一些APB模块不支持PSLVERR时,比如只支持APB2协议,可以把APB Bridge的pslverr接0即可。:准备状态,当一笔数据需要传递时,进入SETUP。只在psel、penable、pready都为1的时候去采样slave的pslverr信号,看有没有错误,其它时刻不会去采样。使能状态,数据、地址、读写控制信号保持不变,如果没有传输跳到IDLE,有传输转回到SETUP。
2024-07-06 17:00:37
367
原创 数电一些基础问题
构成的,锁存器是由门电路构成的,而触发器是由锁存器构成的。也就是晶体管-》门电路-》锁存器-》触发器,前一级是后一级的基础。latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。锁存器由门电路组成;1、电平触发,非同步设计,受布线延迟影响较大,很难保证输出没有毛刺产生。1、面积比latch大,消耗的门电路比latch多。
2024-07-03 20:51:26
956
原创 sv和uvm的一些问题总结
如果拷贝的对象里面没有指向另外一个类的句柄(拷贝对象里面没有引用),那么浅拷贝和深拷贝是没有区别的。如果拷贝的类中包含指向另外一个类的句柄,那么浅拷贝只有句柄的值被new操作符复制,下层的对象不会被复制。而深拷贝需要自己写copy函数,不仅会复制现有对象中的变量和方法,还会把引用对象的值一并复制。相当于深拷贝后,两个对象完全独立。所以浅拷贝后,新对象的引用还是会指向原对象的引用,因此修改新对象会影响原对象。深拷贝: P2.copy(P1);总结了一些自己总是感觉记不太住,或者说感觉是重点的地方。
2024-06-28 21:16:59
218
转载 异步fifo
1、什么是异步FIFO 异步 FIFO 有两个时钟信号,读和写接口分别采用不同时钟,这两个时钟可能时钟频率不同,也可能时钟相位不同,可能是同源时钟,也可能是不同源时钟。 在现代逻辑设计中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步 FIFO 是这个问题的一种简便、快捷的解决方案,使用异 步 FIFO 可以在两个不同时钟系统之间快速而方便地传输实时数据。2、实现异步FIFO需要解决的关键点 首先我们直
2024-06-27 20:36:51
48
原创 状态机思考(序列检测代码)
若要是使用case (ccurrent_Sta),则只有使用组合逻辑,就相当于第二段和第三段都使用了组合逻辑,其实就相当于是两段式状态机了。所以可能即使组合逻辑和时序逻辑输出结果一致的场合,可能还是按照时序逻辑写法较好。三段式代码容易维护,时序逻辑的输出解决了两段式组合逻辑的毛刺问题,但是从资源消耗的角度上看,三段式的资源消耗多一些。其中第三个always block中采用时序逻辑,且使用case(Nex_Sta)来判断输出条件,是因为使用的是。2..三段式状态机,在使用时序逻辑的前提下,状态判断使用。
2024-06-27 14:28:48
802
原创 串并转换代码
串转并的使用环境非常多,在接口处用到最多,在某些模块的输入仅允许串行输入时,而总线上的数时并行的,那就需要通过串并转换,把并行的数据转换成串行的数据,包括在输出的时候,需要把串行的数据转换成并行的数据,才能送到总线中,使用方法都是用一个计数器来计数实现。目前我接触到的就是uart协议中有串并转换。uart模块中传输的就是串行数据,从apb等总线拿到的数据要进行串并转换一下。
2024-06-26 22:32:45
266
原创 RAM(牛客上题目)
enb=1的时候是写,addr就是写地址,enb=0的时候读,addr就是读地址。因为深度是128,所以我们定义的深度是128bit, 宽度是4bit. 建立一个reg的数组,将数据存储进来为了更好表示,我们使用reg [3:0] ram_reg[127:0]表示。这个初始化不能用 ram_reg
2024-06-21 21:20:42
146
原创 任意奇数分频(50%占空比)-计数法
后会使得新的结果还是 2N-1 分频,但是高电平周期变为 N-1+1/2,低电平周期变为 N-1/2,从而高低电平持续时间相等,实现50%占空比的任意奇数分频器。任何奇数 2N-1 分频都可以表示由 N-1个高电平周期和 N个低电平周期组成。若高电平周期少一个周期,在后面。采样的分频器——div2,在相同 cnt 判断切换高低电平的条件下,就一定有 div1 领先(或滞后)于 div2 半个参考周期,这样他们。N个高电平周期和 N-1个低电平周期组成。若高电平周期多一个周期在后面。verilog:或操作。
2024-06-21 20:26:01
287
原创 时钟分频-任意偶数分频-计数方式
任意偶数分频(50%占空比),采用计数的方式。关键点:上升沿计数到N/2-1处时钟翻转一下(因为是从0开始计数)。例如8分频:计数到4个上升沿翻转一次。0>1>2>3。cnt计数到3时候就是计数到4个上升沿了。verilogModelsim仿真波形正确:
2024-06-21 19:04:32
191
原创 异步复位,同步释放
优点:有利于仿真器仿真;确保电路100%同步,有利于时序分析;复位只发生在时钟有效沿,可以过滤掉高于时钟频率的毛刺。缺点:复位信号必须长于一个时钟周期;大多数厂商只有异步复位端口,同步复位需插入组合逻辑,耗费资源。缺点:复位信号释放时,若恰恰在时钟沿附件,亚稳态;复位信号容易受到毛刺影响。优点:无需额外的组合逻辑,节约资源;
2024-06-21 17:55:16
151
原创 System verilog学习
就是用来创建新的类型的。常常和enum/struct一起用,定义枚举类型/定义结构体类型。接口中的线网信号默认为inout。
2024-06-21 16:41:38
1310
原创 异步复位,同步释放为什么可以消除亚稳态传播
第一个周期:第一级触发器若发生亚稳态,大概率在一个周期内会解除。延迟两个周期(到第三个周期)一定可以同步释放掉复位信号(最少延迟一个周期也可以)。本文的灵感来自于:很好的说明了为什么跨时钟域中常常打两拍处理亚稳态。第二级触发器采样第一级触发器在上一周期最终稳定下来的值。从时序上简单分析下消除亚稳态的原因。第二级触发器不会有亚稳态,输出为。第二个周期:第一级触发器采样到。第三个周期:第一级触发器采样到。
2024-06-19 17:21:45
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人