当前位置:网站首页>verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第九章)
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第九章)
2022-08-02 14:02:00 【驚蟄_】
《Verilog数字系统设计教程》夏宇闻 第三版思考题
答案合集 : Verilog学习系列 第三部分
第二部分 设计和验证部分
1. Verilog HDL的模型共有哪几种类型(级别)?
有5种类型,系统级,算法级,RTL级,门级,开关级。
2.每种类型的Verilog HDL各有什么特点?主要用于什么场合?
系统级,算法级和RTL级是属于行为级,门级是属于结构级的。
系统级:用高级语言结构实现设计模块的外部性能的模型。
算法级:用高级语言结构实现设计算法的模型。
RTL级:描述数据在寄存器之向流动和如何处理这些数据的模型。
门 级:描述逻辑门以及逻辑门之间的连接的模型。
开关级:描述器件中三极管和存储节点以及它们之间连接的模型。
3.不可综合成为电路的Verilog模块有什么用处?
描述比较直观。
4.为什么说 Verilog HDL的语言结构可以支持构成任意复杂的数字逻辑系统?
通过 Verilog语言中的模块实例引用,可以构成任何复杂结构的电路,这种以结构方式所建成的Verilog模型不仅是可以以仿真的,而且也是可以综合的,其本质是表示电路的具体结构,也可以说这种Verilog 文件也是一种结构网表。
5.什么是综合?是否任何符合语法的Verilog HDL程序都可以综合?
综合是通过综合器把HDL程序转化成标准的门级结构网表。不是任何复合语法的 VerilogHDL程序都可以综合。
6.综合后生成的是不是真实的电路?若不是,还需要哪些步骤才能真正变为具体的电路?
不是,真实的电路还需要利用ASIC和 FPGA制造厂商的布局布线工具,根据综合生成的标准的门级结构网来产生。
7.为什么综合以后还可以用Verilog进行仿真?
通过综合以后产生的是门级结构,而门级结构再经过Verilog仿真测试验证其正确性。
8.同一物理电路的行为模块仿真验证与结构模块的仿真验证在意义上有什么不同?
行为模块的仿真首先要转换为结构模块再进行仿真验证,结构模块是直接进行仿真的。
9.为什么说前端逻辑设计必须包括结构仿真验证,只有行为验证是远远不够的?
只有行为仿真远远不够的,因为 Verilog HDL 各种建模的方法,发挥各自在不同类型电路描述中的长处,而且要在层次管理工具的协调下把各个既独立又相互联系的模块组和,才能有效的设计出高质量的数字电路来。
10.什么是Top-Down设计方法?通过什么手段来验证系统分块的合理性。
通过行为建模把一个复杂的系统分解成可操作的若干个模块,每个模块之间的逻辑关系通过行为建模的仿真加以验证。
11.编写两路每路为一位信号的二选一多路器的行为模块,再编写它的结构模块。然后编写测试模块分别对这两个模块进行测试,观测仿真运行的结果,编写实验报告。
module sel2_1 (a, b, s, f);
input a, b, s;
output f;
reg f;
[email protected](a, b, s)
begin
if(s == 0)
f = a;
else
f = b;
end
endmodule
结构模块
module sel2_1 (a, b, s, f);
input a, b, s;
output f;
wire s_not , and1, and2;
not U1(s_not ,s);
and U2(and1, b ,s);
U3(f, and1 ,and2);
or U4(f, and1, and2);
endmodule
12.如果让你编写两路每路为8位信号的二选一多路器的结构模块是不是感觉麻烦?编写行为模块是不是很方便?
是,编写行为模块会很方便,只需要将输入输出的一位改为八位。
13.用什么方法可以把行为模块转换位结构模块?用你掌握的综合器,把第10题和第11题从行为模块转换为Verilog 网表,仔细阅读自动生成的网表文件。
14.编写测试模块分别对行为的和自动生成的Verilog网表进行测试,比较仿真结果细微的不同,分析为什么不同。
边栏推荐
猜你喜欢
STM32(F407)—— 堆栈
[ROS] (06) ROS Communication - Topic Communication
Raj delivery notes - separation 第08 speak, speaking, reading and writing
8580 合并链表
Error Correction Design Principle of Hamming Check Code
Building and getting started with the Flask framework
Flask项目的完整创建 七牛云与容联云
瑞吉外卖笔记——第05讲Redis入门
How to solve mysql service cannot start 1069
跑跑yolov5吧
随机推荐
【VCU】详解S19文件(S-record)
跑yolov5又出啥问题了(1)p,r,map全部为0
[ROS]ROS常用工具介绍(待续)
YOLOv7使用云GPU训练自己的数据集
Flask框架
关于密码加密的一点思路
Tornado框架路由系统介绍及(IOloop.current().start())启动源码分析
[ROS](01)创建ROS工作空间
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第七章)
Briefly write about the use and experience of PPOCRLabel
Linux:CentOS 7 安装MySQL5.7
Sentinel源码(五)FlowSlot以及限流控制器源码分析
深度学习框架pytorch快速开发与实战chapter3
yolov5,yolov4,yolov3乱七八糟的
ftp常用命令详解_iftop命令详解
[ROS] (04) Detailed explanation of package.xml
Visual Studio配置OpenCV之后,提示:#include<opencv2/opencv.hpp>无法打开源文件
vim复制粘贴_vim如何复制粘贴
Sentinel源码(一)SentinelResourceAspect
第五单元 保持状态