湖南工业大学EDA——Verilog考试重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、软件的基础知识及使用
1. Quartus II 是一个什么软件:
是Altera公司推出的EDA软件工具,其设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器
基本使用步骤:
①文件及工程建立;②工程实现的设置;③工程编译及分析;④工程仿真及分析;⑤芯片的管脚锁定;⑥编程下载及验证
2. Synplify Pro 是一个什么软件:
Synplify是Synplicity公司的著名产品,它是一个逻辑综合性能最好的FPGA和CPLD逻辑综合工具。
基本使用步骤:
①新建工程或打开工程;②新建源程序并添加到工程;③选择工程实现设置;④选择需研究的工程并进行逻辑综合;⑤查看有关逻辑综合结果
3. Modelsim是一个什么性质的软件?
Modelsim是Model Technology公司的著名产品,支持VHDL和Verilog的混合仿真。
基本使用步骤:
①新建或打开工程;②新建源程序并添加到工程;③编译源程序;④加载设计单元;⑤建立仿真波形;⑥运行仿真并观察结果
二、SOPC概念及应用
1.什么是SOPC:
可编程片上系统SOPC是一种通用器件,是基于FPGA的可重构SOC,它集成了硬核或软核CPU、DSP、存储器、外围I/O及可编程逻辑,是更加灵活、高效的SOC解决方案。
2.优势:
①合理的性能组合;②提升系统的性能;③降低系统的成本;④更好地满足产品生命周期的要求
3.阐述基于NIOS II的SOPC系统的设计开发流程。
1)硬件设计:
(1)创建一个Quartus II工程
(2)创建Nios系统模块:①启动SOPC Builder ②添加CPU及外围器件③指定基地址④系统设置⑤生成系统模块
(3)将图标添加到BDF原理图文件中
(4)编译Quartus II的工程设计文件
(5)配置FPGA
2)软件设计
1)启动Nios ii IDE
2)建立新的源程序和软件工程或导入已建源程序和软件工程。
3)编程工程
4)运行程序和调试程序。调试程序时可使用单步运行,并观察寄存器或者变量中有关参数的变化
5)将程序下载到FLASH中
三、EDA仿真模型及应用
1.仿真的基本步骤:
(1)分析系统设计要求和设计思想,弄懂系统的工作原理,工作流程
(2)了解各种输入信号及要求,设置各种输入激励信号,包括各输入信号本身的要求,相互之间的要求,
各种输入信号的设置有两种:仿真波形直接设置和测试程序文本设置。测试用例应尽可能覆盖整个系统的各种可能情况
(3)估计各种输出期望值,即对应各种可能的输入估计其输出期望值.
(4)进行实际仿真及结果分析,即执行仿真操作,进行实际仿真,并将仿真结果与期望值进行比较与分析,(5)仿真改进与完善,即若仿真结果与期望值不一致,则查找原因,进行程序和仿真设置值修改。直到完全达到要求为止
2. 该仿真的输入设定是否合理?并说明理由
该仿真的输入设定不合理,输入端没有设定使能开关
四、电子设计平台的优劣比较
单片机:优点:微控制器,可实现各种逻辑和非逻辑控制,强调控制和事务处理功能,价格低廉,结构简单,实时性高
缺点:只能执行简单的控制操作,运算能力不如DSP,多任务处理不如ARM
DSP:优点:专用于信号处理的微处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高的编译效率和指令执行速度,内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法
缺点:仅仅在信号处理方面独到,但要进行系统设计就要配合MCU,微处理器或者EDA技术来进行。ARM微处理器:优点:ARM采用RISC体系结构设计和多级流水线技术,具有强大的数据处理能力,单片机可以实现的功能基本上都能实现,而且拥有软件平台,可以进行多任务处理。
缺点:价格较之单片机来说贵,对于简单的控制系统单片机更合适,信号处理方面没有DSP好
EDA设计:优点:运用FPGA/CPLD设计,本身并没有功能,功能完全靠编程人员设计,设计更灵活,更高效。
缺点:开发比较复杂,较之单片机,ARM,DSP等已经设计好的系统来说,完成相同功能耗费的人力物力更多,对开发人员要求很高。
五、程序阅读理解与仿真分析
=:阻塞过程性赋值,电路为并行
图按课本
<=:非阻塞过程性赋值,电路为串行
图按课本
六、Verilog基本编程(以下大写均需改为小写)
【例3.27】3-8线译码器(高电平有效)
//3-8线译码器(高电平有效)decode3_8a.v
module decoder3_8a(ain,en,yout)
input en;
input [2:0]ain;
output [7:0]yout;
reg[7:0]yout;
always @(en orain)
begin
if(!en)
yout=8’b00000000;
else
case(ain)
3’b000: yout=8’b00000001;
3’b001: yout=8’b00000010;
3’b010: yout=8’b00000100;
3’b011: yout=8’b00001000;
3’b100: yout=8’b00010000;
3’b101: yout=8’b00100000;