数字系统设计与verilog_HDL_王金明_第四版__EDA期末知识点复习(宁波工程学院电科版)
数字系统设计与veriloghdl课后答案

数字系统设计与veriloghdl课后答案【篇一:数字逻辑与数字系统设计习题参考答案】>第1章习题解答1.3 (1)86(2)219(3)106.25(4)0.6875 (4)0.1011.4 (1)101111(2)1001000(3)100001l.111.5 (1)(117)10=(165)8=(1110101)2=(75)16(2)(3452)10=(6574)8=(110101111100)2=(d7c)16(3)(23768.6875)10=(56330.54)8=(101110011011000.1011)2=(5cd 8.b)16 (4)(0.625)10=(0.5)8=(0.101)2=(0.a)16 1.6(1)(117)8=(1001111)2=(79)10(2)(7456)8=(111100101110)2=(3886)10(3)(23765.64)8=(10 0111 1111 0101.1101)2=(10229.8125)10(4)(0.746)8=(0.11111)2=(0.96875)10 1.7 (1)(9a)16=(10011010)2=(154)10(2) (3cf6)16=(11110011110110)2=(15606)10(3) (7ffe.6)16=(111111*********.011)2=(32766.375)10 (4)(0.c4)16=(0.110001)2=(0.765625)10 1-8(1)(125)10=(000100100101)8421bcd(2)(7342)10=(0111001101000010)8421bcd(3)(2018.49)10=(0010000000011000.01001001)8421bcd(4)(0.785)10=(0.011110000101)8421bcd1.9(1)(106)10=(1101010)2 原码=反码=补码=01101010 (2)(-98)10=(-1100010)2原码=11100010反码=10011101 补码=11100011(3)(-123)10=(-1111011)2 原码=11111011反码=10000101 补码=11111011(4)(-0.8125)10=(-0.1101)2 原码=1.1101000反码=1.0010111 补码=1.00110001.10(1)(104)10=(1101000)2 [1101000]补=01101000(-97)10=(-1100001)2 [-1100001]补=1001111101101000 + 10011111 0000011110000011 + 01001111 11010010[104-97]补=01101000+10011111=00000111, 104-97=(00000111)2=7 (2) (-125)10=(-1111101)2(79)10=(01001111)2[-1111101]补=10000011 [01001111]补=0100111101111000 [-125+79]补=10000011+01001111=11010010,-125+79=(-0101110)2=-46 (3) (120)10=(1111000)2[01111000]补=01111000(-67)10=(-1000011)2[-1000011]补=10111101[120-67]补=10000011+01001111=00110101,-125+79=(00110101)2=53 (4) (-87)10=(-1010111)2[-1010111]补=10101001(12)10=(1100)2[1100]补=00001100[-87+12]补=10101001+00001100=10110101,-125+79=(-1001011)2=-75+ 10111101 0011010110101001+ 00001100 10110101第2章习题解答2.3 解:根据逻辑图可直接写出逻辑表达式:(a) f=ab?bc;(b)f=abbcac解:设3个输入变量分别为a、b、c,输出为f,按题意,其中有奇数个为1,则输出f=1,因此可写出其逻辑表达式为f=abc?abc?abc?abc。
数字系统设计与Verilog_HDL(第4版)[王金明]第1章
![数字系统设计与Verilog_HDL(第4版)[王金明]第1章](https://img.taocdn.com/s3/m/5d20edd650e2524de5187e4f.png)
通常将对基于EEPROM工艺的非易失结构PLD器件
的下载称为编程(Program),将基于SRAM工艺
结构的PLD器件的下载称为配置(Configure)。
1.4 常用的EDA软件工具 集成的 FPGA/CPLD开发工具 逻辑综合器 仿真工具 其他设计工具
集成的FPGA/CPLD开发工具
的逻辑小块放到器件内部逻辑资源的具体位置,并使
它们易于连线;布线则是利用器件的布线资源完成各
功能块之间和反馈信号之间的连接。
仿真(Simulation)
仿真是对所设计电路的功能的验证 功能仿真(Function Simulation) 时序仿真(Timing Simulation)
编程配置
把适配后生成的编程文件装入到PLD器件中的过程
EDA(Electronic Design Automation) 就是以计算机为工作平台,以EDA软件工具为开 发环境,以PLD器件或者ASIC专用集成电路为目 标器件设计实现电路系统的一种技术。 1.电子CAD(Computer Aided Design)
2.电子CAE(Computer Aided Engineering)
综合器是能自动实现上述转换的软件工具,是能将原理图
或HDL语言描述的电路功能转化为具体电路网表的工具
软件编译器和硬件综合器区别
C、ASM... 程序 软件程序编译器
COMPILER
(a)软件语言设计目标流程 硬件描述语言 综合器
CPU指令/数据代码: 010010 100010 1100
VHDL/VERILOG. 程序
现代EDA技术的特征
(1)采用硬件描述语言(HDL)进行设计 (2)逻辑综合与优化 (3)开放性和标准化 (4)更完备的库(Library)
数字系统设计verilog HDL 第 版 王金明

第3章 Quartus Prime使用指南3.1 Quartus Prime原理图设计n3.1.1 半加器原理图设计输入Quartus Prime的主界面Quartus Prime的主界面3.1.1 半加器原理图设计输入输入元件Quartus Prime的主界面3.1.1 半加器原理图设计输入半加器电路图Quartus Prime的主界面3.1.1 半加器原理图设计输入使用New Project Wizard创建工程Quartus Prime的主界面3.1.1 半加器原理图设计输入设置Directory,Name,Top-Level Entity对话框Quartus Prime的主界面3.1.1 半加器原理图设计输入将设计文件加入当前工程中Quartus Prime的主界面3.1.1 半加器原理图设计输入选择目标器件Quartus Prime的主界面3.1.1 半加器原理图设计输入选择综合器、仿真器Quartus Prime的主界面3.1.1 半加器原理图设计输入工程信息汇总显示Quartus Prime的主界面3.1.2 1位全加器设计输入Quartus Prime的主界面创建元件符号对话框3.1.2 1位全加器设计输入Quartus Prime的主界面1位全加器原理图3.1.3 1位全加器的编译n选择菜单Processing→Start Compilation,或者单击按钮,即启动了完全编译,完全编译包括如下5个过程:n分析与综合(Analysis & Synthesis);n适配(Fitter);n装配(Assembler);n定时分析(TimeQuest Timing Analysis);n网表文件提取(EDA Netlist Writer)。
Quartus Prime的主界面3.1.3 1位全加器的编译Quartus Prime的主界面编译信息汇总3.1.4 1位全加器的仿真Quartus Prime的主界面建立Quartus Prime和Modelsim的链接3.1.4 1位全加器的仿真Quartus Prime的主界面设置仿真文件的格式和目录3.1.4 1位全加器的仿真Quartus Prime的主界面自动生成的Test Bench模板文件3.1.4 1位全加器的仿真Quartus Prime的主界面对Test Bench进一步设置3.1.4 1位全加器的仿真1位全加器时序仿真波形图Quartus Prime的主界面3.1.5 1位全加器的下载n本例针对的下载板为DE2-115,故目标器件应为:EP4CE115F29C7。
数字系统设计复习纲要

EDA工具应用丛书数字系统设计与Verilog HDL(第4版)王金明编著课堂笔记海盗整理目前,EDA技术已经成为电子信息类学生一门重要的专业基础课程,并在教学、科研,以及大学生电子设计竞赛等活动中,起着越来越重要的作用,成为电子信息类本科生以及研究生必须掌握的基础知识与基础技能。
随着EDA技术的应用日益广泛,对EDA课程的教学的要求也不断提高,必须对教学内容进行优化与更新,以与EDA技术的发展相适应。
对于大多数学生而言,通过一学期的学习已经对EDA技术有了一定的了解,为了帮助同学们系统的掌握所学内容,我整理了《数字系统设计与Verilog HDL 课堂笔记》一书。
在本书中,共有五个章节,主要列举了数字系统设计概论、可编程逻辑器件、Verilog HDL语言、Quartus II的安装与使用的相关知识点,简明扼要直击考试要点。
在本书的第五章节,通过六个例子阐述了Verilog HDL语言与Quartus II软件的配合使用。
由于受编者水平和编写时间所限,书中难免有不足之处,恳请读者批评指正。
编者2014.5.171.数字系统设计概论 (5)1.1数字系统的概念 (5)1.2数字系统的发展 (5)1.2.1 EDA技术: EDA(Electronic Design Automation) (5)1.2.2数字系统的两种设计思路: (5)1.2.3 构建数字系统的方法途径 (6)1.2.4 基于IP模块的设计 (6)1.3 数字系统的设计流程 (7)1.4 用于开发FPGA和CPLD的EDA工具 (7)2.可编程逻辑器件PLD (8)2.1 PLD概述 (8)2.1.1 PLD的基本概念 (8)2.1.2 PLD的作用 (8)2.1.3 PLD的分类 (8)2.1.4 PLD的基本构成原理与表示方法 (9)2.2 SPLD介绍 (10)2.2.1 可编程只读存储器(PROM) (10)2.2.2可编程逻辑阵列PLA(Programmable Logic Array) (10)2.2.3可编程阵列逻辑PAL(Programmable Array Logic) (10)2.2.4通用阵列逻辑(GAL) (12)2.3 HPLD介绍 (12)2.3.1 CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件) (12)2.3.2 FPGA(Field Programmable Gate Array,现场可编程门阵列) (13)2.3.3 CPLD与FPGA的异同 (13)2.3.4 Altera 公司生产的PLD器件 (14)2.3.5 PLD器件的发展趋势 (14)3. Verilog HDL 语言 (14)3.1 Verilog HDL 基础 (14)3.1.1 词法 (14)3.1.2 数据类型 (15)3.1.3运算符 (16)3.2 Verilog HDL中的模块 (16)3.2.1 模块 (16)3.2.2 Verilog HDL 数字设计中模块中功能的基本描述方式 (17)3.3 Verilog HDl 行为语句 (17)3.3.1 过程语句 (17)3.3.2 块语句 (18)3.3.3 赋值语句 (18)3.3.4 条件语句 (18)3.3.5 循环语句 (19)3.3.6 编译向导语句 (20)3.4 Verilog HDL 数字设计的层次设计风格 (20)3.5常见组合与时序逻辑电路Verilog HDL描述 (20)3.5.1 常用组合电路模块的设计 (20)3.5.2 常用时序电路模块设计 (21)4. Quartus II 介绍 (21)4.1 Quartus II 概述 (21)4.2 原理图输入法 (22)4.3 文本输入方式 (23)4.4 设计流程 (23)5. 数字系统设计实验 (24)5.1 基础实验 (24)5.1.1 加法器 (24)5.1.2 译码器 (25)5.1.3 触发器 (26)5.1.4 计数器 (28)5.2 综合设计实验 (29)5.2.1 累加器 (29)5.2.2 数码管动态扫描 (30)1.数字系统设计概论1.1数字系统的概念是指对数字信息进行存储、传输、处理的电子系统。
VerilogHDL复习题与答案

