
2022年PLD习题集(含参考答案)数字系统设计.docx
7页本文格式为Word版,下载可任意编辑2022年PLD习题集(含参考答案)数字系统设计 第1章习题 1.1 名词解释 PROM CPLD FPGA ASIC JTAG边界扫描 FPGA/CPLD编程与配置 规律综合 PAL EDA GAL IP-CORE ISP ASIC RTL FPGA SOPC CPLD IP-CORE SOC和SOPC EDA/CAD 1.2 现代EDA技术的特点有哪些? 采用HDL描述、自顶向下、开放标准、具有完备设计库 1.3 什么是Top-down设计方式?(P4) 1.4 数字系统的实现方式有哪些?各有什么优缺点? 74LS系列/4000系列常规规律门设计:设计难度大、调试繁杂 采用CPLD/FPGA等可编程器件来设计:用HDL描述、设计难度小、 调试仿真便当,开发费用低, 但单位本金较高,适合小批量应用 专用集成电路设计:设计掩模本金高,适合大批量应用 1.5 什么是IP复用技术?IP核对EDA技术的应用和进展有什么意义? (P5) IP可重复使用的一种功能设计,可节省设计时间、缩短开发周期, 制止重复劳动为大规模SOC设计供给开发根基、和开发平台。
1.6 用硬件描述语言设计数字电路有什么优势? 优势:可举行行为级、RTL级、门级多层面对电路举行描述、 可功能仿真时序分析,与工艺无关 1.8 基于FPGA/CPLD的数字系统设计流程包括哪些步骤? (P8 图1.7) 1.9 什么是综合?常用的综合工具有哪些? HDL?RTL?门级?网表的描述转换过程 ALTERA:MAX-PLUSII,Quartus, Xilinx:ISE , Lattice: ispLERVER 1.10 功能仿真与时序仿真有什么识别? 功能仿真不考虑器件延时,而时序分析务必考虑在不同器件中的物理信号的延时 1.11 数字规律设计描述分哪几个层级,各有什么特点 1.12、为何任意组合规律电路可用通用的与阵列、或阵列组合来实现 可表示为布尔代数方程,由乘积项的和表示 1.13 FPGA与CPLD在实现方式或内部布局上的主要识别 查表、与或阵列 1.14 VerilogHDL与计算机程序设计语言主要识别 (描述并行电路行为或布局、描述的串行指令流) 1.15 简述“规律综合”功能作用。
1.16 数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势? 第2章习题 2.1 从器件的或阵列编程布局角度看,PROM、PLA、PAL、GAL在布局上有什么识别? 2.2 说明PAL、GAL的输出单元有何特点,它怎样实现可编程组合电路和时序电路? PAL、GAL输出单元都有一个触发器, 实现组合规律时触发器被旁路掉, 实现时序单路是那么从触发器输出信号 2.3 简述基于乘积项的可编程规律器件的布局特点? PAL、GAL是乘积项可编程,或阵列固定的PLD器件, 送到或门的乘积项是固定的,大大简化了器件设计算法 2.4 基于查找表的可编程规律布局的原理是什么? P31 文字解释 2.5 基于乘积项和基于查找表的布局各有什么优缺点? 基于乘积项的适合用于设计一些规律型电路、电路规模较小 而基于查找表布局适合设计数据型电路,电路规模较大, 用于规律型电路设计会有延时不确定等问题 2.6 CPLD和FPGA在布局上有什么明显的识别,各有什么特点? CPLD是基于乘积项可编程的,适合用于设计一些规律型电路、电路规模较小 FPGA是基于查表的,适合设计数据型大规模系统 2.7 FPGA器件中的存储器块有何作用? FPGA存储器用于存储每种规律输入对应的需要输出规律真值表。
2.8简要说明JTAG边界扫描概念及作用 2.9 简述FPGA配置、CPLD编程概念及其异同点 第3章习题 3-1 基于Quartus II软件,用D触发器设计一个2分频电路,并做波形仿真,在此根基上,设计一个4分频和8分频电路,做波形仿真 3-2 基于Quartus II软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简朴数字钟电路设计过程如下: (1)先用Quartus II的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并举行仿真,假设功能正确,那么将其生成一个部件; (2)将7490连接成模12的计数器,举行仿真,假设功能正确,也将其生成一个部件; (3)将以上两个部件连接成为简朴的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开头计时 (4)在实现上述功能的根基上可以进一步增加其它功能,譬如校时功能,能肆意调整小时、分钟信号,增加整点报时功能等 3-3 基于Quartus II软件,用74161设计一个模99的计数器,个位和十位都采用8421BCD码的编码方式设计,分别用置0和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。
3-4 基于Quartus II软件,用7490设计一个模71计数器,个位和十位都采用8421BCD码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程 3-5 基于Quartus II,用74283(4位二进制全加器)设计实现一个8位全加器,并举行综合和仿真,查看综合结果和仿真结果 3-6 基于Quartus II,用74194(4位双向移位寄放器)设计一个“00011101”序列产生器电路,举行编译和仿真,查看仿真结果 3-7 基于Quartus II软件,用D触发器和适当的门电路实现一个输出长度为15的m序列产生器,举行编译和仿真,查看仿真结果 第4章习题 4.1 用Verilog设计一个8位加法器,并举行综合和仿真,查看综合结果和仿真结果 4.2 用Verilog设计一个8位计数器,并举行综合和仿真,查看综合结果和仿真结果 第5章习题 5.1 以下标识符哪些是合法的,哪些是错误的? Cout, 8sum, \\a*b, _data, \\wait, initial, $latch 5.2 以下数字的表示是否正确? 6'd18, 'Bx0, 5'b0x110, 'da30, 10'd2, 'hzF 5.3 reg型与wire型变量有什么本质识别 5.4 wire型变量没有驱动其值为多少 5.5 reg型初始值一般为多少 5.6 定义如下的变量和常量: (1)定义一个名为count的整数; integer count; (2)定义一个名为ABUS的8位wire总线; wire[7:0] ABUS; (3)定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128; reg[15:0] address; address=5)表决通过亮绿灯,不通过亮红灯。
P149,例6.16) 6.5简述wire变量根本语法定义及用途(第6章) 6.6 简述阻塞性赋值与非阻塞型赋值的识别(P163、6.8节) 6.7 解释说明以下代码中的always、case语句的语法及所描述行为(P138例6.1) module mux4_1(out,in0,in1,in2,in3,sel); output out; input in0,in1,in2,in3; input[1:0] sel; reg out; always @(in0 or in1 or in2 or in3 or sel) //敏感信号列表 case(sel) 2'b00: out=in0; 2'b01: out=in1; 2'b10: out=in2; 2'b11: out=in3; default: out=2'bx; endcase endmodule 6.8 解释说明以下代码中的posedge和negedge关键字的作用和根本功能 module count(out,data,load,reset,clk); //8位同步置数、同步清零的计数器模块 output[7:0] out; input[7:0] data; input load,clk,reset; reg[7:0] out; always @(posedge clk) //clk上升沿触发 begin if(!reset) out=8'h00; //同步清0,低电平有效 else if(load) out=data; //同步预置 else out=out+1; //计数 end endmodule 6.9用波形图和文字解释说明以下两段代码中的赋值语句行为的轻微区别 (参考P163,例6.33、6.34) 非阻塞赋值 module non_block(c,b,a,clk); output c,b; input clk,a; reg c,b; always @(posedge clk) begin b<=a; — 7 —。
