- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 case、casex、casez的区别
一、case、casex、casez的区别下表给出case、casex、casez的真值表:在这里插入图片描述在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配。在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是z或x,那么这些位的比较就不予考虑。二、case/casez/casex 在simula
2020-07-29 10:53:16
6887
原创 verilog中符号位-0问题
以下verilog代码中,a=12,b=10,则下列运算正确的是(D)input [3:0] a;input [3:0] b;output signed [7:0] z;wire signed [3:0] c;assign c = a[3:0]*b[3:0];assign z =c;A. 8B. -120C 120D -8解析:120 = 1111000(b),所以c = 4’b1000;对于不满一个字节的数据(8位),在计算时系统一般是补全,最高位为1,则补
2020-07-29 10:02:54
2779
转载 program和module区别
请说一下sv中为什么要加入program,program和module有什么区别?答:加入program的目的是为了解决testbech和rtl信号可能产生的竞争冒险现象。program和module的区别主要有三点,一、module里可以定义program,而program里不能定义module;二、是module里不能调用program里定义的task, function,而program可以调用module里定义的task和function;三、program里不能例化module,inter
2020-07-29 09:53:38
4247
1
原创 verilog条件运算符注意事项
条件运算符表达式:cond_expr?expr1:expr2;如果cond_expr为真(即为1),选择expr1;如果cond_expr为假(即为0),选择expr2;如果cond_expr为x或z,结果将按以下逻辑expr1和expr2按位操作的值:0与0得0,1与1得1,其余情况为x.如下所示:wire [2:0] result=cond_expr?expr1:expr2;问:expr1=1001;expr2=1010;cond_expr=x;result=?答:10011
2020-07-29 09:41:42
8586
3
原创 define\parameter\localparam的区别
· `define作用 -> 常用于定义常量可以跨模块、跨文件;范围 -> 整个工程;· parameter作用 -> 常用于模块间参数传递;范围 -> 本module内有效的定义;· localparam作用 -> 常用于状态机的参数定义;范围 -> 本module内有效的定义,不可用于参数传递;...
2020-07-29 09:30:52
147
原创 如何解决亚稳态(metastability)?
解决方法:1降低系统时钟频率2用反应更快的FF3引入同步机制,防止亚稳态传播4改善时钟质量,用边沿变化快速的时钟信号
2020-07-29 09:29:19
970
原创 Verilog中generate语法和作用
Verilog中generate语句的用法在Verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计提供了方便,generate语句一般在循环和条件语句中使用,为此,Verilog-2001增加了四个关键字generate,endgenerate, genvar, localparam,genvar是一个新增的数据类型,用在generate的循环中的标尺变量必须定义为gnevar类型;下面举例说明gener
2020-07-29 09:24:49
2130
转载 Callback
SV中的回调(callback)明确了定义方法的规则,并且指定了一个方法用来回调已经定义的该方法;简而言之就是,被调用的方法就是回调方法(callback method),调用回调方法的方法称为回调勾(callback hook),回调方法一般是虚方法(dummy method),一般通过继承来进行覆盖重写.我们来看回调方法是如何工作的:在上面的图中,temp()方法就是回调勾,callback_1()和callback_2()方法是回调方法,也就是在用户调用temp()方法的时候,callback_
2020-07-11 13:01:03
1077
转载 AMBA总线—APB总线协议详解
文章目录一、APB总线介绍1.1.什么是APB总线1.2.典型的基于 AMBA 总线的系统架构1.3.APB信号列表(重点)二、APB总线传输(时序)2.1.APB 状态机2.2.写操作(重要)2.3.读操作(重要)2.4.APB模块接口(重要)2.4.1.APB Bridge框图2.4.2.APB Slave框图三、APB到AHB的接口3.1.读操作3.2.写操作3.3.读写交替传送一、APB总线介绍关于总线的一些概念: 总线:计算机内部和计算机之间传输数据的共用通道
2020-06-28 20:36:59
2045
原创 APB总线协议入门
APB是AMBA总线协议的一种,主要用来连接高性能底带宽的外围设备。在APB总线系统中,只有一个master,其他都是slave 特点: APB可以工作在高频率下: 协议简单:无复杂的时序同步总线总线上所有的transaction都依赖于时钟上升沿一主多从:在APB总线中,只有一个主机,其他都是从机。一般情况下,APB挂在AHB总线系统下,通过AHB-APB Bridge将事务在AHB总线系统和APB总线系统之间进行转化,此时Bridg即为APB总线系统的master,其他的外围设备均为sl
2020-06-27 16:46:28
1852
原创 I2C总线协议入门介绍
I2C总线是两线式双向串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。特点:接口简单只有俩条位宽为1的连接线:SDA -1bit数据线SCL -1bit时钟线双向总线SDA 和SCL均为双向线路多种模式支持三种传输模式:标准模式:传输速度可达100Kbit/s快速模式:传输速度可达400Kbit/s高速模式:传输速度可达3.4MKbit/s多主机自动仲裁术语术语描述发送器发送数据到总线的器件接受器从总线接受数据的
2020-06-27 11:28:30
356
转载 NorFlash和NandFlash区别
Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反.(1)闪存芯片读写的基本单位不同应用程序对NorFlash芯片操作以“字”为基本单位.为了方便对大容量NorFlash闪存的管理,通常将NOR闪存分成大小为128KB或64KB的逻辑块,有时块内还分扇区.读写时需要同时指定逻辑块号和块内偏移.应用程
2020-06-25 14:48:29
734
转载 你问我FIFO有多深?
我们通常需要异步FIFO用作两个不同时钟域的模块之间的数据缓冲,确保不会丢失数据,只有在读速率快,写速率慢的时候,需要使用FIFO才能缓存来不及读取的数据。反之??通常因为读速率慢于写速率,慢的模块来不及读取的数据要被缓存下来,所以说,FIFO的工作模式应该是,数据突发写入的形式,Bursts。也就是隔一段时间突发的写一组数据。如果连续写入的话,因为读速率慢于写速率,FIFO肯定会写满,FIFO的深度就需要无穷大,才能确保数据不丢失。我们需要知道,读写频率,突发速率,突发长度进而确定FIFO的最小深度。
2020-06-11 15:13:52
168
原创 半导体存储器(ROM、RAM)
半导体存储器从存取功能上可以分为只读存储器(ROM)和随机存储器(RAM)只读存储器在正常工作状态下只能从中读取数据,不能快速地随时修改或重新写入数据。ROM的优点:电路结构简单,而且在断电以后数据不会丢失。ROM的缺点:只适用于存储那些固定数据的场合。ROM 又分为掩膜ROM、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电信号可擦除的可编程ROM(E^2PROM)、快闪存储器(Flash)掩膜ROM 数据在制作是已经确定,无法更改PROM 数据可以由用户根据自己需要写入,但一
2020-06-11 10:50:24
5278
原创 perl 中hash按值降序排列
写一个程序,读入一串单词(一个单词一行),输出每一个单词出现的次数,按照次数从大到小输出。perl 中hash按值降序排列#!/usr/bin/perl -wsub hashValueDescendingNum {KaTeX parse error: Expected '}', got 'EOF' at end of input: counts{b} <=> KaTeX par...
2020-03-22 17:58:41
239
转载 perl出现Global symbol "" requires explicit package name at ""的错误
这里写自定义目录标题最近编写一个perl脚本时候,编译出现了Global symbol “” requires explicit package name at ""的错误,后发现是由于使用use strict;造成,那么问题解决方法应该有两个:一,使用use strict; ,修改其他代码,如下:1,首先,检查你是不是用了use strict;2,如果用了use strict; 则,请...
2020-03-20 10:57:59
7803
uvm-studying-wy.docx
2020-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人