VerilogHDL硬件描述语言复习一、1. Verilog HDL 是在哪一年首次被I E E E标准化的答:Verilog HDL是在1995年首次被IEEE标准化的..2. Verilog HDL支持哪三种基本描述方式答:Verilog HDL可采用三种不同方式或混合方式对设计建模..这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模3. Verilog HDL 是由哪个公司最先开发的答:Verilog HDL是由Gateway Design Automation公司最先开发的4. Verilog HDL中的两类主要数据类型什么答:线网数据类型和寄存器数据类型..线网类型表示构件间的物理连线; 而寄存器类型表示抽象的数据存储元件..5. U D P代表什么答:UDP代表用户定义原语6. 写出两个开关级基本门的名称..答:pmos nmos7.写出两个基本逻辑门的名称..答:and or8.在数据流描述方式中使用什么语句描述一个设计答:设计的数据流行为使用连续赋值语句进行描述9. 采用结构描述方式描述1位全加器..答:module full_adda;b;cin;s;co;input a;b;cin;output s;co;wire S1;T1;T2;T3;xorX1S1;a;b;X2s;S1;cin;andA1T3;a;b;A2T2;b;cin;A3T1;a;cin;orO1co;T1;T2;T3;endmodule10. i n i t i a l语句与always 语句的关键区别是什么答: 1 initial语句:此语句只执行一次..2 always语句:此语句总是循环执行; 或者说此语句重复执行..11.采用数据流方式描述2 - 4译码器..答:'timescale 1ns/nsmodule Decoder2×4A;B;EN;Z;input A;B;EN;output 0:3Z;wire abar;Bbar;assign #1 Abar=~A;assign #1 Bbar=~B;assign #2 Z0=~Abar&Bbar&EN;assign #2 Z1=~Abar&B&EN;assign #2 Z2=~A&Bbar&EN;assign #2 Z3=~A&B&EN;endmodule1 2. 找出下面连续赋值语句的错误..assign Reset=#2 Sel^WriteBus;答:不符合连续赋值语句的语法;应该为:assign #2 Reset = ^ WriteBus;二、1. 下列标识符哪些合法;哪些非法C O u n T; 1_2 M a n y; \**1; R e a l ; \wait; Initial答:COunT合法;1_2 Many非法;\**1;Real 非法;\wait合法;Initial合法2. 在Verilog HDL中是否有布尔类型答:没有3. 如果线网类型变量说明后未赋值;其缺省值为多少答:z4. Verilog HDL 允许没有显式说明的线网类型..如果是这样;怎样决定线网类型答:在Verilog HDL 中;有可能不必声明某种线网类型..在这样的情况下;缺省线网类型为1位线网..5.下面的说明错在哪里i n t e g e r 0:3 R i p p l e;答:应该是integer Ripple 0:36. Verilog HDL有哪几大类数据类型答:verilog hdl 有两大类数据类型:线网类型和寄存器类型..7.Verilog HDL有哪几种寄存器类型答:有五种不同的寄存器类型:reg、integer、time、real、realtime..三、1. 假定长度为6 4个字的存储器; 每个字8位;编写Verilog 代码;按逆序交换存储器的内容..即将第0个字与第6 3个字交换;第1个字与第6 2个字交换;依此类推..答:reg 7:0 mem 63:0;integer i = 0;reg 7:0 temp;whilei < 32begintemp = memi;memi = mem63 - i;mem63 - i = temp;i = i + 1;end2. 假定3 2位总线A d d re s s _ B u s; 编写一个表达式;计算从第11位到第2 0位的归约与非.. 答:~& addressBus20:113. 假定一条总线C o n t ro l _ B u s 1 5 : 0 ;编写赋值语句将总线分为两条总线:A b u s 0 : 9 和B b u s 6 : 1 ..答:Abus = ControlBus9:0;Bbus = ControlBus15:10;4. 编写一个表达式;执行算术移位;将Qparity 中包含的8位有符号数算术移位..答:{Qparity7-i:0; Qparity7:8-i}//左移;i表示移的位数{Qparityi-1:0; Qparity7: i}//右移;i表示移的位数5.使用条件操作符; 编写赋值语句选择N e x t S t a t e的值..如果C u rre n t S t a t e的值为R E S E T; 那么N e x t S t a t e的值为G O;如果C u rre n t S t a t e的值为G O;则N e x t S t a t e 的值为B U S Y;如果C u rre n t S t a t e的值为B U S Y;则N e x t S t a t e的值为R E S E T..答:NextState = CurrentState == RESET Go : CurrentState == Go BUSY : RESET6. 如何从标量变量A;B;C和D中产生总线B u s Q0:3 如何从两条总线B u s A 0 : 3 和B u s Y 2 0 : 1 5 形成新的总线B u s R 1 0 : 1答:BusQ3:0 = {D; C; B; A}BusR10:1 = {BusY20:15; BusA3:0}四、1、Verilig HDL提供的内置基本门分为哪几类1 多输入门、2 多输出门、3 三态门2、多输入门与多输出门的区别在哪里答:多输入门:and nand nor or xor xnor 这些逻辑门只有单个输出; 1个或多个输入第一个端口是输出;其它端口是输入..多输出门有:buf; not 这些门都只有单个输入;一个或多个输出最后的端口是输入端口;其余的所有端口为输出端口..3、Verilog HDL内置的mos开关门有哪些答:cmos; nmos; pmos; rcmos; rnmos; rpmos4、门时延值的组成有哪几个值答:1 上升时延2 下降时延3 关断时延5. Verilig HDL提供的内置基本门分为哪几类答:1 多输入门2 多输出门 3 三态门4 上拉、下拉电阻5 MOS开关6 双向开关6.假定一条总线Control_Bus7:0;编写赋值语句将总线分为两条总线:Abus 0:2和Bbus 4 : 1 ..答:Abus=ControlBus2:0;Bbus=ControlBus15:12;7. 编写一个表达式;执行算术移位;将Qparity 中包含的8位有符号数算术左移3位..答:{Qparity4:0; Qparity7:5}8.要求采用数据流方式设计一个半加器;写出完整的Verilig HDL设计模块..答:module half_addSum; Cout;A; B;input A; B;output Sum; Cout;assign Sum=A^B;assign Cout=A&B;endmodule五、1、操作符有按操作数个数分为3 种类型;其中三目操作符有 2 个操作符和 3 个操作数..2、关键字全是小写;标识符的首字符必须是字母或下划线..3、数字A=5’b011 的表示z ..设B=5’b101x1;C=5’b01x11;则操作运算F=B+C的结果F= 5'bxxxxx ..4、VerilogHDL中保存字符串“Hello”需要 5 位..5、声明reg 7:0data4:0表示5 个8 位的存储单元..6、module testq;clk;crt;output q;reg q;Input clk;crt;always @posedge clkbeginifcrt==1q=~q;endendmodule7、数据流建模的主要语法结构是assign LHS_target = RHS_expression; 语句;采用assign 关键字开始..8、线网赋值延迟可以通过普通赋值延迟; 隐式连续赋值延迟和线网声明延迟三种方法来实现..9、模型引用时;要指定实例名;但硬件和用户定义原语例外..10、语句assign #2:3:4;5:6:7portout;clk;in中的典型关断延迟是 4 ;最大关断延时是7 ..11、VerilogHDL语言可以从四个不同的抽象层次描述电路;这四层是开关级、门级、寄存器传送级、算法级12、结构化建模的主要语句是内置门原语和用户定义原语..六、1.门级建模的类型有:Aor和AND BOR和andCand和or DA、B、C都正确 C2.VerilogHDL使用的是逻辑是:A二值逻辑B四值逻辑C三值逻辑D八种强度 B3.不属于寄存器类型的是:Ainteger BregCwand Dtime C4.VerilogHDL语言中;标识符的作用范围是:A本模块B外部模块C所有模块D全局模块 A5.具有多个输出端口的门是:Aand BorCnor Dnot D七、1、语句内部时延与语句前时延效果是否一样答:不一样2、当时延表达式为负数时;时延值是如何处理得到答:取绝对值3、VeriligHDL有几种循环语句分别采用关键字是什么答:总共有四种循环语句;分别采用forever、repeat、while、for..八、1.VerilogHDL语言和C语言的结构化语句有何不同答:1.Verilog HDL是在C语言的基础上发展起来的;保留了C语言的结构特点..2.C语言由函数组成;Verilog由模块module组成3.C语言通过函数名及其端口变量实现调用;Verilog也通过模块名和端口变量实现调用4.C语言有主函数main;Verilog的个module均等价;但必有一个顶层模块;包含芯片系统与外界的所有I/O信号5.C语言是顺序执行;而Verilog的所有module均并发执行6.C 语言与Verilog语法相似..2、VerilogHDL语言的操作符类型有哪些其数据流建模采用什么来描述设计吗答:算术、逻辑、关系、等价、按位、缩减、移位、拼接、条件数据流建模采用算术与逻辑来描述设计3、VerilogHDL语言的优点是什么答:Verilog HDL语言的优势:由于它在其门级描述的底层;也就是晶体管开关的描述方面比VHDL等各种其它的HDL语言有更强的功能..所以在复杂数字逻辑电路和系统的设计仿真时更有优势;描述的设计思想、电路结构和逻辑关系清晰明了;并且设计语言简练、易学易用;其模块化分层结构在大规模设计时更能体现出优势..因此可以看出;Verilog HDL语言在EDA设计中相对与其他的各种硬件描述语言更有优势..4、下列例子中;b;c;d的最终值分别是什么initialbeginb=1’b1;c=1’b0;#10 b=1’b0;endinitialbegind=#25{b|c};end答:b=1'b0、c=1'b0、d=1'b05.一位全减器模块wsub具有三个一位输入:x;y和z前面的借位;两个一位的输出D差和B借位..计算D和B的逻辑等式如下所示:..D..yx=++..+..xyzzzxyyzx..+=B.+yzyzxx写出VerilogHDL数据流描述的该全减器wsub..答: module wsubD;B;x;y;xinput x;y;z;output D;B;assign D=~x*~y*~z+~x*y*~z+x*~y*~Z+x*y*z;assign B=~x*y+~x*z+y*z;endmodule。
Verilog-HDL期末考试复习题

