EDA技术实用教程课后答案---潘松-黄继业
- 格式:doc
- 大小:226.50 KB
- 文档页数:19
第3章 VHDL基础3-1:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS -- 实体1:三态缓冲器PORT (input : IN STD_LOGIC ; -- 输入端enable : IN STD_LOGIC ; -- 使能端output : OUT STD_LOGIC ) ; -- 输出端END buf3x ;ENTITY mux21 IS --实体2: 2 选1 多路选择器PORT (in0, in1, sel : IN STD_LOGIC;output : OUT STD_LOGIC);3-1.答案3-2. 图3-30 所示的是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<=a、y<=b、y<=c、y<=d。
3-2.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号a,b,c,d:IN STD_LOGIC; --输入信号y:OUT STD_LOGIC);--输出端END ENTITY;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINIF (S="00") THEN y<=a;ELSIF (S="01") TH EN y<=b;ELSIF (S="10") TH EN y<=c;ELSIF (S="11") TH EN y<=d;ELSE y<=NULL;END IF;EDN PROCESS;END ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号a,b,c,d:IN STD_LOGIC; --输入信号y:OUT STD_LOGIC);--输出端END MUX41;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINCASE s ISWHEN “00” => y<=a;WHEN “01” => y<=b;WHEN “10” => y<=c;WHEN “11” => y<=d;WHEN OTHERS =>NULL;END CASE;END PROCESS;END ART;3-3. 图3-31 所示的是双 2 选 1 多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。
《EDA技术实用教程》部分习题解答习题四习题4-5 列表详细说明MAX+plusII 中prim.mf 和mega_lpm 库中的内容和用法。
答:prim:基本的元件mf:主要是74 系列芯片的逻辑元件mega_lpm:参数可定制的复杂逻辑元件⊕习题4-7 用74139 组成一个5-24 线译码器。
解:共使用 3 片74139 作6 个2-4 译码图习题4-8 用74283 加法器和逻辑门设计实现一位8421BCD 码加法器电路,输入输出均是BCD 码,CI 为低位的进位信号,CO 为高位的进位信号,输入为两个 1 位十进制数A,输出用S 表示。
解:如果二进制的和大于9,需要再加上 6 来补成BCD 码2第 1 章概述图习题4-9 设计一个7 人表决电路,参加表决者7 人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
解:方法有多种,仅举一例。
有多个 1 位全加器构成。
图其中 1 位全加器的原理图如下:图 1 位全加器第 1 章 概述3习题 4-10 使用 prim 和 mf 库中的元件设计一个周期性产生二进制序列 010******** 的序列发生器,用移 位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。
解:给出一种解法习题 4-11 用 D 触发器设计 3 位二进制加法计数器。
解:注意 D 触发器级联时应取非端,否则只能作分频器下图是异步计数器方式,同步计数器方式请读者自行考虑习题 4-12 用 D 触发器构成按循环码(000->001->011->111->101->100->000)规律工作的六进制同步计数器。
解:用同步计数器来实现。
(事实上要求设计的是一个袼雷码计数器) 考虑不同状态时,对应的 DFF 输入端的值:4 D 0 =Q 第 1 章 概述Q 2 + Q 2 1 Q D 1 = Q 2 0 = D 2 Q Q2Q 0 + Q 2 14-13 应用 4 位全加器和 74374 构成 4 位二进制加法计数器。
第3章 VHDL基础3-1:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS -- 实体1:三态缓冲器PORT (input : IN STD_LOGIC ; -- 输入端enable : IN STD_LOGIC ; -- 使能端output : OUT STD_LOGIC ) ; -- 输出端END buf3x ;ENTITY mux21 IS --实体2: 2 选1 多路选择器PORT (in0, in1, sel : IN STD_LOGIC;output : OUT STD_LOGIC);3-1.答案3-2. 图3-30 所示的是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<=a、y<=b、y<=c、y<=d。
3-2.答案LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号a,b,c,d:IN STD_LOGIC; --输入信号y:OUT STD_LOGIC);--输出端END ENTITY;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINIF (S="00") THEN y<=a;ELSIF (S="01") TH EN y<=b;ELSIF (S="10") TH EN y<=c;ELSIF (S="11") TH EN y<=d;ELSE y<=NULL;END IF;EDN PROCESS;END ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(s:IN STD_LOGIC_VECTOR(1 DOWNTO 0); --输入选择信号a,b,c,d:IN STD_LOGIC; --输入信号y:OUT STD_LOGIC);--输出端END MUX41;ARCHITECTURE ART OF MUX41 ISBEGINPROCESS(s)BEGINCASE s ISWHEN “00” => y<=a;WHEN “01” => y<=b;WHEN “10” => y<=c;WHEN “11” => y<=d;WHEN OTHERS =>NULL;END CASE;END PROCESS;END ART;3-3. 图3-31 所示的是双 2 选 1 多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和'1'时,分别有y<='a'和y<='b'。
EDA技术实用教程第三版(潘松著)课后答案下载
《EDA技术实用教程(第三版)》是xx年01月科学出版社出版的图书,作者是潘松、黄继业。
下面是由分享的EDA技术实用教程第三版(潘松著)课后答案下载,希望对你有用。
???点击此处下载???EDA技术实用教程第三版(潘松著)课后答案
全书包括四部分内容。
第一部分对EDA的基本知识、常用EDA 工具的使用方法和目标器件的结构原理做了介绍:第二部分以向导的形式和实例为主的方法介绍了三种不同的设计输入方法;第三部分对VHDL的设计优化做了介绍:第四部分详述了基于EDA技术的典型设计项目。
各章都安排了习题和针对性较强的实验与设计。
书中列举的大部分VHDL设计实例和实验示例实现的EDA工具平台是QuartusII6.0,硬件平台是CycloneIIFPGA,并在EDA实验系统上通过了硬件测试。
第1章概述
第2章EDA设计流程及其工具
第3章FPGA/CPLD结构与应用
第4章VHDL设计初步
第5章QuartusII应用向导
第6章VHDL设计进阶
第7章宏功能模块与IP应用
第8章状态设计
第9章VHDL结构与要素
第10章VHDL基本语句
第11章优化和时序分析
第12章系统仿真
第13章电子系统设计实践
附录EDA实验系统简介
主要参考文献
2.0实用教程C#版崔良海课后答案人民邮电出版社
2.计算机网络教程第三版吴功宜吴英著课后答案电子工业出版社
3.Java语言程序设计第三版谭浩强主编课后答案清华大学出版社
4.数据库系统教程(第三版)施伯乐丁宝康汪卫课后答案下载。
EDA技术实用教程第一章1-1EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA 技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点?答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
----------------------- Page 1----------------------- 第一章1-1EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA 和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU 而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL 级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
《EDA技术实用教程(第五版)》习题1习题1-1 EDA技术与ASIC设讣和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后口标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设讣技术、SoC (片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
FPGA在ASIC设讣中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASICo FPGA实现ASIC设讣的现场可编程器件。
1- 2 与软件描述语言相比,VHDL有什么特点?P-C6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL 设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
1-3 什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6什么是综合?答:在电子设计•领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level, RTL),即从行为域到结构域的综合,即行为综合。
第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
EDA技术实用教程潘松黄继业第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点?答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么?答:是核心地位(见图1-3)。
3-3 给出一个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;USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41a ISPORT( 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 ISSIGNAL S0_3 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINS0_3<=S0&S1&S2&S3;y<=A WHEN S0_3="0111" ELSE B WHEN S0_3="1011" ELSE C WHEN S0_3="1101" ELSE D WHEN S0_3="1110" ELSE 'Z';END ARCHITECTURE one;3-4 给出1位全减器的VHDL 描述;最终实现8位全减器。
要求:1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber 是半减器,diff 是输出差(diff=x-y),s_out 是借位输出(s_out=1,x<y),sub_in 是借位输入。
图3-19 1位全加器--解(1.1):实现1位半减器h_suber(diff=x-y ;s_out=1,x<y) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_suber ISPORT( x,y: IN STD_LOGIC; diff,s_out: OUT STD_LOGIC); END ENTITY h_suber;ARCHITECTURE hs1 OF h_suber IS BEGINDiff <= x XOR (NOT y);xin yina bdiff_out cs_out <= (NOT x) AND y;END ARCHITECTURE hs1;--解(1.2):采用例化实现图4-20的1位全减器LIBRARY IEEE; --1位二进制全减器顺层设计描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_suber ISPORT(xin,yin,sub_in: IN STD_LOGIC; sub_out,diff_out: OUT STD_LOGIC); END ENTITY f_suber;ARCHITECTURE fs1 OF f_suber ISCOMPONENT h_suber --调用半减器声明语句 PORT(x, y: IN STD_LOGIC; diff,s_out: OUT STD_LOGIC); END COMPONENT;SIGNAL a,b,c: STD_LOGIC; --定义1个信号作为内部的连接线。
BEGINu1: h_suber PORT MAP(x=>xin,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 <= c OR b;END ARCHITECTURE fs1;(2)以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是x-y-sun_in=difft)。
--解(2):采用例化方法,以1位全减器为基本硬件;实现串行借位的8位减法器(上图所示)。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY suber_8 ISPORT(x0,x1,x2,x3,x4,x5,x6,x7: IN STD_LOGIC;diff0 diff1 sout diff7串行借位的8位减法器y0,y1,y2,y3,y4,y5,y6,y7,sin: IN STD_LOGIC;diff0,diff1,diff2,diff3: OUT STD_LOGIC;diff4,diff5,diff6,diff7,sout: OUT STD_LOGIC);END ENTITY suber_8;ARCHITECTURE s8 OF suber_8 ISCOMPONENT f_suber --调用全减器声明语句PORT(xin,yin,sub_in: IN STD_LOGIC;sub_out,diff_out: OUT STD_LOGIC);END COMPONENT;SIGNAL a0,a1,a2,a3,a4,a5,a6: STD_LOGIC; --定义1个信号作为内部的连接线。
BEGINu0:f_suber PORT MAP(xin=>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设计一个求补码的程序,输入数据是一个有符号的8位二进制(原码)数。
--解:5-9 设计一个求补码的程序,输入数据是一个有符号的8位二进制数。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY org_patch ISPORT( org_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--原码输入patch_data : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--补码输出END org_patch;ARCHITECTURE BHV OF org_patch ISBEGINPROCESS(org_data)BEGINIF(org_data(7)='0') THENpatch_data<=org_data; --org_data>=0,补码=原码。
elsepatch_data<=org_data(7)&(not org_data(6 DOWNTO 0))+1;--org_data<0,补码=|原码|取反+1。
END IF;END PROCESS;END BHV;3—10library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity add isport(a:in std_logic_vector(7 downto 0);b:in std_logic_vector(7 downto 0);ci:in std_logic;co:out std_logic;count:out std_logic_vector(7 downto 0));end add;architecture bhv of add isbeginprocess(a,b,ci)variable data:std_logic_vector(1 downto 0);variable c:std_logic;beginc:=ci;for n in 0 to 7 loopdata:=('0'&a(n))+('0'&b(n))+('0'&c);count(n)<=data(0);c:=data(1);end loop;co<=c;end process;end bhv;3-14用循环语句设计一个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 ISPORT( 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 ISBEGINPROCESS(DIN)V ARIABLE Q: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINQ:="000";FOR n IN 0 TO 6 LOOP -- n是LOOP的循环变量IF(DIN(n)='1') THEN Q:=Q+1; END IF;END LOOP;CNTH<=Q;IF Q>=4 THEN G_4<='1'; ELSE G_4<='0'; END IF;END PROCESS;END BHV;5-7用VHDL设计一个功能类似74LS160的计数器。