已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA 技术技术实用教程实用教程(第四版第四版)习题习题 1 习习 题题 1-1 EDA 技术与 ASIC 设计和 FPGA 开发有什么关系?FPGA 在 ASIC 设计中有什么用 途?P34 1-2 与软件描述语言相比,VHDL 有什么特点? P6 l-3 什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 1-4 在 EDA 技术中,自顶向下的设计方法的重要意义是什么? P710 1-5 IP 在 EDA 技术的应用和发展中的意义是什么? P2214 1-6 叙述 EDA 的 FPGA/CPLD 设计流程,以及涉及的 EDA 工具及其在整个流程中的作 用。 (P1113) 2 习习 题题 2-1 OLMC(输出逻辑宏单元)有何功能?说明 GAL 是怎样实现可编程组合电路与时序 电路的。 P3436 2-2 什么是基于乘积项的可编程逻辑结构? P3334, 40 什么是基于查找表的可编程逻 辑结构? P4041 2-3 FPGA 系列器件中的 LAB 有何作用? P4345 2-5 解释编程与配置这两个概念。 P58 2-6 请参阅相关资料,并回答问题:按本章给出的归类方式,将基于乘积项的可编程逻 辑结构的 PLD 器件归类为 CPLD;将基于查找表的可编程逻辑结构的 PLD 器什归类为 FPGA,那么,APEX 系列属于什么类型 PLD 器件? MAX II 系列又属于什么类型的 PLD 器 件?为什么? P5456 3 习习 题题 3-1 画出与以下实体描述对应的原理图符号元件: ENTITY buf3s IS -实体 1:三态缓冲器 PORT(input:IN STD_LOGIC; -输入端 enable:IN STD_LOGIC; -使能端 output:OUT STD_LOGIC); -输出端 END buf3s ; ENTITY mux21 IS -实体 2: 2 选 1 多路选择器 PORT(in0, in1,sel: IN STD_LOGIC; output:OUT STD_LOGIC); buf3s input output enable 3-2 图 3-16 所示的是 4 选 1 多路选择器,试分别用 IF_THEN 语句和 CASE 语句的表达方 式写出此电路的 VHDL 程序,选择控制信号 s1 和 s0 的数据类型为 STD_LOGIC_VECTOR; 当 s1=0,s0=0; s1=0,s0=1; s1=1,s0=0和 s1=1,s0=1时,分别执行 y y y y y NULL ; END CASE; END PROCESS; END ARCHITECTURE case_mux41; 3-3 图3-17所示的是双 2选 1多路选择器构成的电路MUXK,对于其中MUX21A,当 s=0 和 s=1时,分别有 y y y NULL ; END CASE; END PROCESS; u2: PROCESS(s1,a1,a2,a3,y) BEGIN CASE s1 IS -类似于真值表的 case 语句 WHEN 0 = outy outy NULL ; END CASE; END PROCESS; END ARCHITECTURE case_mux31; 3-4 将例 3-20 程序的计数器改为十二进制计数器, 程序用例 3-21 的方式表述, 并且将复 位 RST 改为同步清零控制,加载信号 LOAD 改为异步控制方式。讨论例 3-20 与例 3-21 的 异同点。 -解:十二进制计数器 VHDL 程序设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT12 IS PORT(CLK,RST,EN,LOAD : IN STD_LOGIC; DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -4 位预置数 DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-计数值输出 COUT : OUT STD_LOGIC); -计数进位输出 END CNT12; ARCHITECTURE behav OF CNT12 IS SIGNAL Q : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN REG: PROCESS(CLK,RST,EN,LOAD,Q) BEGIN IF LOAD=0 THEN Q0); -计数器异步复位 ELSE IF EN=1 THEN -检测是否允许计数或加载(同步使能) IF LOAD=0 THEN Q0); -大于等于 9 时,计数值清零 END IF; END IF; END IF; END IF; END IF; END PROCESS; COM: PROCESS(Q) BEGIN IF Q=12 THEN COUT 0);-计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF ADD_EN=1THEN -检测是否允许计数(同步他能) IF CQI 0); -大于 65535,计数值清零 END IF; IF CQI=16#FFFF# THEN COUT0 THEN CQI:=CQI-1; -允许计数,检测是否小于 65535 ELSE CQI:=(OTHERS = 1); -大于 65535,计数值清零 END IF; IF CQI=0 THEN COUTxin,y=yin, diff=a, s_out=b); u2: h_suber PORT MAP(x=a, y=sub_in, diff=diff_out,s_out=c); sub_out x0,yin=y0,diff_out=diff0,sub_in=sin,sub_out=a0); u1:f_suber PORT MAP(xin=x1,yin=y1,diff_out=diff1,sub_in=a0,sub_out=a1); u2:f_suber PORT MAP(xin=x2,yin=y2,diff_out=diff2,sub_in=a1,sub_out=a2); u3:f_suber PORT MAP(xin=x3,yin=y3,diff_out=diff3,sub_in=a2,sub_out=a3); u4:f_suber PORT MAP(xin=x4,yin=y4,diff_out=diff4,sub_in=a3,sub_out=a4); u5:f_suber PORT MAP(xin=x5,yin=y5,diff_out=diff5,sub_in=a4,sub_out=a5); u6:f_suber PORT MAP(xin=x6,yin=y6,diff_out=diff6,sub_in=a5,sub_out=a6); u7:f_suber PORT MAP(xin=x7,yin=y7,diff_out=diff7,sub_in=a6,sub_out=sout); END ARCHITECTURE s8; 3-8 给出一个 4 选 1 多路选择器的 VHDL 描述。选通控制端有四个输入:S0、S1、S2、 S3。当且仅当 S0=0 时:Y=A;S1=0 时:Y=B;S2=0 时:Y=C;S3=0 时:Y=D。 -解:4 选 1 多路选择器 VHDL 程序设计。 LIBRARY IEEE; -图 3-20(c)RTL 图的 VHDL 程序顶层设计描述 xin sub_out yin u0 sub_in diff_out x0 y0 sin diff0 xin sub_out yin u1 sub_in diff_out x1 y1 diff1 xin sub_out yin u7 sub_in diff_out x7 y7 sout diff7 . . 串行借位的串行借位的 8 位减法器位减法器 a0 a1 a6 USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41a IS PORT( A,B,C,D : IN STD_LOGIC; S0,S1,S2,S3 : IN STD_LOGIC; Y : OUT STD_LOGIC); END ENTITY mux41a; ARCHITECTURE one OF mux41a IS SIGNAL S0_3 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN S0_30); -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN=1 THEN -检测是否允许计数或加载(同步使能) IF LOAD=0 THEN Q:=DATA; -允许加载 ELSE IF Q0); -大于等于 9 时,计数值清零 END IF; END IF; END IF; END IF; IF Q=9 THEN COUT 0);-计数器异步复位 ELSIF LOAD = 1 THEN CQI:=DATA; -LS_LOAD:=0; -计数器异步复 位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF ADD_EN=1THEN -检测是否允许计数(同步他能) IF CQI 0); -大于 65535,计数值清零 END IF; IF CQI=16#FFFF# THEN COUT0 THEN CQI:=CQI-1; -允许计数,检测是否小于 65535 ELSE CQI:=(OTHERS = 1); -大于 65535,计数值清零 END IF; IF CQI=0 THEN COUT Y Y NULL ; END CASE; END PROCESS; END ARCHITECTURE sxdl; 图 3-20 RTL 图(c) -解 1:实现图 3-20(c) RTL 图的 VHDL 程序 mux21a.vhd 底层设计描述。 - 用(WHEN_ELSE)实现 2 选 1 多路选择器程序(mux21a.vhd)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21a IS PORT(a,b : IN STD_LOGIC; s : IN STD_LOGIC; y : OUT STD_LOGIC); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN yCLK,D=D,Q=Q,ENA=EN,PRE=0,CLR=RST); Q1001-011-111-101-100-000)规律工作的六进制同步计数器。 4-10 基于原理图输入方式,应用 4 位全加器和 74374(8D 触发器)构成 4 位二进制加法计 数器。如果使用 74299(8 位通用移位寄存器) 、74373(8D 锁存器) 、D 触发器和非门来完 成上述功能,应该有怎样的电路? 4-11 用一片 74163(可预置 4 位二进制计数器)和两片 74138(3 线-8 线译码器)构成 一个具有 12 路脉冲输出的数据分配器。要求在原理图上标明第 1 路到第 12 路输出的位置。 若改用一片 74195(4 位通用移位寄存器)代替以上的 74163 (可预置 4 位二进制计数器) , 试完成同样的设计。 4-12 用同步时序电路对串行二进制输入进行奇偶校验, 每检测 5 位输入, 输出一个结果。 当 5 位输入中 1 的数目为奇数时,在最后一位的时刻输出 1。 -解:4-12 用同步时序电路对串行二进制输入进行奇偶校验,每检测 5 位输入,输出一个 结果。 - 当 5 位输入中 1 的数目为奇数时,在最后一位的时刻输出 1。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY odd_even_p_RXD_5 IS PORT(CLK,RST,S_in: IN STD_LOGIC;-CLK、RST、S_in:时钟、复位、串行输入数据 P_out: OUT STD_LOGIC_VECTOR(4 DOWNTO 0);-P_out:并行输出数据 o_e_out: OUT STD_LOGIC); -o_e_out:奇校验输出位 END ENTITY odd_even_p_RXD_5; ARCHITECTURE one OF odd_even_p_RXD_5 IS BEGIN PROCESS(CLK,RST) VARIABLE shift_Q : STD_LOGIC_VECTOR(4 DOWNTO 0);-shift_Q:移位寄存器 VARIABLE shift_cnt : STD_LOGIC_VECTOR(2 DOWNTO 0);-shift_cnt:移位计数器 BEGIN IF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF RST = 1 THEN shift_cnt:=“100“; -移位寄存器和计数器复位 ELSE IF shift_cnt=4 THEN -检测到接收 5 位串行输入数据 shift_cnt:=“000“; -移位计数器清零,为接收下一组数据做准备。 P_out0);其中 OTHERS=0不需要给出信号 Q 的位宽度,即可对 Q 清零。 5-7 用循环语句设计一个 7 人投票表决器,及一个 4 位 4 输入最大数值检测电路。 -解:5-7 用循环语句设计一个 7 人投票表决器,及一个 4 位 4 输出最大数值检测电路。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY vote_7 IS PORT( DIN: IN STD_LOGIC_VECTOR(6 DOWNTO 0);-7 位表决输入(1:同意,0:不 同意) G_4: OUT STD_LOGIC; -超过半数指示 CNTH: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);-表决结果统计数 END vote_7; ARCHITECTURE BHV OF vote_7 IS BEGIN PROCESS(DIN) VARIABLE Q: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN Q:=“000“; FOR n IN 0 TO 6 LOOP - n 是 LOOP 的循环变量 IF(DIN(n)=1) THEN Q:=Q+1; END IF; END LOOP; CNTH=4 THEN G_4qqqqq=0,补码=原码。 else patch_data5) END g_5_cmp; ARCHITECTURE BHV OF g_5_cmp IS BEGIN PROCESS(d_in) BEGIN IF(d_in“0101“) THEN cmp_outZ); END IF; END PROCESS; PR2: PROCESS(enable,input3,input2,input1,input0) BEGIN IF enable=“01“ THEN outputZ); END IF; END PROCESS; PR3: PROCESS(enable,input3,input2,input1,input0) BEGIN IF enable=“10“ THEN outputZ); END IF; END PROCESS; PR4: PROCESS(enable,input3,input2,input1,input0) BEGIN IF enable=“11“ THEN outputZ); END IF; END PROCESS; END ARCHITECTURE multiple_drivers; 6 习习 题题 6-1 如果不使用 Megawizard Plug_In Manager 工具, 如何在自已的设计中调用 LPM 模块? 以计数器 lpm_counter 为例,写出调用该模块的程序,其中参数自定。 答:1.在程序开始部分增加打开“lpm”库和使用“lpm”所有程序包。如下所述: LIBRARY lpm; USE lpm.all; 答:2.在结构说明描述部分增加调用“lpm”传递参数和端口的申明。示例如下: COMPONENT lpm_counter GENERIC(lpm_direction: STRING; lpm_port_updown : STRING; lpm_type: STRING; lpm_width : NATURAL); PORT (clock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END COMPONENT; 答:3.在结构行为描述部分增加调用“lpm”传递参数和端口的例化。示例如下: lpm_counter_component: lpm_counter GENERIC MAP(lpm_direction = “UP“,lpm_port_updown = “PORT_UNUSED“, lpm_type = “LPM_COUNTER“,lpm_width = 8) PORT MAP (clock = clock,q = sub_wire0); -答:4.调用计数器 lpm_counter(LPM 模块)的 VHDL 程序如下: (SINGT_counter.vhd) LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY lpm; USE lpm.all; ENTITY SINGT_counter IS PORT(clock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END SINGT_counter; ARCHITECTURE SYN OF singt_counter IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0); COMPONENT lpm_counter GENERIC(lpm_direction : STRING; lpm_port_updown : STRING; lpm_type : STRING; lpm_width : NATURAL); PORT (clock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); END COMPONENT; BEGIN q “UP“,lpm_port_updown = “PORT_UNUSED“, lpm_type = “LPM_COUNTER“,lpm_width = 8) PORT MAP (clock = clock,q = sub_wire0); END SYN; 6-2 LPM_ROM、LPM_RAM、LPM_FIFO 等模块与 FPGA 中嵌入的 EAB、ESB、M4K 有怎样的联 系? 答:ACEXlK 系列为 EAB;APEX20K 系列为 ESB;Cyclone/II/III 系列为 M4K/M4K/M9K 6-3 参考 Quartus II 的 Help(Contents),详细说明 LPM 元件 altcam、altsyncram、 lpm_fifo、lpm_shiftreg 的使用方法,以及其中各参量的含义和设置方法。 答:略 6-4 如果要设计一 8051 单片机,如何为它配置含有汇编程序代码的 ROM(文件)? 答:略 7 7 习习 题题 7-1 根据图 7-30(a)所示的状态图,分别按照图 7-30(b)和图 7-30(c)写出对应结构的 VHDL 状态机。并根据表 7-2,分别用三种不同编码方式实现二状态机,并讨论它们的容错措 施。 图 7-30 习题 7-1 状态图 - 解:根据图 7-30(a)所示的状态图,按照图 7-30(b)单进程状态机端口形式,编写的 VHDL 程序代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY state_8_16_a_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽国控资本有限公司所属企业四季度社会招聘4人笔试历年常考点试题专练附带答案详解试卷3套
- 2025四川广安市武胜县文创旅游开发有限公司招聘3人(第三次)笔试历年典型考点题库附带答案详解试卷3套
- 2025中国人民保险集团股份有限公司招聘笔试历年常考点试题专练附带答案详解试卷3套
- 恩施 公务员考试试题及答案
- 石灰岩矿开采及综合利用项目风险评估报告
- 老旧小区改造建设工程施工方案
- 大数据处理与分析平台搭建方案
- 北京故宫公务员考试面试试题及答案
- 铜矿资源勘探与评估方案
- 澳门大陆公务员考试试题及答案
- 课间游戏课件教学课件
- 相关方需求和期望表
- 设备安装专项施工方案
- 幕墙作业安全技术交底
- 雾化吸入知识宣教主题班会课件
- 预算编制服务投标方案(技术标)
- 国开2024年秋季《形势与政策》大作业答案
- 综合性学习《走进小说天地》及教案(部编)课件
- DL-T2078.2-2021调相机检修导则第2部分:保护及励磁系统
- 新能源电动车安全培训课件
- 2021高性能混凝土应用技术标准
评论
0/150
提交评论