数字IC _Verilog
文章平均质量分 59
weixin_45230720
这个作者很懒,什么都没留下…
展开
-
异步FIFO的设计
1,经过同步FIFO的设计,了解FIFO ,现在来写异步FIFO,应该有点思考了,由于要解决跨时钟域的问题,前面设计同步FIFO的计数器方法就不太实用了,所以就选择高位扩展法,但是还有个问题如果采取二进制也会造成亚稳态,所以选择格雷码。testbech与同步FIFO的类似,这里只给出Verilog实现。2 ,读写跨时钟域的问题,这里都是采取打两拍来解决,但是如何判断。读空判断: 将写指针同步到读指针,在于读指针判断。写满判断:将读指针同步到写指针,在于写指针判断。总结一下别人的结论,这里就不再讨论了,原创 2023-07-19 16:45:08 · 51 阅读 · 0 评论 -
双口ram 简介及Verilog实现
RAM(Random Access Memory),随机存储器,是一种用来暂时存储中间数据的存储器,掉电易失,按照类型可以分为单口ram,双口ram,其中双口ram又有简单(伪)的ram,真双端口ram,在异步FIFO的内部就是一个双端口ram存储数据,ram 是最简单的ip,在FPGA和ASIC设计中会经常用到成熟的ram,重点理解ram的输出输入特性,了解在项目中如何使用RAM,以及如何控制RAM的读出和写入。4两个端口同时对同一个地址单元,一个写入数据,一个读取数据(read err )原创 2023-08-07 11:41:46 · 737 阅读 · 2 评论 -
数字IC-序列检测-fsm
序列检测器包含两种,一种是移位寄存器,另一种时状态机,还有重复序列和不重复序列检测。重点关注和了解如何用状态机去实现。序列检测器就是将指定的序列从数字码流 中检测出来,收到输出1,否则输出0。此处采用的状态机是三段式Moore状态机的写法。重复序列检测1101序列。不重复序列检测1101。序列检测简介及代码实现。不重复序列检测1101。重复序列检测1101。原创 2023-08-07 15:49:24 · 98 阅读 · 1 评论 -
数字IC,三大核心代码架构之计数器(verilo实列)
计数器设计是数字IC设计 的核心,也是最常用的代码片段,通过记录时钟周期个数,可以控制电路的时序,通过计数器可以实现测量,计数,状态控制,分频,计数器有触发器和逻辑门共同构成。约翰逊(Johnson)计数器又称扭环计数器,是一种n位触发器来表示2n个状态的计数器,约翰逊计数器相邻两组数只有一位不同,避免竞争冒险。这里要考虑的是复位信号和其他标志信号,一般复位是计数器清0,其他标志信号看情况。加计数,还是减计数,在同一个设计里面,计数的方向要保持一致。一般条件是时钟沿跳变,还有可能是使能信号,标志信号等。原创 2023-08-07 15:01:02 · 162 阅读 · 1 评论 -
同步FIFO的设计(计数器和高位扩展法)
例如3bit的地址,我们扩展成4bit 地址区间从3‘b000-3’b111变成4‘b0000-4'b1111,假设不看最高位的话,地址区间任然是3’b000-3'b111,所以,最高位就可以看作是指示位。存器,一般分两种同步和异步,先说同步,在设计中同步FIFO是只有一个时钟信号,所以要考虑到的是读空,和写满两个状态的判断。当读写地址相同时,表明FIFO为空,这种情况发生在复位,或者读指针读出最后一个数据,追上了写指针。当读写使能信号都有效时,说明又读又写,计数器不变,FIFO中的数据个数没有变化。原创 2023-07-19 16:27:20 · 228 阅读 · 0 评论 -
Verilog 实现奇偶校验
是一种校验代码传输正确性的方法,根据被传输的一组二进制数位中“ 1” 的个数是奇数或者偶数来进行校验。采用哪种校验是事先规定的,通常会设置一个奇偶效验位,用它是这组代码中1的个数为奇数或者偶数,若奇校验,接收端,校验“1”的个数是奇数,偶校验:数据和校验位中“1 ” 的总数为偶数,则数据无误,否则数据有误。奇校验:数据和校验位中“1” 的总数为奇数,则数据无误,否则数据有误。奇校验实现方式:校验位默认为高电平,每检测到1,则状态翻转。偶校验实现方式:校验位默认为低电平,每检测到1,则状态翻转。原创 2023-08-07 16:24:23 · 1277 阅读 · 2 评论 -
奇偶分频器(简介和Verilog实现)
小数分频不能精确到控制占空比,也没办法控制到精确的小数分频,而是平均频率的小数倍,小数分频涉及到奇数分频,偶数分频以及平均分布的方法。单计数器实现,只在上升沿计数,在上升沿和下降沿采用输出高低电平。在上升沿和下降沿计数,在上升沿和下降沿采用输出高低电平。奇数分频需要考虑占空比是否50%,要求使用双边沿逻辑。只在上升沿计数,在上升沿和下降沿采用输出高低电平。确定分频次数后,要合理安排分频的顺序,确保平均。完成奇偶分频,确定好分频的次数。小数分频涉及到奇数和偶数分频。计数器实现2n偶数分频。原创 2023-08-08 15:20:22 · 1129 阅读 · 0 评论 -
Glitch free 无毛刺时钟切换电路,时钟无缝切换,时钟无毛刺切换技术
无毛刺时钟切换电路,又叫 Glitch free 电路、时钟无缝切换电路,在笔试中遇到过,如果没有接触过,很可能无从下手。随着越来越多的多时钟应用于当今的芯片中(尤其是在通信领域),在芯片运行时经常需要切换时钟源。这两个时钟在频率上可能完全不相关,也可能成倍数关系。不管是哪种情况,都有可能在开关门控时产生毛刺(Glitch)。时钟线上的毛刺对整个系统是危险的,因为它可能使用边沿触发了部分寄存器,而其他寄存器却没被触发。在这篇文章中,使用两种不同的方式来避免输出时钟上有毛刺。原创 2023-09-24 17:00:29 · 831 阅读 · 0 评论 -
数字IC设计笔试面试经典题(1-10)
如下图所示的spice中给激励的语句和波形:原创 2023-09-08 16:32:39 · 1137 阅读 · 0 评论 -
Verilog实现二进制与格雷码的转换
格雷码的特点是从一个数变为相邻的一个数时,只有一个数据发生跳变,所以,就可以避免二进制编码计数器组合电路中出现的亚稳态。格雷码的最高位作为二进制的最高位,二进制的次高位是二进制的高位和格雷码的次高位相异或得到,其他位以此类推。二进制的最高位作为格雷码的最高位,次高位的格雷码是二进制的最高位与次高位异或得到,其他位类似。由于格雷码是一种变权码,每一位没有固定的大小,很难进行比较大小和算数运算。Verilog 代码实现。2,二进制转换成格雷码。3,格雷码转换成二进制。原创 2023-07-19 10:43:43 · 475 阅读 · 0 评论