【第一章】1、FPGA 芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?答:新型芯片的规模越来越大,成本越来越低,低端的FPGA已逐步取代了传统的数字元件.先进的ASIC生产工艺已经被用于FPGA的生产,越来越丰富的处理器内核被嵌入到高端的FPGA芯片中,基于FPGA的开发成为一项系统级设计工程。
随着半导体制造工艺的不同提高,FPGA的集成度将不断提高,制造成本将不断降低,其作为替代ASIC来实现电子系统的前景将日趋光明。
2、EDA 技术的优势是什么?答:1.用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。
2.EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。
3.某些HDL也是文档型的语言,极大地简化了设计文档的管理。
4。
EDA具有日益强大的逻辑设计仿真测试技术,极大地提高了大规模系统电子设计的自动化程度。
5。
基于EDA技术的设计,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权。
6。
EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议。
良好的可移植与可测试性,为系统开发提供了可靠的保证。
7.EDA技术能将所有设计环节纳入统一的自顶向下的设计方案中。
8。
EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整全面的测试。
3、EDA 的设计流程包括哪几个环节?ANS: ①设计输入(原理图/HDL 文本编辑) ②综合③FPGA/CPLD 适配④时序仿真与功能门级仿真⑤FPGA/CPLD 编程下载⑥FPGA/CPLD 器件电路硬件检测。
EDA-Verilog,HDL期末复习题总结必过

