- 博客(55)
- 问答 (1)
- 收藏
- 关注
原创 存储器概念
结构:阵列结构,行(字)*列(位);地址总线位数等于地址线根数n;寻址范围为2的n次方,且大于等于行数;组成:主要有4部分,存储体、地址译码器、总线(数据/地址/控制)、寄存器(数据/地址)读过程:1.通过地址总线将地址送到地址寄存器,通过译码器,选择一个字;2.打开数据总线;3.通过控制总线发出读信号,将选择的字送到数据寄存器,再送到数据总线。写过程:1.通过地址总线将地址送达地址寄存器,通过译码器译码,选择一个字;2.打开数据总线,送入数据到数据寄存
2022-06-04 13:22:31
157
原创 CPU程序中断
中断概念计算机在执行程序过程中,遇到异常情况或者特殊请求时,暂停当前程序,转而处理异常,处理结束后返回程序的间断处,继续执行原程序,这就是中断。中断源包括哪些? 人为设置中断 程序性中断,如除法非法,操作码不能识别 硬件故障,如突然断电 I/O设备发送中断请求,如向内存发送读写请求 外部事件,如按键各中断源如何向CPU提出中断请求?中断请求标记触发器 置1; 每个中断源对应一个触发器,多个触发器组成中断请求寄存器;CPU什么条件下会响.........
2022-06-04 13:00:56
2585
原创 risc_v 汇编指令(1)
bgtz:-用法:bgtz rs,offset;作用:if rs > 0 then branchblez:-用法:blez rs,offset;作用:if rs <= 0 then branchbne:-用法:bne rs,rt,offset;作用:if rs != rt then branchbeq:-用法:beq rs,rt,offset;作用:if rs = rt then branch,将地址为rs的通用寄存器的值与地址为rt的通用寄存器的值进行比较,如果..
2022-05-27 09:52:34
4544
原创 SV 知识点细节(二)
get_name(), get_full_name(),get_type_name() $display(“%0s”,get_name()); //打印当前类所实例化的名字 “u_jerry_so_cool” $display(“%0s”,get_full_name()); //打印当前类所实例化的路径 “uvm_test_top.u_jerry_env.u_jerry_so_cool” $display(“%0s”,get_type_nam.
2022-05-26 21:23:27
4220
原创 SV 知识点细节(一)
1. `ifndef 条件编译 它是if not define 的简写,最主要目的是防止头文件的重复包含和编译; 用法如下:'ifndef DV_CHECK //先测试DV_CHECK 是否被宏定义过 'define DV_CHECK(T_, MSG_="") 程序段1 //如果没有被宏定义过,定义DV_CHECK ,并编译程序段 1'endif 程...
2022-05-26 20:22:11
4759
原创 处理器基础知识(二)
**一、指令格式**一条指令由地址码和操作码组成;操作码:指令的具体操作 (指令的唯一标识)地址码:指定参与操作的操作数的地址码二、操作码分类固定长度所有指令操作码的长度相等 例如:某计算机共有64条指令,采用固定长度操作码,需要6位编码,从000000~111111 2的6次方为64 优点:编码方法简单,便于指令的译码 缺点:不方便指令系统中增加新的指令(扩展不方便)可变长度这是操作码不固定的指令格式,四位是基本的操作码,还可以扩充,但是指令的字数不变,就是说把不
2022-05-25 20:34:27
1481
原创 处理器基础知识(一)
一. 指令的构成1.根据指令集的不同,分为固定位宽和非固定位宽2.risc_v为固定位宽指令集,一般为32位或64位一. 指令的主要类型1.数据存取指令(load,store),用于内存和内核之间的数据搬运(仅搬运数据,指令为自动获取)2.逻辑运算指令,如加减乘除3.跳转指令(控制指令),包括无条件跳转和有条件跳转二. 指令的主要寻址方式1.立即数寻址2.寄存器寻址3.内存寻址三. 五级流水线过程1.取指,从cache获取指令2.译码,获取操作码和操.
2022-05-21 23:50:08
407
原创 ASV断言的控制
局部控制:disable iff。property my_prop;@(posedge clk) disable iff(!rst_n) a |-> b ##1 c;endproperty全局控制:$ assertoff暂时关闭所有断言的执行。$ asserton重新启动断言执行。如果在执行$ assertoff时断言正在执行,断言不会被终止。$ assertkill将会终止你设计中的所有断言,包括已经执行的断言。$ asserton开重新启动断言执行。 initial beg
2022-01-18 13:56:41
1808
原创 ASV并行断言 蕴含操作符
蕴含操作符:交叠蕴含: |->A |-> B当A成立时,当拍断言判断B是否成功非交叠蕴含:|->A |=> B当A成立时,下一拍断言判断B是否成功当A都不成立时,不做断言判断;
2022-01-17 23:48:54
617
原创 ASV并行断言中时序的描述sequence
关键词:sequencesequence用来描述在一个或多个时钟周期内的时序关系:sequence s1;//描述时序@(posedge clk) a ##1 b ##1 c;endsequencesequence s2;//描述时序@(posedge clk) a ##1 c;endsequenceproperty p1;//描述断言@(posedge clk) s1 |=> s2;endpropertyassert p1 else $error;//判断断言...
2022-01-17 23:45:13
305
原创 ASV并行断言
并行断言关键词property,描述断言关键词assert,判断判断并返回是否成功关键词disable,关闭断言assert property(my_prop);property my_prop;@(posedge clk) disable iff(!rst_n) a |-> b ##1 c;endproperty在每一个时钟上升沿检查a,若a不成立,则返回假成功,不做判断;若a成立,则判断后面语句,若后面语句成功,则断言成立,若后面语句不成功,则断言报错;...
2022-01-17 23:34:32
211
原创 ASV断言基本概念
1.什么是断言?用来和设计功能和时序做比较的属性描述2.断言分类立即断言(assert( ))非时序,在过程块中检查当前时刻的值是否满足;可以在initial/always过程块和task/function任务中使用;并行断言时序性,只在时钟上升沿激活,可以检查很多周期内时序的变化;有关键词property;执行过程,与设计模块一同并行执行;...
2022-01-17 23:18:54
159
断言中disable 用法
2022-01-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