自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【数字ic自整资料】SV约束constraint

SV允许使用randomize()with来增加额外的约束,这和在类里增加约束是等效的,但同时要注意类内部约束和外部约束之间应该是协调的,如果出现互相违背的清况,那么随机数值求解会失败。必要的时候可以使用soft来声明约束,这代表当前写的约束属于软约束,如果在后续情况下遇到和soft约束冲突的情况下,soft约束失效。sv可以利用foreach对数组的每一个元素进行约束,和直接写出对固定大小数组的每一个元素的约束相比,foreach要更简洁。约束中也可以用条件表达式,即在指定条件下,后面的约束才成立。

2024-09-24 10:47:52 1674

原创 【数字ic自整资料】常见串行总线协议

两者的前四位数据相同,而当发送进行到第五个时钟周期时,master1的第五位为0,而master2的第五位为1,此时根据线与特性,SDA总线的电平会被master1拉低。若两主机向相同的地址写入数据,那么仲裁过程将继续,直到在后续的数据位中决出总线的归属权(仍然是通过上述的方法)。如果要和特定的从机进行通讯,可以将相应的 CS信号线拉低,并保持其他 CS信号线的状态为高电平:如果同时将两个CS信号线拉低,则可能会出现乱码,因为从机可能都试图在同一条 MIS0 线上传输数据,最终导致接收数据乱码。

2024-09-11 22:37:50 1302

原创 【数字IC自整资料】笔试相关

解析:状态(‌State)‌:‌系统或对象可能处于的一种或多种条件,‌这些条件定义了系统的行为和属性;动作(‌Action)‌:‌与特定状态关联的行为或操作,‌当状态机从一种状态转移到另一种状态时,‌可能会执行某些动作。属于寄存器传输级+逻辑/门级的是:独热编码、行波计数器、总线反转、避免组合环路、减少字长、二进制表示法、去掉逻辑云、其他RTL技术;属于体系结构级的是:电压/频率调整、多电压供电、电源门控、多阈值优化、FFT域、异步设计;5、关系运算符=, /=, ,

2024-09-11 10:02:07 801

原创 【数字ic自整资料】存储器及不同端口RAM对比

在上图中 WEA[3:0] 为写使能,字节使能,每一个bit可以选择写入数据的那个字节被写入,1表示写入该字节 ,0表示不写入该字节, DINA[31:0]为写数据总线,DOUTBarf为读优先情况下读数据总线的值,DOUTBawf为写优先情况下读数据总线的值,RAM Contents为RAM中存储的数据。输入有一组数据线,两组地址线,输出只有一个端口。在读优先情况下,同时对一个地址进行读写,会先把RAM里原本的数值发送到DOUTBarf读数据总线, DOUTBARF输出的值一直为RAM原本的数据。

2024-08-23 22:12:02 1085

原创 【数字ic自整资料】STA(静态时序分析)相关

STA存在在逻辑综合后的每个步骤,非常重要,且STA只针对同步电路,异步电路的时序无法分析。满足每个寄存器的建立时间和保持时间。关键路径:时序路径中最长的一条,决定系统的最快工作速度。静态时序分析的不同路径:(1)输入端口到内部寄存器 pin2reg(input-D)(2)内部寄存器之间 reg2reg(clk-D)(3)内部寄存器到输出端口 reg2pin(clk-output)(4)输入端口到输出端口之间 pin2pin(input-output)

2024-08-20 10:49:05 941

原创 【数字ic自整资料】AXI握手协议及outstanding

而当发送端valid_src信号有效,ready_src有效,代表发送方完成了一次握手,若此时接受端ready_dst无效,则代表此时需要缓存数据(即将valid_r置1),以避免丢失。当我们遇到时序违例时,通常采用的方式为插入寄存器(打拍)或者是后端插入buffer,这对使能信号或数据信号是有用的,但是对于那些需要满足握手协议的信号来说(例如:AXI协议中的多组握手信号xxready和xxvalid)单纯的打拍是行不通的,因为需要满足valid-ready协议,如果仅仅使用打拍很容易丢失数据。

2024-08-16 14:41:28 1620

原创 【数字ic自整资料】AHB总线仲裁机制