EDA-Verilog,HDL期末复习题总结必过EDA-Verilog HDL期末复习题总结必过选择题1. 大规模可编程器件主要有FPGA、CPLD 两类,下列对FPGA 结构与工作原理的描述中,正确的是( C )。
A.FPGA 全称为复杂可编程逻辑器件;B.FPGA 是基于乘积项结构的可编程逻辑器件;C.基于SRAM 的FPGA 器件,在每次上电后必须进行一次配置;D.在Altera 公司生产的器件中,__ 系列属FPGA 结构。
2. 不完整的IF语句,其综合结果可实现(A )A. 时序逻辑电路B.组合逻辑电C. 双向电路D. 三态控制电路 3. 综合是EDA设计流程的关键步骤,在下面对综合的描述中,( D )是错误的。
A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。
4. 大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA 结构与工作原理的描述中,正确的是( C )。
A. FPGA全称为复杂可编程逻辑器件;B. FPGA是基于乘积项结构的可编程逻辑器件;C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D. 在Altera公司生产的器件中,__系列属FPGA结构。
5. 以下关于状态机的描述中正确的是(B )A.Moore型状态机其输出是当前状态和所有输入的函数B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数D.以上都不对 6. 目前应用最广泛的硬件描述语言是( B )。
A. VHDLB. Verilog HDLC. 汇编语言D. C语言7. 一模块的I/O 端口说明:“input [7:0] a;”,则关于该端口说法正确的是(A )。
EDA复习要点全

