IC
文章平均质量分 52
秦枫-_-
慵懒的程序猿
展开
-
关于建立时间与保持时间的本质
建立时间与保持时间的概念?建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。建立时间裕量与保持时间裕量建立时间裕量:如果数据信号在时钟边沿触发之前的持续时间要大于建立时间Tsu,那么超出的部分时间即为建立时间裕量。保持时间裕量:如果数据信号在时钟边沿触发之后的保持时间要大于保持时间Thd,那么超出的部分时间即为保持时间裕量。为什么触发器要满足建立时间和保持时间? 因为触发器内部原创 2022-04-10 18:32:51 · 1432 阅读 · 0 评论 -
Verilog设计之异步fifo设计
module test_fifo #( parameter addr_width=4, parameter data_width=8, parameter fifo_depth=1<<(addr_width-1),) ( input clka, input clkb, input rstn, input w_en, input r_en, input [data_width-1:0]w_data, out原创 2022-03-15 11:48:29 · 1255 阅读 · 2 评论 -
verilog常考面试题之同步FIFO设计(给定位宽和深度)
fifo(first in first out)fifo的作用是缓冲,分为同步fifo和异步fifo,跟其他存储单元例如RAM的区别最大在于RAM有地址线,可寻址读写,而FIFO不可寻址,所以读写地址得用读写指针生成。1.同步fifo的写时钟和读时钟是同一个时钟域(信号基于同一个时钟变化)2.同步fifo的三部分:fifo写控制逻辑:产生写地址(决定往哪写,从0开始写)、写有效信号、写满(决定是否还能写)等信号;fifo读控制逻辑:产生读地址(决定从哪读,从0开始读)、读有效信号、读满(决定是否还.原创 2022-03-04 16:22:10 · 2255 阅读 · 0 评论 -
IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)
实现三分频电路最简单的是:利用计数器实现。时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了):直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%:module Div_three( input clk, input rst_n, output div_three);reg原创 2022-03-02 21:57:42 · 9803 阅读 · 4 评论 -
SV中父类与子类句柄转换,即子类的扩展类与父类句柄转换等问题
如上图,表示了父类与子类的继承关系以及对象关系。因此假设B继承A,那么子类B所能访问的成员变量同时包括自己的成员和父类的所有成员变量,也就是图中的大三角;而父类A仅能访问自己以及子类中属于自己的成员变量,不可访问子类的成员变量,即图中的小三角这是编译器规定,同时这个业与C/C++等高级语言保持一致。那么就有一个问题,实际写代码过程中,避免不了类型的转换问题,父类和子类句柄之间该如何转换?根据图中的包含与被包含关系,我们可以清楚看到,子类包含了父类,因此:父类句柄=子类句柄,顺理成章,但反过来就不行.原创 2022-01-11 22:39:00 · 3597 阅读 · 3 评论