EDA习题参考参考模板范本.doc

上传人(卖家):林田 文档编号:5568507 上传时间:2023-04-25 格式:DOC 页数:18 大小:535KB
下载 相关 举报
EDA习题参考参考模板范本.doc_第1页
第1页 / 共18页
EDA习题参考参考模板范本.doc_第2页
第2页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、EDA习题第一章 绪论1、简介EDA/CPLD的开发背景。1)电子系统的集成化,可使系统体积小、重量轻、功耗低,更重要的是系统的可靠性大大提高;2)数字化及个人电脑的发展促进集成工艺的发展;3)片上系统设计要求依靠计算机;4)产品利润的追求要求缩短产品研发周期。2、简介EDA采用语言及特点。硬件描述语言HDL(Hardware Description Language),其中以VHDL为代表。VHDL:Very High Speed Integrated Circuit HDL超高速集成电路硬件描述语言。特点:1)与硬件无关;2)设计方法多样:可采用自底向上、自顶向下或混合设计方法;3)具有良

2、好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。3、简介SOC的含义。所谓片上系统设计system on chip,是将电路设计、系统设计、硬件设计、软件设计和体系设计集合于一身的设计。4、简介EDA技术的含义。依赖功能强大的计算机,以HDL为手段为系统逻辑描述完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真调试,直至实现既定的电子线路系统功能。5、简介EDA的发展方向。1)支持标准化语言的EDA软件不断推出。2)EDA技术进入无线电、模拟电路等领域。3)更大规模的FPGA和CPLD

3、器件的不断推出。第二章 CPLD与FPGA工作原理简介1、简介PLD的含义。Programmable Logic Device可编程逻辑器件是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门和触发器等基本逻辑元件,使用者可利用某种开发工具对其进行加工,即按设计要求将片内元件连接起来(编程)2、画出用3*1的PROM实现Y=A+BC。答案略,参例2-13、给出PROM、PLA、PAL的比较。PROM与阵列完全译码或阵列可编程无触发器PLA与阵列可编程或阵列可编程无触发器PAL与阵列可编程或阵列固定有触发器4、FPGA的查找表为何值时,能实现Y=A+BC逻辑电路。答案略,参例2-4

4、第三章 EDA设计流程及其工具1、简介ASIC的含义。ASIC:Application Specific Integrated Circuit专用集成电路,是具有专门用途和特定功能的独立集成电路器件。2、简介CPLD、FPGA及其特点。FPGA:Field Programmable Gate Array现场可编程门阵列,采用查找表工作原理,RAM,可擦写10万多次。CPLD:Complex Programmable Logic Device大规模可编程逻辑器件,可擦写100多次。特点:直接面向用户,具有极大的灵活性和通用性,使用方便硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简

5、单,工作可靠性好等。3、简介EDA的几种设计输入方法。1)图形输入:又可分为原理图输入、状态图输入和波形图输入;2)HDL文本输入4、简介IP的含义。IP:Intellectual Property是知识产权核或知识产权模块的意思。用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。可分为软IP、固IP和硬IP。5、简介HDL语言设计的优点。第四章 原理图输入设计方法1、简介MAX+plusII中的元件库基本逻辑元件库PRIM:与非门、非门、D触发器等 宏功能元件MF:74系列器件LPM:兆功能块(类似IP核)2、给出MAX+plusII下EDA设计流程 建立好工作库目录编辑输入并保

6、存源文件(文件名必须与实体名致,后缀为VHD)设定工程选择目标芯片COMPILE并排错编辑输入波形进行时序仿真锁定引脚COMPILE并下载进行硬件测试3、4位加法器设计(参实验,略)4、4位十进制频率计设计(参实验,略)第五章 VHDL设计初步1、 简述VHDL程序基本结构。一个相对完整的VHDL设计由以下四部分组成:(1) 库LIBRARY、程序包PACKAGE:库用于存储预先完成的程序包和数据集合体;程序包用于声明在设计中将要用到的常数、数据类型、元件及子程序等。(2) 实体ENTITY:定义设计的输入输出端口。(3) 结构体ARCHITECTURE:定义实体的实现,即电路的具体描述。可有

