verilog
可爱的IC
这个作者很懒,什么都没留下…
展开
-
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 · 6687 阅读 · 0 评论 -
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 · 2573 阅读 · 0 评论 -
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 · 8135 阅读 · 3 评论 -
define\parameter\localparam的区别
· `define作用 -> 常用于定义常量可以跨模块、跨文件;范围 -> 整个工程;· parameter作用 -> 常用于模块间参数传递;范围 -> 本module内有效的定义;· localparam作用 -> 常用于状态机的参数定义;范围 -> 本module内有效的定义,不可用于参数传递;...原创 2020-07-29 09:30:52 · 115 阅读 · 0 评论 -
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 · 1890 阅读 · 0 评论