veriloghdl数字设计与综合答案doc.docx
- 文档编号:1221438
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:18
- 大小:27.16KB
veriloghdl数字设计与综合答案doc.docx
《veriloghdl数字设计与综合答案doc.docx》由会员分享,可在线阅读,更多相关《veriloghdl数字设计与综合答案doc.docx(18页珍藏版)》请在冰豆网上搜索。
veriloghdl数字设计与综合答案doc
veriloghdl数字设计与综合答案
【篇一:
verilog习题选答】
txt>答:
fpga中,由程序来转换为可烧录的二进制码。
ic设计中,
主要是由design-compiler来实现。
2.能否说模块相当于电路图中的功能模块,端口相当于功能模块的
3.assign声明语句,实例元件,always块,这三类描述中哪一种直接
与电路结构有关?
4.由连续赋值语句(assign)赋值的变量能否是reg型的?
答:
赋值运算分为连续赋值和过程赋值两种。
(1)连续赋值连续赋值语句只能对线网型变量进行赋值,而不能
对寄存器型变量进行
赋值,基本的语法结构为:
assign#(延时量)线网型变量名=赋值
表达式;一个线网型变量一旦被连续赋值语句赋值后,赋值语句右端
赋值表达式的值将持续对赋值变量产生连续驱动,只要右端表达式
任一操作数的值发生变化,就会立即触发对赋值变量的更新操作。
(2)过程赋值过程赋值主要用于两种结构化模块(initial和
always)中的赋值语句。
在过程块中只能使用过程赋值语句,不能在过程块中出现连续赋值
语句,同时过程赋值语句也只能用在过程赋值模块中。
基本的语法
结构为:
被赋值变量赋值操作符赋值表达式,其中,赋值操作符是
“=”或“=,”它分别代表了阻塞赋值和非阻塞赋值类型。
过程赋值语
句只能对寄存器类型的变量进行赋值,经过赋值后,上面这些变量
的值将保持不变,直到另一条赋值语句对变量重新赋值为止。
5.如果都不带时间延迟、阻塞和非阻塞赋值有何不同?
说明它们的
不同点?
答:
代码1:
moduletest(a,b,c,d,y);//两个与逻辑,1个或逻辑inputa,b,c,d;outputy;
regy,tmp1,tmp2;
always@(aorborcord)//y的值并不等于当前的tmp1,tmp2
相或的值,而是等于上begin一次运算时tmp1,tmp2相或的值。
相当于一个延迟,在第2tmp1=ab;次always模块运行完后得到想要的y值
tmp2=cd;
y=tmp1|tmp2;
endendmodule
代码2:
基本与代码1一样,只是在always的敏感列表中加入了
temp1,temp2
moduletest(a,b,c,d,y);inputa,b,c,d;outputy;
regy,tmp1,tmp2;
always@(aorborcordortmp1ortmp2)//与代码一不同,begin
tmp1=ab;tmp2=cd;
y=tmp1|tmp2;endendmodule
代码3:
在代码2中加进参数j,来帮助判断always模块的运行次
数:
moduletest(a,b,c,d,y);inputa,b,c,d;outputy;
regy,tmp1,tmp2;reg[8:
0]j=0;
always@(aorborcordortmp1ortmp2)begin
j=j+1;
#5//这里加了一个延时,方便分析tmp1=ab;延迟消失了。
tmp2=cd;
y=tmp1|tmp2;
endendmodule
首先j从0增至1,为阻塞赋值,然后延迟5,开始下面的非阻塞赋
值,然后temp1,temp2得到了新的值,但是y还是并没有更新,而是和代码一中一样保持。
第一次always执行完毕。
由于temp1
的值得到了更新,随即再次运行always模块,j从1增加到2,然
后延迟5,而此时a,b,c,d的值没有变,因此temp1,temp2没有变
化,但是y却得到了第一次temp1,temp2变化后相或的值,发生
跳变。
由上可以看出,本来只要1次就能完成的组合逻辑,由于采用了非
阻塞赋值,仿真器不得不两次进入always模块,因此可以遵循这样
的原则,写组合逻辑的时候,always中要用阻塞赋值,写时序逻辑
的时候,always模块中要用非阻塞赋值。
(当然不排除为了特殊的
目的不遵循这个建议)
6.defparam命令的使用,模块实例化和模块引用
在一个模块中改变另一个模块的参数时,需要使用defparam命令,
高层模块可以改变低层模块用parameter定义的值,改变低层模块
的参数值有以下方式:
(1)defparam层次路径=改变后的值(见书本32页)
(2)实例化时传递参数模块名#(改变后参数的值)实例名(输
入输出)可以利用defparam命令定义参数,语法结构为:
模块名例化模块名(输入输出);defparam例化模块名.参数名=value;
模块实例引用时参数的传递还可以利用特殊符号“#”,语法结构为:
模块名#(改变后的参数值)例化模块名(输入输出端口)
7.同步清零d触发器和异步清零d触发器
moduledff_tongbu(q,d,clk,clr);//同步清零受时钟控制
inputd,clk,clr;
outputq;
regq;
always@(negedgeclock)if(clr)q=0;elseq=d;endmodule
moduledff_yibu(q,d,clk,clr);//异步清零不受时钟控制
inputd,clk,clr;
outputq;
regq;always@(clr)
if(clr)q=0;elseq=d;
使用同步清零d触发器输出一个周期为10个时间单位的时钟信号:
8.敏感变量的描述完备性
verilog中,用always模块设计组合逻辑电路时,在赋值表达式右
端参与赋值的所有信号都必须在always@敏感列表中列出。
如果在赋值表达式右端引用了敏感列表中没有列出的信号,在综合时会为没有列出的信号隐含地产生一个透明锁存器,这是因为该信号的变化不会立即引起所赋值的变化,而必须要等到敏感列表中的某个信
号发生变化时,它的作用才表现出来,相当于存在一个透明锁存器,
把该信号的变化暂存起来。
【篇二:
fpga习题集及参考答案】
一、填空题
1.一般把eda技术的发展分为()个阶段。
2.fpga/cpld有如下设计步骤:
①原理图/hdl文本输入、②适配、
③功能仿真、④综合、
⑤编程下载、⑥硬件测试,正确的设计顺序是①()⑤⑥。
3.在eda工具中,能完成在目标系统器件上布局布线的软件称为
()。
4.设计输入完成之后,应立即对文件进行()。
5.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()
设计法。
6.将硬件描述语言转化为硬件电路的过程称为()。
7.ip核在eda技术和开发中具有十分重要的地位,以hdl方式提供
的ip被称为()
ip。
8.soc系统又称为()系统。
sopc系统又称为()系统。
9.将硬核和固核作为()ip核,而软核作为()ip核。
10.ip核在eda技术和开发中具有十分重要的地位,以hdl方式提
供的ip被称为()。
11.hdl综合器就是逻辑综合的过程,把可综合的vhdl/veriloghdl
转化成硬件电路时,
包含了三个过程,分别是()、()、()。
12.eda软件工具大致可以由五个模块构成,分别是设计输入编辑器、
()、()、
()和()。
13.按仿真电路描述级别的不同,hdl仿真器分为()仿真、()仿
真、()
仿真和门级仿真。
14.系统仿真分为()、()和()。
15.()仿真是对设计输入的规范检测,这种仿真通过只能表示编译
通过,说明设计
满足一定的语法规范,但不能保证设计功能满足期望。
16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本
逻辑功能,但不
带有布局布线后产生的时序信息,是理想情况下的验证。
17.()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,
和芯片实际的工
作情况更加接近。
18.目前xilinx公司生产的fpga主要采用了()配置存储器结构。
19.描述测试信号的变化和测试工程的模块叫做()。
20.现代电子系统设计领域中的eda采用()的设计方法。
21.有限状态机可分为()状态机和()状态机两类。
22.veriloghdl中的端口类型有三类:
()、()、输入/输出端口。
23.veriloghdl常用两大数据类型:
()、()。
24.fpga/cpld设计流程为:
原理图/hdl文本输入→()→综合→
适配→()→
编程下载→硬件测试。
25.()是描述数据在寄存器之间流动和处理的过程。
26.连续赋值常用于数据流行为建模,常以()为关键词。
27.veriloghdl有两种过程赋值方式:
()和()。
28.`timescale1ns/100ps中1ns代表(),100ps代表()。
29.未来的集成电路技术的发展趋势,把整上系统集成在一个芯片上
去,这种芯片被称为
()。
30.从互连结构上可将pld分为确定型和统计型两类。
确定型结构的
代表是(),
统计型结构代表是()。
31.cpld是由()的结构演变而来的。
32.fpga的核心部分是(),由内部逻辑块矩阵和周围i/o接口模块
组成。
33.把基于电可擦除存储单元的eeprom或flash技术的cpld的在
系统下载称为
(),这个过程就是把编程数据写入e2cmos单元阵列的过程。
34.根据配置数据线数,器件配置可分为并行配置和串行配置两类。
串行配置以()
为单位将配置数据载人可编程器件:
而并行配置一般以()为单位
向可编程器件载入配置数据。
35.fpga的配置模式有从动串行模式、从动并行模式、主动串行模
式、主动并行模式、以
及()模式。
36.可编程逻辑器件的配置方式分为()和()两类。
37.veriloghdl是在()年正式推出的。
38.在veriloghdl的always块本身是()语句。
39.veriloghdl中的always语句中的语句是()语句。
40.veriloghdl提供了标准的系统任务,用于常用的操作。
如显示、
文件输入/输出等,系
统函数前都有一个标志符()加以确认。
41.veriloghdl很好地支持了“自顶向下”的设计理念,即,复杂任
务分解成的小模块完成
后,可以通过()的方式,将系统组装起来。
42.veriloghdl模块分为两种类型:
一种是()模块,即,描述某
种电路系统结构,
功能,以综合或者提供仿真模型为设计目的;另一种是()模块,
即,为功能模块的测试提供信号源激励、输出数据监测。
43.verilog语言中,标识符可以是任意一组字母、数字、()符号
和下划线符号的组
合。
44.state,state,这两个标识符是()同。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- veriloghdl 数字 设计 综合 答案 doc