7、多个结构体,但只有一个起作用。(4) 配置CONFIGURATION:为实体选定某个特定的结构体。以上四个部分不是每个VHDL程序必须的,但每个VHDL程序至少含有1个实体和1个结构体。1个实体可有多个结构体,通过配置选择1个结构体对实体起作用,其他结构体不起作用。当只有1个结构体时不要实体。2、 简述顺序语句与并行语句的含义,VHDL为什么存在并行语句?并行语句:执行顺序与语句排列的先后顺序无关,是硬件描述语言与一般软件程序最大的区别所在,所有并行语句在结构体中的执行是同时执行的,即它的执行顺序与语句书写的顺序无关。这种并行性是硬件本身的并行性决定的,即一旦电路接通电源,它的各部分就会按照事

8、先设计好的方案同时工作。顺序语句:与计算机程序类似,与指令的先后顺序有关。3、 用WHEN-ELSE语句进行2选1数据选择器设计,数据长度8位。ENTITY mux21a IS PORT (a,b : IN BIT_vector(7 downto 0); s : IN BIT; y : OUT BIT_vector(7 downto 0);END mux21a; ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b;END one ;4、 用WHEN-ELSE语句进行4选1数据选择器设计,数据长度1位。实体略ARCHITECTURE a

9、rchmux OF mux4 ISBEGIN ya0 WHEN s =“00” ELSE a1 WHEN s =“01” ELSE a2 WHEN s =“10” ELSE a3;END archmux;5、 用SELECT-WHEN语句进行4选1数据选择器设计,数据长度1位。实体略ARCHITECTURE archmux OF mux4 ISBEGIN WITH s SELECT ya0 WHEN s =“00”, a1 WHEN s =“01”, a2 WHEN s =“10”, a3 WHEN OTHERS ; END archmux;6、 用IF语句进行4选1数据选择器设计,数据长度1

10、位。实体略ARCHITECTURE archmux OF mux4 ISBEGINPROCESS(a0,a1,a2,a3,s)BEGINIF s=“00” THEN ya0;ELSIF s =“01”THEN y=a1; ELSIF s =“10” THEN y=a2; ELSE y ya0; WHEN “01”= ya1; WHEN “10”= ya2; WHEN OTHERS = ya3;END CASE;END PROCESS;END archmux;8、 8位数字比较器设计。ENTITY COMP ISPORT(a,b: IN INTEGER RANGE 0 T0 255;aequal

11、b, agreatb, alessb : OUT STD_LOGIC);END COMP;ARCHITECTURE behave OF COMP ISBEGINaequalb1 WHEN ab ELSE0;agreatb1 WHEN ab ELSE0;alessb1 WHEN ab ELSE0;END behave;9、 奇偶测试电路设计。LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY test_odd IS GENERIC (bussize : integer : = 8 ); PORT(databus : IN std_logic_vect

12、or (bussize- 1 DOWNTO 0 );even_num, odd_num : OUT std_logic);END test_odd;ARCHITECTURE behave OF test_odd ISBEGIN PROCESS (databus ) VARIABLE tmp : std_logic;BEGIN tmp : = 0; FOR I IN databuslow TO databushigh LOOP - 循环变量i是一个临时变量,tmp : = tmp XOR databus (i); - 属LOOP语句的局部变量,不必事先定义。 END LOOP; odd_numt

13、mp; -odd_flag奇标志 even_numNOT tmp; - even_flag偶标志END PROCESS;END behave;10、 一位BCD码的加法器设计。LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL;ENTITY bcdadder IS PORT ( op1 , op2 : IN interger RANGE 0 TO 9; result : OUT integer RANGE 0 TO 31 );END bcdadder;ARCHITECTURE behave OF

14、bcdadder IS CONSTANT adjustnum : integer : = 6; -定义一常量:整数型,值为6 SIGNAL binadd : integer RANGE 0 TO 18; -定义一个信号,以保存两个二进制数的和BEGIN binaddop1+op2; -信号赋值PROCESS(binadd) VARIABLE tmp : integer : = 0; -定义一变量,并赋初值为0 BEGIN IF binadd9 THEN tmp : = adjuxtnum; -变量赋值,立即起作用。 ELSEtmp : = 0; END IF;resultbinadd+tmp;

15、END PROCESS;END behave;11、 8位二进制全加器设计LIBRARY ieee; USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY adder8 ISPORT (data1 , data2 : IN std_logic_vector (7 DOWNTO 0 ); ci : IN std_logic;result : OUT std_logic_vector (7 DOWNTO 0)co : OUT std_logic);END adder8;ARCHITECTURE behave OF ad

16、der8 ISSIGNAL halfadd, fulladd : std_logic_vector (8 DOWNTO 0);BEGINhalfadddata 1+ data 2;fulladdhalfadd WHEN ci =0 ELSE halfadd+1;resultfulladd (7 DOWNTO 0);cofulladd;END behave; 12、 HEX-七段LED码译码器设计。LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY HEXLED ISPORT (HEX : IN std_logic_vector (3 DOWNTO

17、0 );LED : OUT std_logic_vector (6 DOWNTO 0);END HEXLED;ARCHITECTURE BODY OF HEXLED ISBEGINPROCESS(HEX) BEGIN CASE HEX ISWHEN 0000 = led led led led led led led led led led led led led led led led NULL; END CASE;END IF; END PROCESS;END BODY; 输入输出d7d0q2q1q01 x x x x x x x0 1 x x x x x x0 0 1 x x x x x

18、0 0 0 1 x x x x0 0 0 0 1 x x x0 0 0 0 0 1 x x0 0 0 0 0 0 1 x0 0 0 0 0 0 0 10 0 0 0 0 0 0 01 1 11 1 01 0 11 0 00 1 10 1 00 0 10 0 00 0 013、 8-3优先编码器设计。ARCHITECTURE behave OF encoder ISBEGINq= “111” WHEN d(7) = 1 ELSE “110” WHEN d(6) = 1 ELSE“101” WHEN d(5) = 1 ELSE“100” WHEN d(4) = 1 ELSE“011” WHEN d

19、(3) = 1 ELSE“010” WHEN d(2) = 1 ELSE“001” WHEN d(1) = 1 ELSE“000” WHEN d(0) = 1 ELSE“000” ;END behave; 用IF语句。实体略。ARCHITECTURE behave OF encoder ISBEGINPROCESS(d)BEGINIF d(7) = 1 THEN q= “111”;ELSIF d(6) = 1 THEN q= “110”; ELSIF d(5) = 1 THEN q=“101”;ELSIF d(4) = 1 THEN q=“100”;ELSIF d(3) = 1 THEN q=

20、 “011”; ELSIF d(2) = 1 THEN q= “010”; ELSIF d(1) = 1 THEN q= “001”; ELSE q Z; - 注意此处的 “Z”要大写;END behave;LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY encoder ISPORT(d : IN std_logic_vector (7 DOWNTO 0);q : OUT std_logic_vector (2 DOWNTO 0);END encoder;15、 设计一个16个字节的堆栈,有复位信号、压栈/弹栈信号、堆栈满信号、数据输入/输出口

21、。LIBRARY ieee; USE ieee.std_logic_1164.ALL;USE ieee.std_logic_signed.ALL;ENTITY stack IS PORT( datain : IN std_logic_vector (7 DOWNTO 0 );push , pop , reset , clk : IN std_logic;stackfull : OUT std_logic;dataout : BUFFER std_logic_vector (7 DOWNTO 0 );END stack;ARCHITECTURE a OF stack ISTYPE arraylo

22、gic IS ARRAY (15 DOWTO 0) OF std_logic_vector (7 DOWNTO 0 ); -定义一个16字节数据类型 SIGNAL data : arraylogic; - 此处定义了data为一个数组168SIGNAL stackflag : std_logic_vector (15 DOWNTO 0 ); -定义堆栈标志,每一字节有数据为1,无数据为0BEGIN stackfullstackflag ( 0 ); -字节0为栈底 PROCESS (clk , nreset , pop , push) BEGIN IF reset = 1 THEN stack

23、flag( OTHERS = 0 );dataout( OTHERS = 0 ); FOR i IN 0 TO 15 LOOP data ( i ) “00000000”; END LOOP; ELSIF clkevent AND clk = 1 THEN IF push = 1 AND pop= 0 THEN - pushFOR i IN 0 TO 14 LOOPdata ( i ) data ( i+1);END LOOP;data (15) datain;stackflag1 & stackflag(15 DOWNTO 1 );ELSIF push = 0 AND pop= 1 THEN

24、 - popdataoutdata (15);FOR i IN 15 DOWNTO 1 LOOPdata ( i ) data ( i-1); END LOOP;stackflagstackflag ( 14 DOWNTO 0 ) & 0; END IF; END IF;END PROCESS;END a;16、 移位寄存器,具有同步清零(RES=1),同步置数(MODE=11),可左移(MODE=10),右移(MODE=00)。LIBRARY ieee; USE ieee.std_logic_1164.ALL;ENTITY shifter IS PORT(data : IN std_logi

25、c_vector (7 DOWNTO 0 );sl_in , sr_in , reset , clk : IN std_logic; - sl_in左移数据输入,sr_in右移数据输入mode : IN std_logic_vector (1 DOWNTO 0 );qout : BUFFER std_logic_vector (7 DOWNTO 0 );END shifter;ARCHITECTURE behave OF shifter ISBEGIN PROCESS (clk) BEGIN IF (clkevent AND clk = 1) THEN IF (reset = 1) THEN

26、qout(OTHERS 0); - 同步清零 ELSE CASE mode IS WHEN “01” qoutsr_in & qout (7 DOWNTO 1 ); - 右移 WHEN “10” qoutqout (6 DOWNTO 0 ) & sr_in; - 左移WHEN “11” qoutdata; - 置数WHEN OTHERSNULL - “NULL”表示无操作 END CASEEND IFEND IFEND PROCESS;END behave;17、 模为60的计数器,异步清0,进位输入/输出,同步置数LIBRARY ieee; USE ieee.std_logic_1164.A

27、LL;USE ieee.std_logic_unsigned.ALL;ENTITY cntm60 IS PORT( ci : IN std_logic; -进位输入nreset : IN std_logic; -复位信号load : IN std_logic; -置数使能端d : IN std_logic_vector (6 DOWNTO 0 ); -置数数据clk : IN std_logic; -计数脉冲co : OUT std_logic; -进位输出qh : BUFFER std_logic_vector (2 DOWNTO 0 ); -计数器十位ql : BUFFER std_log

28、ic_vector (3 DOWNTO 0 ) -计数器个位);END cntm60;ARCHITECTURE behave OF cntm60 ISBEGIN co1 WHEN (qh =5 AND ql=9 AND ci = 1) ELSE 0; PROCESS (clk , nreset) BEGIN IF (nreset = 0) THEN qh “000”; ql “0000”; ELSIF (clkevent AND clk = 1) THEN IF (load = 1) THEN qhd (6 DOWNTO 4 ); qld (3 DOWNTO 0 ); ELSIF (ci =

29、1) THEN IF (ql = 9) THEN ql “0000”; IF (qh =5) THEN qh “000”;ELSE qhqh+1; END IF; ELSE QLQL+1; END IF; - end if qlEND IF; - end if load END IF; - end if _resetEND PROCESS;END behave;18、 74LS373功能块设计。19、 信号与变量的区别第六章 状态机程序设计1、用FPGA/CPLD控制AD574进行12位A/D转换,并将转换结果保存在Q0Q11中。分析:12位A/D转换,12位结果输出,X12/8接高电平,A0

30、接低电平;2个片选信号用1个CE,CS接低电平。连接电路图见图 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574 ISPORT( D:IN STD_LOGIC_VECTOR(11 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0); CLK,STATUS:IN STD_LOGIC; CE,RC: OUT STD_LOGIC); -AD574控制信号END AD574; ARCHITECTURE behav OF AD574 IS TYPE states IS (s0,sl,s2,s3,s4,s5

31、); SIGNAL c_st,n_st:states; SIGNAL LOCK:STD_LOGIC; BEGIN PROCESS(c_st,STATUS) -准备下一状态 BEGIN CASE c_st IS WHEN s0=n_st=sl; CE=0;RC=0;LOCKn_st=s2;CE=1;RC=0;LOCKIF(STATUS=1) THEN n_st=s3; ELSE n_st=s2; END 1F; CE=0;RC=0;LOCK IF(STATUS=1) THEN n_st=s3; ELSE n_st=s4; END 1F; CE=0;RC=0;LOCKn_st=s5; CE=1;R

32、C=1;LOCKn_st=s0; CE=1;RC=1;LOCKn_st=s0; CE=0;RC=0;LOCK=0; END CASE; END PROCESS; PROCESS (CLK) -状态切换进程 BEGIN IF(CLKEVENT AND CLK=1) THEN c_st=n_st; END IF; END PROCESS; PROCESS(LOCK) -数据保存 BEGIN IF LOCK=1AND LOCKEVENT THEN Q12N_STN_STN_STIF EOC=1 THEN N_ST=S3;ELSE N_ST IF EOC=0 THEN N_ST=S4;ELSE N_ST=S5;END IF;ALE=0;START=0;OE=0; LOCK=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 常用办公文档
版权提示 | 免责声明

1,本文(EDA习题参考参考模板范本.doc)为本站会员(林田)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|