主要知识点1、从执行方式看VHDL的描述语句包括那些描述语句?用VHDL语言进行设计时,按描述语句的执行顺序进行分类,可将VHDL语句分为顺序执行语句(Sequential)和并行执行语句(Parallel)。
2、目前流行的硬件描述语言有那些?常用的硬件描述语言有ABEL-HDL AHDL.VHDL和Verilog-HDL.而VHDL和Verilog-HDL是当前最流行的并成为IEEE标准的硬件描述语言。
3、MAX+PLUS2中各种文件的扩展名有哪些?*.vhd *.sym *.gdf *.scf4、基于MAX+PLUS2的设计流程设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程5、目前较流行的EDA设计软件有那些?ALTERA公司: MAX+PLUS IIQUARTUS II(全新的EDA软件,正在逐步替代 MAX+PLUS) LATTICE莱迪思公司: isp EXPERT SYSTEMisp DesignExpert SYSTEM XILINX西林公司: FOUNDATIONISE(全新的EDA软件,正在逐步替代FOUNDATION)6、可编程逻辑器件的分类?按照变成工艺分哪些类?SPLD 简单可编程逻辑器件CPLD 复杂可编程逻辑器件FPGA 现场可编程门阵列ISP 在系统(线)可编程逻辑器件按编程工艺分为:熔丝开关(一次可编程,要求大电流)可编程低阻电路元件(多次编程,要求中电压)EPROM型(紫外线擦除电可编程逻辑器件)E PROM型(电可擦写编程器件)基于SRAM的编程元件7、VHDL程序设计中常用的库有那些?哪些库是显式(默认打开的)的,哪些是隐式的?P159VHDL程序设计的常用库:IEEE库、STD库、WORK库、VITAL 库、用户定义库。
显示库:IEEE库用户定义库 VITAL库隐式库:、STD库、WORK库8、程序包由那两部分组成?分别有什么作用? P161程序包由两部分组成:程序包首和程序包体,程序包首为程序包定义接口,声明包中的类型、元件、函数和子程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、采用硬件描述语言(HDL)进行电路设计的优势。
1)更适合用于描述规模大、功能复杂的数字系统2)语言标准化、便于设计的复用、交流、保存和修改3)设计与工艺的无关性,宽范围的描述能力,便于组织大规模、模块化的设计2、Verilog模块的结构模块声明:包括模块名字、模块输入、输出端口列表,结束关键字为endmodule端口定义:格式为:input: 端口名1,端口名2…端口名n;output: 端口名1,端口名2…端口名n;inout: 端口名1,端口名2…端口名n;3、标识符是用户在编程时给verilog对象起的名字,模块、端口和实例的名字都是标识符。
标识符可以是任意一组字母、数字以及符号“$”和“_”的组合,但标识符的第一个字符必须是字母(a-z,A-Z)或者是下划线“_”,标识符最长可包含1023个字符,此外,标识符区分大小写。
4、整数写法:+/-<size位宽>’<base进制><value数字>1、在较长的数之间可用下划线分开2、当数字不说明位宽时,默认值为32位3、X或(z)在二进制中代表1位x(或z),在八进制中代表3位,在16进制中代表4位4、如果没有定义一个整数的位宽,其宽度为相应值中定义的位数。
5、如果定义的位宽比实际的位数长,通常在左边填0补位,但如果最左边一位为x或z,就相应的用x或z左边补位。
6、“?”是高阻态z的另一种表示符号,在数字的表示中,字符“?”和z是完全等价的,可相互代替。
7、整数可以带符号,并且正负号应写在最左边,负数通常表示为二进制补码的形式。
8、当位宽与进制缺省时表示的是10进制数9、在位宽和‘之间,以及进制和数值之间允许出现空格,但’和进制之间以及数值之间是不能出现空格的。
要求掌握整数正确的书写方式。
5、向量:宽度大于1位的变量;标量:宽度为1位的变量。
定义2个8位reg型矢量:reg [7:0] ra, rb;6、运算符(1)注意:逻辑运算符,例如逻辑与&&、逻辑或||、逻辑非!,运算结果是1位的。
如果操作数不止1位的话,则应将操作数作为一个整体来对待,即如果操作数全是0,则相当于逻辑0,但只要某一位是1,则操作数就应该整体看作逻辑1。
例如:若A = 4’b0000, B = 4’b0101,则有:A &&B = 0;(2)位拼接运算符:{ }将两个或多个信号的某些位拼接起来7、initial语句和always语句的区别:initial语句常用于仿真中的初始化,initial过程块中的语句只执行一次,不带触发条件;always块内的语句则是不断重复执行的,Always过程语句是可综合的,带有触发条件。
8、posedge:上升negedge:下降弄清楚同步和异步的概念。
例如:如果Nreset和Nset是异步,时钟clock上升沿触发。
always @(posedge clk or posedge rst_n )if (! rst_n ) Q<=0;else if(Nset) Q<=1;else Q<=D;9、阻塞赋值与非阻塞赋值的区别:非阻塞赋值在整个过程块结束时才完成赋值操作;阻塞赋值在该语句结束时就立即完成赋值操作。
在always过程块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以理解为赋值语句是并发执行的.10、条件语句,条件语句也称分支语句。
11、顺序执行:阻塞赋值语句;并发执行:非阻塞赋值语句。
12、用行为语句设计一个8位计数器,每次在时钟的上升沿,计数器加1,当计数器逸出时,自动从零开始重新计数。
计数器有同步复位端。
module count(count,reset,clk);input clk,reset;output clk,reset;output [7:0] count;reg count;always @(posedge clk)if(reset==1)begincount=8'b0;endelse if (count=8'b11111111)begincount=9'b0;endelse ifbegincount=count+1;endend module13奇偶校验位产生器的Verilog HDL描述:module parity(evrn_bit,odd_bit,a);input[7:0] a; output even_bit,odd_bit;assign even_bit=^a; //生成偶校验位assign odd_bit=~even_bit; //生成奇校验位endmodule;14、课本197页:8.2 有限状态机的Verilog描述参考例8.3,例8.7,学会用有限状态机设计序列检测器。
module fsm_seq1111(x,z,clk,reset);input x,clk,reset;output reg z;reg[4:0] state;parameter S0=’d0,S1=’d1,S2=’d2,S3=’d3,S4=’d4; always @(posedge clk)begin if(reset) begin state<=S0;z<=0; endelse casex(state)S0: begin if(x==0) begin state<=S0;z<=0;end else begin state<=S1;z<=0;end endS1: begin if(x==0) begin state<=S0;z<=0;end else begin state<=S2;z<=0;end endS2: begin if(x==0) begin state<=S0;z<=0;end else begin state<=S3;z<=0;end endS3: begin if(x==0) begin state<=S0;z<=0;end else begin state<=S4;z<=1;end endS4: begin if(x==0) begin state<=S0;z<=0;end else begin state<=S4;z<=1;end enddefault: state<=S0;endcaseendendmodule15、状态机设计流水灯:module led_water(clk50M,rst,led);input clk50M;output[7:0] led;input rst;wire clk_5hz;reg[7:0] led_r;reg[3:0] state;reg[23:0] count;parameter s0='d0,s1='d1,s2='d2,s3='d3,s4='d4,s5='d5,s6='d6,s7='d7,s8='d8,s9='d9,s10='d10,s11='d11,s12='d12,s13='d13,s14='d14,s15='d15;always @(posedge clk50M)beginif(count==10000000)begin count<=1'b0;endelsecount<=count+1'b1;endassign clk_5hz=count[23];assign led=led_r;always @(posedge clk_5hz)beginif(!rst) state=s0;else case(state)s0: begin led_r=8'b01111111; state<=s1;ends1: begin led_r=8'b10111111; state<=s2;ends2: begin led_r=8'b11011111; state<=s3;ends3: begin led_r=8'b11101111; state<=s4;ends4: begin led_r=8'b11110111; state<=s5;ends5: begin led_r=8'b11111011; state<=s6;ends6: begin led_r=8'b11111101; state<=s7;ends7: begin led_r=8'b11111110; state<=s8;ends8: begin led_r=8'b11111100; state<=s9;ends9: begin led_r=8'b11111000; state<=s10;ends10: begin led_r=8'b11110000; state<=s11;ends11: begin led_r=8'b11100000; state<=s12;ends12: begin led_r=8'b11000000; state<=s13;ends13: begin led_r=8'b10000000; state<=s14;ends14: begin led_r=8'b00000000; state<=s15;ends15: begin led_r=8'b10100101; state<=s0;enddefault: begin led_r=8'b11111111;state<=s0;endendcaseendendmodule16、超前进位加法器的Verilog HDL描述:module add_ahead (sum,cout,a,b,cin);input[7:0] a,b; input cin;output[7:0] sum;output cout;wire[7:0] G,P; wire[7:0] C,sum;assign G[0]=a[0]&b[0];assign P[0]=a[0]|b[0];assign C[0]=cin;assign sum[0]=G[0]^P[0]^C[0];assign G[1]=a[1]&b[1];assign P[1]=a[1]|b[1];assign C[1]=G[0]|(P[0]&cin);assign sum[0]=G[0]^P[0]^C[0];assign G[2]=a[2]&b[2];assign P[2]=a[2]|b[2];assign C[2]=G[1]|(P[1]&C[1]);assign sum[2]=G[2]^P[2]^C[2];assign G[3]=a[3]&b[3];assign P[3]=a[3]|b[3];assign C[3]=G[2]|(P[2]&C[2]);assign sum[3]=G[3]^P[3]^C[3];assign G[4]=a[4]&b[4];assign P[4]=a[4]|b[4];assign C[4]=G[3]|(P[3]&C[3]);assign sum[4]=G[2]^P[2]^C[2];assign G[5]=a[5]&b[5];assign P[5]=a[5]|b[5];assign C[5]=G[4]|(P[4]&C[4]);assign sum[5]=G[5]^P[5]^C[5];assign G[6]=a[6]&b[6];assign P[6]=a[6]|b[6];assign C[6]=G[5]|(P[5]&C[5]);assign sum[6]=G[6]^P[6]^C[6];assign G[7]=a[7]&b[7];assign P[7]=a[7]|b[7];assign C[7]=G[6]|(P[6]&C[6]);assign sum[7]=G[7]^P[7]^C[7];assign cout=G[7]|(P[7]&C[7]);endmodule17、课本227页:9.4 奇数分频与小数分频奇数分频的方法:用两个计数器,一个由输入时钟上升沿触发,一个由输入时钟下降沿触发,最后将两个计数器的输出相或,即可得到占空比为50%的方波波形。