veriloghdl数字设计与综合答案doc.docx

上传人:b****3 文档编号:1221438 上传时间:2022-10-19 格式:DOCX 页数:18 大小:27.16KB
下载 相关 举报
veriloghdl数字设计与综合答案doc.docx_第1页
第1页 / 共18页
veriloghdl数字设计与综合答案doc.docx_第2页
第2页 / 共18页
veriloghdl数字设计与综合答案doc.docx_第3页
第3页 / 共18页
veriloghdl数字设计与综合答案doc.docx_第4页
第4页 / 共18页
veriloghdl数字设计与综合答案doc.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

veriloghdl数字设计与综合答案doc.docx

《veriloghdl数字设计与综合答案doc.docx》由会员分享,可在线阅读,更多相关《veriloghdl数字设计与综合答案doc.docx(18页珍藏版)》请在冰豆网上搜索。

veriloghdl数字设计与综合答案doc.docx

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,这两个标识符是()同。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1