在APB总线中,支持且仅支持一个主机存在,因此并不会导致冲突问题产生,但是在AHB总线里面,ARM在设计的时候就支持连接多个主机进行操作。结论:ARM在升级APB的时候,为了支持多主机,同时为了解决总线冲突的问题,引入了第三种解决方法(优先级仲裁),给每个主机分配不同的优先级,优先级高的主机先发送数据,优先级低的等待完成之后再进行数据发送。:对主机等级进行分类,优先级最高的主机先获得总线使用权,等最重要的主机完成处理之后,仲裁设施再服务相对比较不重要的主机,总线仲裁中称为优先级仲裁策略。

2024-08-16 14:28:26 1021

原创 【数字ic自整资料】数字ic验证及UVM常见问题

通过对类中方法进行virtual声明,这样当调用基类句柄指向扩展类时,方法会根据对象去识别,调用扩展类的方法,而不是基类中的。而基类和扩展类中方法有着同样的名字,但能够准确调用,叫做多态。一般而言,在搭建完TB后,我们如果需要对TB进行更改配置或者相关的类信息,我们可以通过使用factory机制进行覆盖,达到替换的效果,从而大大提高TB的可重用性和灵活性。UVM其实就是SV的一个封装,将我们在搭建测试平台过程中的一些重复性和重要的工作进行封装,从而使我们能够快速的搭建一个需要的测试平台,并且可重用性还高。

2024-08-15 09:30:22 457

原创 【数字ic自整资料】AMBA总线总结(APB、AHB、AXI)

参考资料:(1)(2)(3)

2024-08-13 09:41:27 1958

原创 文献阅读和学习汇总:MSD-混合精度硬件加速器3(串并混用)

串并行混用的混合精度量化硬件加速

2024-04-24 14:35:31 1334 1

原创 文献阅读和学习汇总:Precision-Scalable Deep Neural Network Accelerator(精度可扩展神经网络加速器)

Precision-Scalable Deep Neural Network Accelerator文献阅读总结

2024-04-08 17:10:43 1692 1

原创 异步FIFO设计

异步fifo进行跨时钟域数据处理

2024-03-26 15:43:07 1410

原创 多bit信号跨时钟域(CDC)处理方法

如果简单将多bit信号拆分成好几个单bit信号,分别采用寄存器来进行传输,那么由于每个寄存器的位置不同,布局布线会导致每个数据到达下一级寄存器的延时不同,可能会采样的中间变化的任何值。

2024-03-15 10:35:48 5106 2

原创 文献阅读和学习汇总:Bit Fution,bit-flexible accelerator(多位宽混合精度神经网络加速器)

学习这方便知识主要是因为和我大论文的方向相关,怕今天看过之后下周就忘了,而且csdn关于这方面的资料好像不是很多,所以特地整理记录一下。

2024-03-12 10:36:29 2004

原创 单bit信号跨时钟域(CDC)处理方法

我当时做的模块中,需要根据信号finish_write_flag、finish_read_flag来转换当前状态,finish_write_flag、finish_read_flag都为高电平有效脉冲,但是转换状态的两个信号所处在不同的时钟域,一个快一个慢,如果正常书写代码,那么当转换状态时钟为快时钟域的时钟时,可能重复采样到慢时钟域的信号;按照自己的理解思路来说,这样解决方法有两个,1、使用快时钟域时钟作为状态转换时钟,缩短慢时钟域的信号为高电平的时间。最后总结一下跨时钟域单bit数据的处理方法。

2024-03-01 15:32:56 2015

原创 verilog不同仿真软件结果不同(tb书写规范)

在initial内部使用的全都是阻塞赋值,开始时候我认为这样的赋值方式并不会对信号有什么影响,但是当我把阻塞赋值全都改成非阻塞之后,在vcs中的结果和modelsim便完全一致了,都是在下一个时钟上升沿出现信号变化,和预期结果一致。我上网查到的结果是说modelsim的库会自动把tb里的所有阻塞赋值识别为非阻塞赋值,它对这方面的判定并没有那么严格,经过测试,vivado也是这样,而vcs显然就不行,因此书写的时候应该按照都是非阻塞赋值的写法,这样比较严谨。记录一下仿真遇到的问题。

2024-02-28 09:31:25 969

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除