Verilog基础知识总结02

Verilog基础知识总结02

1.简述Verilog如何建模
数字电路有两种基本要素:线(器件管脚之间的物理连线;wire)和器件(模块;module)。 Verilog建模就是用HDL语言把数字电路的两个基本要素的特性及相互之间的连接关系进行描述的过程。

2.仿真可以在几层面上进行?每个层面的仿真有什么意义?

仿真:对电路模块进行动态的全面测试
进行仿真的原因:可以通过观测被测试模块的输出信号是否符合要求,可以调试和验证逻辑系统的设计和结构准确与否,并发现问题及时修改。
仿真的目的:省钱
仿真的几个层面:前仿真(RTL)、逻辑网表仿真、门级仿真、布线后仿真
前仿真(RTL)、逻辑网表仿真、门级仿真:可以调试和验证逻辑系统的设计和结构准确与否,并发现问题及时修改。
布线后仿真:分析设计的电路模块的运行是否正常
3.非阻塞赋值的符号是(),分析一下其执行时其中触发器的过程
非阻塞赋值的符号是<=
时钟上升沿,低电平时,第一个电平触发的d触发器导通,第二个电平触发的d触发器断开,此时数据从第一个电平触发的d触发器的输入端输入到输出端,聚集在两个电平触发的d触发器之间;高电平时,第一个电平触发的d触发器断开,第二个电平触发的d触发器导通,此时数据从两个电平触发的d触发器之间传输到第二个电平触发的d触发器的输入端,之后从输入端传输到输出端。
4.什么情况下会生成不想要的触发器
在时钟沿触发的always块中,如果用非阻塞赋值语句对reg型变量赋值;或者当reg型变量经过多次循环其值仍保持不变,则会在综合中生成触发器。
5. reg型与wire型,reg型与mem型变量的区别是什么?
reg型:需要被明确的赋值,再被赋值前保持原来的值;是在过程块中被赋值的信号,往往代表触发器,也可以是组合逻辑信号,具有保持作用;
wire型:时刻被赋值;表示以assign语句赋值的组合逻辑信号,不能存储值;
mem型:由若干个相同宽度的reg型变量构成的数组;
6.什么是行为级描述?有哪些层次分类?
描述设计实体时,无需知道电路结构,只需知道输入与输出信号的行为;
系统级,算法级,寄存器级(RTL)
7. 逻辑与(&&)、按位与(&)和 缩减运算符中的与(&),三者有什么区别(提示:可以操作数的个数、运算过程、运算结果等方面回答)?
逻辑与(&&)是两个操作数,运算a&&b,当a,b均为1时,结果为1,其余为0,非0的操作数被认为是真,不确定的操作数记为x。结果为1,0或x。
按位与(&)也是双目运算符,运算时对两个操作数的对应位进行逐位运算,不同长度的操作数进行位运算时,自动按右端对齐,高位自动补0. 结果与操作数位数相同
缩减运算符(&)是单目运算符,缩减运算符中&运算就是对单个操作数进行递推运算。最低位和第二位相与,结果再和第三位进行相与,以此类推。结果为1位二进制数。
8. always块可以执行几次操作,initial块可以执行几次操作
always可综合,不断重复执行,直到仿真结束,没有always只有敏感信号列表时只执行一次,也是可综合语句;                                      
initial只执行一次,不可综合,用完即废;
9.简述典型数字系统设计流程。top-down设计方法
一个系统由总设计师先进行系统描述,将系统划分为若干模块,编写模块模型(一般为行为级),仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,最后总设计师负责各模块的接口定义。
10.不可综合的4个语句
fork_join,initial, ’include,’timescale) 是不可综合的,它们通常用在测试模块中。
11. begin end与fork join的区别,以及在begin end中使用非阻塞赋值会怎样
begin end是顺序执行,fork join是并行执行,begin end中使用非阻塞赋值和begin end并不冲突,可以把此时的begin end看做括号
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值