视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
eda技术实用教程verilog答案
2025-09-26 21:46:43 责编:小OO
文档
eda技术实用教程verilog答案

【篇一:eda技术实用教程课后答案---潘松,黄继业】

端有四个输入: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_11.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_3=s0s1s2s3;

 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是输出差

 a xin (diff=x-y),s_out是借位输出(s_out=1,xy),sub_in是借位输入。

 diff_out c

 yin

 b

  图3-19  1位全加器

 --解(1.1):实现1位半减器h_suber(diff=x-y;s_out=1,xy)  library ieee;

 use ieee.std_logic_11.all;  entity h_suber is

 port( x,y:  in std_logic;diff,s_out: out std_logic);  end entity  h_suber;

 architecture  hs1  of h_suber is  begin

 diff  = x xor (not y);

s_out = (not x) and y;

 end architecture hs1;

 --解(1.2):采用例化实现图4-20的1位全减器

 library  ieee;  --1位二进制全减器顺层设计描述  use ieee.std_logic_11.all;  entity f_suber is

 port(xin,yin,sub_in: in std_logic;sub_out,diff_out: out std_logic);  end entity  f_suber;

 architecture  fs1  of f_suber is

 component h_suber --调用半减器声明语句port(x, y:  in std_logic;  diff,s_out: out std_logic); end component;

 signal a,b,c: std_logic;  --定义1个信号作为内部的连接线。  begin

 u1:  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)。

 串行借位的8位减法器

 diff1diff0 sout  diff7

  --解(2):采用例化方法,以1位全减器为基本硬件;实现串行借位的8位减法器(上图所示)。  library ieee;

 use ieee.std_logic_11.all;  entity suber_8 is

 port(x0,x1,x2,x3,x4,x5,x6,x7: in std_logic;

  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 is

 component 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个信号作为内部的连接线。  begin

 u0: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_11.all;

 use ieee.std_logic_unsigned.all;  entity org_patch is

 port(  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 is  begin

 process(org_data) begin

 if(org_data(7)=0) then

 patch_data=org_data; --org_data=0,补码=原码。else

 patch_data=org_data(7)(not org_data(6 downto 0))+1;--org_data0,补码=|原码|取反+1。 end if;

 end process;

 end bhv;

3—10

 library ieee;

 use ieee.std_logic_11.all; use ieee.std_logic_unsigned.all; entity add is

 port(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 is begin

 process(a,b,ci)

 variable data:std_logic_vector(1 downto 0); variable c:std_logic; begin c:=ci;

 for n in 0 to 7 loop

 data:=(0a(n))+(0b(n))+(0c); 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_11.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=q;

 if q=4 then g_4=1; else g_4=0; end if; end process;

 end bhv;

 5-7  用vhdl设计一个功能类似74ls160的计数器。

 --解:3-10  用vhdl设计一个功能类似74ls160(异步复位和同步使能加载、计数的十进制加法计数器)的计数器。

 library ieee;

 use ieee.std_logic_11.all;

 use ieee.std_logic_unsigned.all; entity cnt10 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 cnt10;

 architecture behav of cnt10 is begin

 process(clk,rst,en,load)

 variable q : std_logic_vector(3 downto 0); begin

 if rst=0 then q:=(others =0);--计数器异步复位 elsif clkevent and clk=1 then  --检测时钟上升沿

 if en=1 then--检测是否允许计数或加载(同步使能)if load=0 then q:=data;  --允许加载else

 if q9 then q:=q+1; --允许计数,检测是否小于9

 else q:=(others=0); --大于等于9时,计数值清零  end if;end if; end if;  end if;

 if q=9 then cout=1; --计数大于9,输出进位信号

【篇二:eda技术与vhdl程序开发基础教程课后答案】

eda的英文全称是electronic design automation

 2.eda系统设计自动化eda阶段三个发展阶段

 3. eda技术的应用可概括为

 4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入

 6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif

 8.布局布线主要完成9.

 10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum

 1.8.2选择

 1.eda技术发展历程的正确描述为(a)

 a cad-cae-eda

 b eda-cad-cae

 c eda-cae-cad

 d cae-cad-eda

 2.altera的eda集成开发环境为(c)

 a modelsim

 b mux+plus ii

 c quartus ii

 d ise

 3.下列eda工具中,支持状态图输入方式的是(b)

 a quartus ii

 b ise

 c ispdesignexpert

 d syplify pro

 4.下列几种仿真中考虑了物理模型参数的仿真是(a)

 a 时序仿真

 b 功能仿真

 c 行为仿真

 d 逻辑仿真

 5.下列描述eda工程设计流程正确的是(c)

 a输入-综合-布线-下载-仿真

 b布线-仿真-下载-输入-综合

 c输入-综合-布线-仿真-下载

 d输入-仿真-综合-布线-下载

 6.下列编程语言中不属于硬件描述语言的是(d)

 a vhdl

 b verilog

 c abel

d php

 1.8.3问答

 1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?

 答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。

 2.简要介绍eda技术的发展历程?

 答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了计算机辅助设计(cad,computer aided design)、计算机辅助工程设计(caed,computer aided engineering design)和电子设计自动化(eda,electronic system design automation)三个阶段。

 3.什么是soc?什么是sopc?

 答:soc ( system on chip,片上系统)

 sopc(system on a programmable chip,片上可编程系统)

 4.对目标器件为cpld/fpga的vhdl设计,主要有几个步骤?每步的作用和结果分别是什么?

 答:一个完整的eda工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。而对于设计工程师而言,系统建模中的器件模型有生产厂商给出,工程师只需要完成系统设计、逻辑综合、布局布线、仿真验证和下载测试几个步骤。

 5.简述asic设计和cpld/fpga设计的区别?

 答:专用集成电路(asic)采用硬接线的固定模式,而现场可编程门阵列 (fpga)则采用可配置芯片的方法,二者差别迥异。可编程器件是目前的新生力量,混合技术也将在未来发挥作用。

 6.阐述行为仿真、功能仿真和时序仿真的区别?

 答:行为仿真只考虑逻辑功能。功能仿真仅仅完成了对vhdl所描述电路的逻辑功能进行测试模拟,以观察其实现的功能是否满足设计需求,因而仿真过程并不涉及任何具体器件的硬件特性。时序仿真则是比较接近真实器件运行的仿真,在仿真过程中已经对器件的物理模型参数做了恰当的考虑,所以仿真精度要高得多。

 7.详细描述eda设计的整个流程?

 答:

 系统规格制定(define specification)

 设计描述(design description)

 功能验证(function verification)

 逻辑电路合成(logic synthesis)

 逻辑门层次的电路功能验证(gate-level netlist verification)

 配置与绕线(place and routing)

 绕线后的电路功能验证(post layout verification)

 8.为什么要进行硬件电路的后仿真验证和测试?

 答:后仿真考虑了实际器件的模型参数,能够更好的模拟实际电路工作状态。测试是检验设计合格的最直接的方式。

 2.8.1填空

 1.可编程逻辑器件的英文全称是2.可编程逻辑器件技术经历了三个发展阶段

3. cpld个部分

 4.目前市场份额较大的生产可编程逻辑器件的公司有  altera 、 xillinx 、lattice

 5.根据器件应用技术fpga6. 快速通道/互联通道包括行互连、列互联、 逻辑阵列块  、逻辑单元

 7.常用的的fpga配置方式为8.实际项目中,实现fpga的配置常常需要附加一片

 9.球状封装的英文缩写为 bga

 10.cpld/fpga2.8.2选择

 1. 在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(d)

 a epld

 b cpld

 c fpga

 d pal

 2. 在下列可编程逻辑器件中,属于易失性器件的是(d)

 a epld

 b cpld

 c fpga

 d pal

 3.下列逻辑部件中不属于altera公司cpld的是(a)

 a通用逻辑块(glb)

 b可编程连线阵列(pia)

 c输入输出控制(i/o)

 d逻辑阵列块(lab)

  4.下列逻辑部件中不属于lattice公司cpld的是(d)

 a通用逻辑块(glb)

 b全局布线区(grp)

 c输出布线区(orp)

 d逻辑阵列块(lab)

 5.下列fpga中不属于xilinx公司产品的是(d)

 a xc4000

 b virtex

 c spartan

 d cyclong

 6. 下列fpga中不属于alter公司产品的是(b)

 a flex 10k

 b virtex

 c stratix

 d cyclone

 7.下列配置方式不属于fpga配置模式的是(d)

 a主动串行配置模式

b被动串行配置模式

 c主动并行配置模式

 d被动从属配置模式

 8.下列因素中通常不属于cpld/fpga选型条件的是(d)

 a 逻辑资源

 b 功耗和封装

 c 价格和速度

 d 产地

 2.8.3问答

 1.结合本章学习的知识,简述cpld的基本结构?

 答:虽然cpld种类繁多、特点各异,共同之处总结起来可以概括为三个部分:

 ● 可编程逻辑阵列块;

 ● 输入/输出块;

 ● 互联资源;

 其中,可编程逻辑阵列块类似于一个低密度的pal/gal,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。乘积项与阵列定义了每个宏单元乘积项的数量和每个逻辑块乘积项的最大容量,能有效的实现各种逻辑功能。

 2.结合本章学习的知识,简述fpga的基本结构?

 答:基于sram编程的fpga以xilinx的逻辑单元阵列(lca,logic cell array)为例,基本结构如图2-20所示。

模块

 图

 2-20 fpga的基本机构

  反熔丝技术fpga器件的逻辑结构采用基于多路选择器的基本逻辑单元,配置数据放在反

熔丝开关矩阵中,通过编程使部分反熔丝介质击穿,导通开关从而实现器件的编程。如图2-21所示

 互联

资源逻辑阵列

 图

 2-21 反熔丝技术的fpga结构

  3.基于sram编程的fpga有哪些特征?优缺点?

 答:

 fpga器件的优点:

 ● 可以反复编程,对于一般规模的器件,上电几十毫秒就可以完成配置数据的加载; ● 开发设计不需要专门的编程器;

 ● 与cmos工艺的存储器兼容,价格较低;

 fpga器件的缺点:

 ● 由于器件掉电后sram容易丢失配置数据,因而常常在fpga外部添加一个制度春初期prom或eprom来保存这些配置数据,从而给配置数据的保密带来了困难; ● 器件内部可编程连线和逻辑定义通过大量的传输门开关实现,从而导致电阻变大,传递信号的速度收到影响,工作频率;

  4.简述max7000器件的结构及特点?

 答:

【篇三:eda技术课程大纲】

课程英文译名:eda  technology 课程编号: 课内总学时:学  分:3

 开课对象:电子信息工程/电子信息科学与技术/电子科学与技术/集成电路设计专业本科学生课程类别:学院定必修 一、课程的任务和目的

 本课程是电类专业的专业基础课,要求学生通过本课程的学习和实验,初步掌握常用eda工具的使用方法、fpga的开发技术以及vhdl语言的编程方法。能比较熟练地使用quartusii等常用eda软件对fpga和cpld作一些简单电路系统的设计,同时能较好地使用vhdl语言设计简单的逻辑电路和逻辑系统,学会行为仿真、时序仿真和硬件测试技术,为现代eda工程技术的进一步学习,asic器件设计以及超大规模集成电路设计奠定基础。

 作为一门专业基础课,除了为现代电子线路课程,软件无线电课程奠定理论和实践方面的基础外,还是其他一些课程的先修课,如微电子导论、现代asic设计、硬件描述语言仿真/综合器设计、大规模集成电路设计等。

 二、课程内容与基本要求  (一)概论

 介绍现代eda技术,vhdl概况,介绍自顶向下的系统设计方法以及fpga和cpld的基本技术,要求对现代eda技术及实现工具的使用方法和发展情况有一初步了解。 (二)eda设计流程及工具

 首先介绍基于eda软件的fpga/cpld开发流程和asic设计流程,然后分别介绍与这些设计流程中各环节密切相关的eda工具软件,最后简述quartusii的基本情况和ip。  (三)fpga/cpld结构与应用

 主要介绍几类常用的大规模可编程逻辑器件的结构和工作原理。对cpld的乘积项原理和fpga的查找表原理分别进行剖析。最后介绍相关的编程下载和测试技术。  (四)vhdl设计初步

通过数个简单、完整而典型的vhdl设计示例,使学生初步了解用vhdl表达和设计电路的方法,并对由此而引出的vhdl语言现象和语句规则能逐步趋向系统的了解。  (五)quartusii应用向导

 通过实例,详细介绍基于quartusii的vhdl文本输入设计流程,包括设计输入、综合、适配、仿真测试和编程下载等方法,以及quartusii包含的一些有用的测试手段,最后介绍原理图输入设计方法。  (六)vhdl设计进阶

 介绍一些新的实例及相关的vhdl语法知识,使学生进一步了解vhdl语言现象和语句规则的特点,以及应用vhdl表达与设计电路的方法。  (七)宏功能模块与ip应用

 altera提供了可参数化的宏功能模块和lpm函数,并基于altera器件的结构做了优化设计,使得设计的效率和可靠性得到了很大的提高。可以根据实际电路的设计需要,选择lpm库中的适当模块,并为其设定适当的参数,满足设计的需要。本章通过一些示例介绍lpm宏功能模块与ip核的使用方法。  (八)状态机设计

 介绍使用vhdl设计有限状态机一般性程序结构;介绍状态机的实用程序设计、状态编码方法以及非法状态排除技术。

 (九)vhdl程序结构与规则

 介绍vhdl的基本程序结构,包括实体、结构体、进程、库和子程序等主要语句结构,要求掌握vhdl可综合程序设计的基本程序结构。重点了解进程语句结构及其运行特点。  (十)vhdl语句与vhdl仿真

 简要介绍vhdl编程的3种描述风格;介绍vhdl仿真方法、目的和延时模型、简介vhdl程序综合概念与可综合的要求,介绍时序电路和组合电路的设计要点和方法。 (十一)设计优化和时序分析

 分析资源优化、速度优化的常用方法,介绍quartusii中优化设置与优化设计方法、以及时序分析方法。

 (十二)实验

 由于本课程是一实践性很强,且软硬件设计密切结合的课程,所以安排了较多的实验内容, 实验总学时为21,除实验1为基础实验,其余均为综合、设计性实验。  实验1:基于vhdl的简单组合与时序电路设计4学时 实验2:quartusii原理图设计 4学时  实验3:7段数码管显示译码设计  4学时

实验4:数控分频器设计4学时  实验5:正弦波形信号发生器设计 4学时  实验6:8位十六机制频率计设计  4学时  实验7:序列检测器设计)  4学时 实验8:数据采集电路和简易存储示波器设计 4学时  实验9:比较器和d/a实现的d/a电路设计4学时  实验10:乐曲硬件演奏电路设计4学时

 三、与各课程的联系

 先修课程:c语言,脉冲与数字电路,电路分析,信号系统,高等数学,微机原理。 四、对学生能力培养的要求

 通过对本课程的学习,学生能较好地掌握全新的硬件电子系统的设计技术,更深刻地了解计算机软件语言与硬件语言实现的现代电子系统设计能力。通过理论学习与实践设计锻炼的紧密结合,提高理论与工程实际相结合的能力,为未来进一步的学习和工作实践奠定良好基础。 五、学时分配

 本课程总学时数为51,其中授课30学时,实验21学时,具体分配如下:

 (一)概论2学时  (二)eda设计流程及工具  2学时  (三)fpga/cpld结构与应用2学时  (四)vhdl设计初步 4学时  (五)quartusii应用向导  2学时  (六)vhdl设计进阶 4学时  (七)宏功能模块与ip应用2学时  (八)状态机设计2学时  (九)vhdl程序结构与规则 2学时  (十)vhdl语句与vhdl仿真 1学时  (十一)设计优化和时序分析  1学时  (十二)实验

 实验1:基于vhdl的简单组合与时序电路设计4学时 实验2:quartusii原理图设计 4学时  实验3:7段数码管显示译码设计  4学时  实验4:数控分频器设计4学时  实验5:正弦波形信号发生器设计 4学时  实验6:8位十六机制频率计设计  4学时  实验7:序列检测器设计)  4学时 实验8:数据采集电路和简易存储示波器设计 4学时  实验9:比较器和d/a实现的d/a电路设计4学时  实验10:乐曲硬件演奏电路设计4学时

 六、教材与参考书 教材:

 eda技术实用教程(第三版), 潘松、黄继业编著,科学出版社,2006。

 参考书:

 cpld/fpga的开发与应用,徐志军、徐光辉编著,电子工业出版社,2002; 电子设计自动化(eda)教程,王锁萍,电子科技大学出版社,2000;

 数字系统设计与pld应用技术,蒋璇、臧春华编著,电子工业出版社,2001; sopc技术实用教程,潘松、黄继业、曾毓编著,清华大学出版社,2005; 数字系统设计与verilog hdl,王金明、杨吉斌编著,电子工业出版社,2002; altera digital library,altera corporation ,altera,2002; data book 2001,xilinx inc.,xilinx,2001。

黄河科技学院

 2010至2011  学年第1 学期 学  期  授  课  计  划

2010  年 9 月  8  日下载本文

显示全文
专题