eda实训报告

eda实训报告
eda实训报告

前言 (2)

(1)EDA简介 (2)

EDA的设计流程 (2)

(2)FPGA简介 (3)

课程设计任务书 (4)

设计要求 (4)

具体要求 (4)

提高 (4)

系统电路功能描述、粗框图及方案论证说明 (5)

确定方案 (5)

交通灯的作用 (5)

系统电路设计陈述 (5)

显示模块的端口资源 (6)

控制模块的端口资源 (7)

模块电路设计 (7)

设计显示模块 (8)

顶层设计 (8)

系统电路仿真波形分析结果,引脚锁定清单,硬件(时钟频率、开关、按键、显示、音响等)。

适配下载 (10)

课程设计工作进程 (10)

设计小组的分工及工作安排 (10)

本人承担的任务及执行情况 (11)

一目的 (11)

二思路 (11)

三程序语句注释 (11)

四程序执行流程及说明 (13)

五仿真结果说明 (14)

附录 (14)

程序清单 (14)

东西 (14)

南北 (17)

实训感想 (19)

前言

(1)EDA简介

电子技术的迅猛发展,高新技术日新月异。传统的电子技术设计方法,以不能帮助我们更好的、高效的完成设计任务。所以我们需要更好的工具来帮助我们完成设计任务。

EDA技术是指以计算机为工作平台,融合应用电子技术、计算机技术、信息处理及智能化技术,进行电子产品自动化设计的一门新技术。

EDA技术作为现代电子设计技术的核心,依赖于计算机,在EDA工具软件平台上,对以硬件描述语言为逻辑描述手段完成设计文件,自动地完成逻辑编译、逻辑化简、逻辑综合、布局布线,以及逻辑优化和仿真测试,直至实现既定的电子电路的功能。

在硬件方面,EDA技术融合了大规模集成电路制造技术、集成电路板图设计技术、可编程器件编程技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计、计算机辅助制造、计算机辅助测试、计算机辅助分析、计算机辅助工程技术以及多种计算机语言的设计概念;在现代电子学方面容纳了诸如计算机设计技术、电子线路设计理论、数字信息处理技术、数字系统建模和优化技术以及基于微波技术的长线技术理论。

当前,利用EDA技术进行电子电路设计的主要方法,是基于可编程器件完成专用电路ASIC的实现,ASIC作为最终的物理平台,是集中容纳用户通过EDA技术将电子应用系统的既定功能、技术指标和个性创意具体实现的硬件实体。

在EDA技术应用中广泛采用自顶向下的方法设计电路,工程项目的设计流程包括:用自然语言描述功能特性和技术指标,用硬件描述语言建立系统描述→行为描述→结构描述→逻辑描述,用计算机开发软件进行功能仿真→时序仿真→硬件测试。设计者可根据需要,随心所欲地改变器件内部结构乃至器件外部引脚的功能,可以将系统电路分解为各个模块,也可以将多个模块集合在一起。

可以说,EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种多方位技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。

EDA的设计流程

一编辑输入

(1)文本输入。在EDA工具软件的文本编辑见面上,输入用某种硬件语言表述的电路设计文本。

(2)原理图输入。在EDA工具软件的图形编辑界面上,绘制能完成预定功能的电路原理图。

(3)状态图输入。依据电路的控制条件和状态转换的因果关系,在EDA工具软件的状态图编辑界面上绘制时序电路的状态流程图。

(4)波形图输入。在EDA工具软件的波形图编辑界面上,绘制电路输入输出信号间的波形关系,然后由EDA编译器据此完成电路设计。

一综合

综合是将由硬件描述语言表述的电路行为表述转换为低级的、与可编程逻辑器件基本结构相映射的网表文件或电路连接图。

一适配

适配是为了将综合器产生的网表文件装配于指定的目标器中,而产生最终的编程文件。二功能仿真与时序仿真

(1)功能仿真是指针对文本设计、原理图设计及其它设计方法的逻辑功能进行测试模拟,以便了解所设计电路实现的功能是否符合要求。

(2)时序仿真的结果接近真实器件的运行特性。

三编程下载

把适配后生成的编程文件通过编程器或编程电缆载入目标可编程逻辑器件,以便进行硬件验证。

一、硬件测试

对含有载入了编程文件的可编程逻辑器件的硬件系统进行统一的测试。

(2)FPGA简介

现场可编程门阵列FPGA采用可编程的查表LUT构成逻辑函数发器,它的集成度高于CPLD。

本科程使用的是Cyclone系列器件,它是Altera公司开发的,主要由逻辑阵列块LAB、嵌入式存储器、嵌入式锁相环PLL、嵌入式18*18乘法器和I/O单元构成,其工作原理在FPGA器件中具有典型性。Cyclone器件含有数十个嵌入式存储器,速率达200MHZ以上,可构成包括移位寄存器、双口RAM、单口RAM、FIFO、ROM等各种功能单元,从而扩大了FPGA的应用范围。Cyclone器件中含有的PLL可用于调整时钟信号频率、占空比和相违。Cyclone器件的I/O单元支持单端、差分、四态等多种I/O接口标准,支持高达640Mbps的数据传输速度。

本组的选题——数字秒表,就是利用基于Altera公司开发的Cyclone系列器件中的EP1C6Q2408C芯片来完成的,可以实现秒表计时的功能。

课程设计任务书

设计要求

设计一个简单自动控制的交通的交通灯控制系统。

具体要求

1在十字路口的两个方向各设一组红绿黄指示灯,显示顺序为,其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯;

2主干道红灯持续80秒

3在保证主干道80s前提下支干道绿灯不少于40s

4主干道或支干道绿灯变红灯时,黄灯亮6s

5主干道及支干道有倒计时显示

6有特殊态下两侧红灯全亮

提高

1由左转向灯

2有错误报警

3显示状态错误

系统电路功能描述、粗框图及方案论证说明

确定方案

交通灯示意图如图t-1所示。

交通灯的作用

在道路十字路口,每条道路上有一组红黄绿灯和倒计时显示器,用以指挥车辆和行人有序通行。其中,红灯亮表示道路禁止通行;黄灯亮表示停车;绿灯亮表示可以通行;倒计时显示器是用来显示允许通行或禁止通行的剩余时间。交通灯控制器就是用于自动控制十字路口交通灯的明暗和倒计时

表6.1.2交通灯点亮状态表

系统电路设计陈述

三、模块电路的端口资源

依据交通灯控制系统的基本结构,分析各模块的具体功能及其在整个系统中的作用,可确定各模块所需要的端口资源。

显示模块的端口资源

显示模块由显示驱动电路和显示器件组成。

A .每个方向有两个用于倒计时显示的七段数码管和3各用于交通灯指示的发光管。

B .每个方向的驱动电路都有两个部分(见图6.1.19),一个是驱动七段显示器,另一个是驱动交通灯。

在图6.1.19中,输入信号均来自控制模块,其中R 、Y 、G 代表红、黄、绿3各逻辑量,BCD 码代表2组倒计时时间量。同样输出端口的R 、Y 、G 是用于驱动交通灯的3各逻辑量,a~f 是驱动七段显示器的7各控制量。

图 6.1.19 显示模块端口设置

信号

信号

信号

BCD 码

BCD 码

控制模块的端口资源

控制模块是系统的核心模块,控制交通灯的工作状态和倒计时时间。此处进行的端口资源设置是以单方向为例(见图6.1.20),读者可以据此设置另一个方向的端口资源。

图 6.1.20控制模块端口设置

A 、 为了保证倒计时的准确性,需要引入一个基准时钟信号CLK 。可以直接输入秒脉冲作

为倒计时的基准时间,也可以输入其他频率的标准脉冲,经分频得到秒脉冲。RST 是系统复位信号,用于为系统设置初始状态。

B 、 控制模块的输出有两类信号,一类是控制交通灯的逻辑信号(1 or 0),一类是倒计时的BCD 码实时结果。这样每个方向控制模块的输出端口资源是,3各分别控制红灯、黄灯和绿灯的逻辑两R 、Y 、G ;2组BCD 码数据,分别是计时器的高位timh 【3…0】和低位timl 【3…0】。

模块电路设计

拟定用层次化设计方法完成各个模块的设计,即底层电路用VHDL 语言实现功能,等成

电路把各个模块连接起来,构成整个交通灯控制系统。 (1)设计控制模块

整个系统有两个控制模块,分别控制东西、南北两个方向。根据交通灯的工作状态,

每个方向都有3各未定的状态,只是初始状态不一样。如果南北方向初始状态从绿灯开始,则东西方向初始状态必应从红灯亮开始,否则不符合交通灯的工作规则(见表6.1.2)。

控制模块主要是按就交通灯的工作状态一次控制绿、黄、红灯的亮或灭,同时控制灯

亮的持续时间,当逻辑量输出为1是,对应的灯亮,输出为0时,对应的灯灭。根据交通灯的工作情况,每个方向的任意两个灯不能同时点亮,不同方向之间交通灯的关系按表6.1.21所示转换。

R )

Y ) G )

图6.1.21交通灯控制状态转换图

A . 南北方向控制模块(cona )的VHDL 程序如下,此外初始状态为绿灯亮。

南北方向控制模块的时序仿真如图6.1.22所示。途中CLK 是标准时钟信号;g ‘y 和

r 分别代表绿、黄、红灯的控制量,当高电平时对应的灯亮,低电平是对应的灯灭;timh 【3…0】timl 【3…0】分别是倒计时数的高位和低位。从时序图可以看出,当绿灯g 亮时其他灯(r 、y )灭,持续时间从19——0(20)各时间脉冲;若CLK 选择1s 标准时间脉冲,则持续时间就是20s 。黄灯y 和红灯r 的工作时序也类似,只是持续点亮的时间分别是5s 和25s 。

B . 东西方向控制模块(conb 的VHDL )程序与南北方向的编写方式完全一样,只是初始工作状态不同,读者可自行完成。

图6.1.23是东西方向控制模块仿真波形,其初始状态时红灯亮,以后依次是绿灯、黄灯亮。在黄灯亮到实际结束后,有回到红灯亮的状态,如此循环往复,实现对东西方向交通灯的控制

设计显示模块

显示模块需要输出两类显示信号,一类输出到七段显示器,这部分可才考图6.1.11;另一

类是输出3各逻辑两分别控制三只发光管,

控制LED 管或者其他发光器件都需要驱动电路这要根据发光器件的功率来确定。而我们使用的LED 管驱动电路已经由开发系统的硬件电路提供,故此处对显示模块的实际可不做考虑。但是如果读者自己设计显示系统,就一定要考虑驱动电路,特别是大功率的显示器件。

顶层设计

设计顶层电路可以用图元符号实现,也可以用VHDL 的例化语句实现级联,此处利用例化语句完成整体电路的设计:

图6.1.25所示是交通灯控制系统仿真波形。途中南北方向搅动等的控制信号分别是:g1、r1、

y1、timh1和timl1分别是倒计时显示器的高位和地位;东西方向的交通灯的控制信号时g2、r2、y2、timeh2和timl2分别是倒计时显示器的高位和低位。当南北方向为绿灯亮(高电平)或黄灯亮(高电平)时,东西方向为红灯亮(高电平),持续时间为25s ,其中南北方向绿灯亮20s 、黄灯亮5s ;同理,东西方向为绿灯亮(高电平)或者黄灯亮(高电平)时,南北方向为红灯亮(高电平)。

系统电路仿真波形分析结果,引脚锁定清单,硬件(时钟频率、开关、按键、显示、音响等)。

硬件

引脚锁定清单

系统电路仿真波形

适配下载

交通灯控制系统在计算机的QquartusⅡ软件平台上完成逻辑描述和仿真测试并达到设计要求后,需要下载到后有目标芯片的开发系统上,进行实际检验。

对于本范例来说,选用Cyclone系列芯片EP1C6240C8为设计目标器件,所需的输入部件主要是标准时钟,所需的输出部件是用于倒计时显示器的七段数码管,显示方式为静态;交通灯用发光管代替。通过查阅附录,决定采用看见开发系统的电路模式5,由此可确定设计目标新票引脚标号与开发系统硬件环境间的对应关系:标准时钟clk由开发系统的时钟源Clock0提供,对应目标芯片的28号引脚;系统复位信号rst选择按键1,对应目标芯片的233号引脚;南北方向倒计时器用开发系统的数码管8和数码管7,即timhl【3…0】对应目标芯片的168~165号引脚,timl1【3…0】对应目标芯片的164~161号引脚;交通灯选D8(绿)、D7(黄)和D6(红),即g1、y1、r1对应目标芯片的12、8、7号引脚。东西方向倒计时显示器用数码管2和数码管1,即timh2【3…0】对应目标芯片的20~17号引脚,timl2【3…0】对应目标芯片16~12号引脚;交通灯选D3(红)D2(绿)D1(黄),即r2、g2、y2对应木匾芯片的3、2、1号引脚。

引脚锁定后,进行整个系统的全程编译,从而完成对目标芯片的适配下载。

七、硬件验证

对目标芯片EP1C6Q240C8编程下载成功后,选择开发系统的电路模式5,将时钟源Clock0经跳线帽与1Hz冒充短路,即输入秒脉冲。系统复位按键1置低电平,则系统开始工作,即首先南北向点亮红灯、东西向点亮红灯,然后进入预定的持续时间和交通灯工作规程,倒计时器的工作状态与交通灯转换状态同步,说明检验结果与设计要求相符。

课程设计工作进程

设计小组的分工及工作安排

两人做两个模块,另一人研究提高!

本人承担的任务及执行情况

我做的是东西走向的红绿灯及主干道到的。

一目的

1在十字路口的两个方向各设一组红绿黄指示灯,显示顺序为,其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯;

2主干道红灯持续80秒

3在保证主干道80s前提下支干道绿灯不少于40s

4主干道或支干道绿灯变红灯时,黄灯亮6s

5主干道及支干道有倒计时显示

6有特殊态下两侧红灯全亮

二思路

三程序语句注释

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity vhdl1 is

port(rst,clk,en:in std_logic; --系统时钟信号复位信号特殊状态信号

r,g,y,l:out std_logic; 交通灯

timh,timl:out std_logic_vector(3 downto 0)); 计时器高位低位

end vhdl1;

architecture com_arc of vhdl1 is

type rgy is(green,yellow,red,left); 枚举类型数据

begin

process(clk,en)

variable a:std_logic;

variable th,tl:std_logic_vector(3 downto 0);

variable state:rgy;

begin

if en='1' then

a:='1';

g<='0';r<='1';y<='0';l<='0';

else

if rst='1' then

state:=green; 设置开始时为绿灯

a:='0';

elsif clk 'event and clk='1' then

case state is

when green=>if a='0' then

th:="0101";tl:="1001";绿灯计时60s

a:='1';

g<='1';r<='0';y<='0';l<='0'; 设置绿灯亮其他灭else 执行倒计时

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=left;

end if;

end if;

when left=>if a='0' then

th:="0001";tl:="1001";

a:='1';

g<='0';r<='0';y<='0';l<='1';

else

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=yellow; 倒计时时间到进入黄灯

end if;

end if;

when yellow=>if a='0' then

th:="0000";tl:="0100"; 黄灯倒计时5s

a:='1';

g<='0';r<='0';y<='1';l<='0'; 黄灯亮其他灭

else 倒计时执行

if not(tl="0001") then

tl:=tl-1;

else

tl:="0000";

a:='0';

state:=red;倒计时到红灯亮

end if;

end if;

when red=>if a='0' then

th:="0110";tl:="0100"; 设置红灯倒计时64

a:='1';

g<='0';r<='1';y<='0';l<='0'; 控制红灯亮其他灭

else 执行倒计时

if not (th="0000" and tl="0001") then

if tl="0000" then

tl:="1001";th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=green;

end if;

end if;

when others=>state:=green;

a:='0';

end case;

end if;

end if;

timh<=th; 输出倒计时时间高位

timl<=tl; 输出倒计时时间低位

end process;

end com_arc;

四程序执行流程及说明

五仿真结果说明Array

六设计中遇到的问题

1语法错误2 拼写错误3编译时出现错误

附录

程序清单

东西

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity vhdl1 is

port(rst,clk,en:in std_logic;

r,g,y,l:out std_logic;

timh,timl:out std_logic_vector(3 downto 0)); end vhdl1;

architecture com_arc of vhdl1 is

type rgy is(green,yellow,red,left);

begin

process(clk,en)

variable a:std_logic;

variable th,tl:std_logic_vector(3 downto 0); variable state:rgy;

begin

if en='1' then

a:='1';

g<='0';r<='1';y<='0';l<='0';

else

if rst='1' then

state:=green;

a:='0';

elsif clk 'event and clk='1' then

case state is

when green=>if a='0' then

th:="0101";tl:="1001";

a:='1';

g<='1';r<='0';y<='0';l<='0';

else

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=left;

end if;

end if;

when left=>if a='0' then

th:="0001";tl:="1001";

a:='1';

g<='0';r<='0';y<='0';l<='1';

else

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=yellow;

end if;

end if;

when yellow=>if a='0' then

th:="0000";tl:="0100";

a:='1';

g<='0';r<='0';y<='1';l<='0';

else

if not(tl="0001") then

tl:=tl-1;

else

tl:="0000";

a:='0';

state:=red;

end if;

end if;

when red=>if a='0' then

th:="0110";tl:="0100";

a:='1';

g<='0';r<='1';y<='0';l<='0';

else

if not (th="0000" and tl="0001") then if tl="0000" then

tl:="1001";th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=green;

end if;

end if;

when others=>state:=green;

a:='0';

end case;

end if;

end if;

timh<=th;

timl<=tl;

end process;

end com_arc;

南北

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity vhdl2 is

port(rst,clk,en:in std_logic;

r,g,y,l:out std_logic;

timh,timl:out std_logic_vector(3 downto 0)); end vhdl2;

architecture com_arc of vhdl2 is

type rgy is(green,yellow,red,left);

begin

process(clk,en)

variable a:std_logic;

variable th,tl:std_logic_vector(3 downto 0); variable state:rgy;

begin

if en='1' then

a:='1';

g<='0';r<='1';y<='0';l<='0';

else

if rst='1' then

state:=red;

a:='0';

elsif clk 'event and clk='1' then

case state is

when red=>if a='0' then

th:="1000";tl:="0100";

a:='1';

g<='0';r<='1';y<='0';l<='0';

else

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=green;

end if;

end if;

when green=>if a='0' then

th:="0011";tl:="1001";

a:='1';

g<='1';r<='0';y<='0';l<='0';

else

if not(th="0000" and tl="0001") then if tl="0000" then

tl:="1001";th:=th-1;

else

tl:=tl-1;

end if;

else

tl:="0000";th:="0000";

a:='0';

state:=left;

end if;

end if;

when left=>if a='0' then

th:="0001";tl:="1001";

a:='1';

g<='0';r<='0';y<='0';l<='1';

else

if not (th="0000" and tl="0001")

then

if tl="0000" then

tl:="1001"; th:=th-1;

else

tl:=tl-1;

end if;

else

th:="0000";tl:="0000";

a:='0';

state:=yellow;

end if;

end if;

when yellow=>if a='0' then

th:="0000";tl:="0100";

a:='1';

g<='0';r<='0';y<='1';l<='0';

else

if not (tl="0001") then

tl:=tl-1;

else

tl:="0000";

a:='0';

state:=red;

end if;

end if;

when others=>state:=red;

a:='0';

end case;

end if;

end if;

timh<=th;

timl<=tl;

end process;

end com_arc;

实训感想

此次实训不光是在专业知识方面,更多的是让我明白了,自己将来的路还很长,自己目前懂得的还很少,以后的生活还要自己努力拼搏。

在实训中我深切的体会到了团队的力量和与人沟通的重要性。从这次的实训中,我懂得了一个组要想成为一个优秀的组,最重要的是要团结,还有就是组员之间的信任以及沟通都是很必要的;这个组中的成员还要有一个共同的目标,有了共同的目标我们才能有目的的去完成作品。这次实训我体会最深的还有一个“累”字,它不仅仅是身体的疲惫,劳动的汗水;更多的是一种“苦尽甘来”的滋味,我会为我曾经“累”过而感到骄傲和满足。正是这种“累”让我发现了自身的不足,让我学会了更多的专业技能;也正是这种“累”让我懂得了责任和团队的意义。这次实训是我踏入社会、了解社会、了解生活的第一步。实训虽然结束了,但我们现在的学习并未结束,我们应该珍惜在学校的每一天,多学习,把自身的弱势和不足变成优势与特长,扫清我们就业道路上的绊脚石,为自己拥有一个美好的未来而加倍努力!

西安电子科技大学EDA实验报告

EDA大作业及实验报告

实验一:QUARTUS Ⅱ软件使用及组合电路设计仿真 实验目的: 学习QUARTUS Ⅱ软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容; 实验内容: 1.四选一多路选择器的设计 首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。 步骤: (1)建立工作库文件夹和编辑设计文件; (2)创建工程; (3)编译前设置; (4)全程编译; (5)时序仿真; (6)应用RTL电路图观测器(可选择) 实验程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT( S10:IN STD_LOGIC_VECTOR(1 DOWNTO 0); A,B,C,D:IN STD_LOGIC; Q:OUT STD_LOGIC ); END ENTITY mux41; ARCHITECTURE bhv OF mux41 IS BEGIN PROCESS(A,B,C,D,S10) BEGIN IF S10="00" THEN Q<=A; ELSIF S10="01" THEN Q<=B; ELSIF S10="10" THEN Q<=C; ELSE Q<=D; END IF; END PROCESS; END bhv; 波形仿真如图:

其中,分别设置A,B,C,D四个输入都为10.0ns的方波,其占空比分别为25%,50%,75%,90%以作为四种输入的区分,使能端s10以此输入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以观察到输出端Q依次输出分别为A,B,C,D。试验成功。 其RTL电路图为: 2.七段译码器程序设计仿真 2.1 原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。本项实验很容易实现这一目的。例1作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如实验图1数码管的7个段,高位在左,低位在右。例如当LED7S输出为"0010010" 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,实验中的数码管为共阳极的,接有低电平的段发亮,于是数码管显示“5”。 实验图1 数码管及其电路 2.2 实验内容:参考后面的七段译码器程序,在QUARTUS II上对以下程序进行编辑、编译、综

EDA技术实用教程-VHDL版课后答案

第一章 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)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。 2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。 P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输

《EDA技术及应用》全套教学教案

单元一教学设计 教学内容: 单元一EDA技术 学习任务1 EDA技术 一、认识课程 二、认识EDA技术 三、认识EDA技术的基本特征 学习任务2 可编程逻辑器件芯片 一、认识可编程逻辑器件 二、CPLD基本结构 三、FPGA基本结构 四、Altera公司的可编程逻辑器件汇报总结 评价与考核

教学设计与建议 教学设计:通过学习和查阅资料了解EDA技术,了解EDA技术的基本特征,并熟悉可编程逻辑器件的种类。了解CPLD和FPGA基本结构,熟悉 Altera公司的可编程逻辑器件。 教学建议:建议学生查找EDA技术发展与可编程逻辑器件应用相关资料,进行总结制作PPT,并进行汇报。 知识目标: 1.了解EDA技术 2.了解EDA技术的基本特征 3.了解可编程逻辑器件的种类 4.了解CPLD基本结构 5.了解FPGA基本结构 6.了解Altera公司的可编程逻辑器件 教学重点及难点: 教学重点:可编程逻辑器件种类 教学难点:熟悉Altera公司的可编程逻辑器件 教学载体与资源: 教学资源:教材、PPT、实训室、多媒体设备。 教学方法建议: 讲授与讨论相结合,查阅资料总结汇报。 教学过程: 1.下达任务和要求 2. 教师带领学生共同解析任务 3.学生展开讨论

4.学生查阅资料 5. 总结汇报 考核评价: 1.根据知识掌握情况评价 2.根据资料查找能力和小组汇报情况评价 教学板书: 任务1:EDA技术 认识课程 1.EDA技术是什么? 2.为什么学习EDA技术? 3.EDA技术学什么? 4.EDA技术怎么学? 相关知识 1.认识EDA技术 EDA(Electronic Design Automation,电子设计自动化)技术是帮助电子设计工程师在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印制电路板)的自动设计等。 2.认识EDA技术的基本特征 (1)“自顶向下”设计方法 (2)硬件描述语言 (3)逻辑综合和优化 (4)开放性和标准化 (5)库的引入

EDA实验报告

EDA 实验报告 实验一:组合电路的设计 实验内容是对2选1多路选择器VHDL 设计,它的程序如下: ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ; END ARCHITECTURE one ; Mux21a 仿真波形图 以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。Mux21a 结构体可以看成是元件的内部电路图。最后是对仿真得出的mux21a 仿真波形图。 Mux21a 实体 Mux21a 结构体

实验二:时序电路的设计 实验内容D 触发器的VHDL 语言描述,它的程序如下: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q <= D ; END IF; END PROCESS ; END bhv; D 触发器的仿真波形图 最简单并最具代表性的时序电路是D 触发器,它是现代可编程ASIC 设计中最基本的时序元件和底层元件。D 触发器的描述包含了VHDL 对时序电路的最基本和典型的表达方式,同时也包含了VHDL 中许多最具特色的语言现象。D 触发器元件如上图所示,其在max+plus2的仿真得出上面的波形 D 触发器

eda技术的应用及发展

EDA技术的应用 摘要:随着科技的不断进步与发展,EDA (Electronic Design Automation)即电子设计自动化技术与我们的生活的交集越来越密切。随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,EDA技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。本文简单的介绍EDA技术的发展应用及在未来的发展。 关键字:EDA,技术,应用, Abstract:With the advancement and development of technology,( Electronic Design Automation ) electronic design automation technology and our life is more and more close intersection. With microelectronic technology and the continuous development of computer technology, communication, national defense, involved in aerospace, industrial automation, instrumentation and other areas of work, EDA technical content is increasing at an alarming speed, so as to make it become the forefront of the development of electronic technology. This paper briefly introduced the development of EDA technology, application, and the future. Key world: EDA ,development , 一、前言 1·随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,EDA技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。现代电子产品的性能提高、集成度和精密度不断的增加,电子产品更新换代的节奏越来越快。采用传统的电子设计方法设计电路越来越困难,EDA 技术提高了电路的设计效率和可靠性,减少了劳动强度,给电子系统设计带来了革命性的变化。 2·EDA:EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL(Hardware Description language)完成的设计

基于VHDL语言的EDA实验报告(附源码)

EDA 实验报告 ——多功能电子钟 姓名:张红义 班级:10级电科五班 学号:1008101143 指导老师:贾树恒

电子钟包括:主控模块,计时模块,闹钟模块,辅控模块,显示模块,蜂鸣器模块,分频器模块。 1.主控模块: 主要功能:控制整个系统,输出现在的状态,以及按键信息。 源代码: libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_arith.all; useieee.std_logic_unsigned.all; entity mc is port(functionswitch,k,set,lightkey: in std_logic; chose21,setout: out std_logic; lightswitch:bufferstd_logic; modeout,kmodeout : out std_logic_vector(1 downto 0); setcs,setcm,setch,setas,setam,setah:outstd_logic); end mc; architecture work of mc is signalmode,kmode:std_logic_vector(1 downto 0); signal light,chose21buf:std_logic; signalsetcount:std_logic_vector(5 downto 0); begin process(functionswitch,k,set,lightkey) begin iffunctionswitch'event and functionswitch='1' then mode<=mode+'1'; end if; iflightkey'event and lightkey='1' then lightswitch<=not lightswitch; end if; if mode="01" thenchose21buf<='0'; else chose21buf<='1'; end if; ifk'event and k='1' then if mode="01" or mode="11" then kmode<=kmode+'1'; end if;end if; if set='1' then if mode = "01" then ifkmode="01" then setcount<="000001"; elsifkmode="10" thensetcount<="000010"; elsifkmode="11" then setcount<="000100";

EDA交通灯实验报告

实验:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 主干道 图1 路口交通管理示意图 设计要求: (1)采用VHDL语言编写程序,并在QuartusII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明

(1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。 因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。 模块说明: 系统输入信号: Clk: 由外接信号发生器提供256的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。 模块说明: 系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号; 系统输出信号:tm:产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。 模块说明: 系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号:comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示。 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号:led7s1: 负责红绿灯的显示秒数个位。 led7s2:负责红绿灯的显示秒数十位。 三、设计方案

EDA技术应用及发展前景介绍

EDA技术应用及发展前景介绍 EDA技术应用及发展前景介绍 电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。 一、EDA技术的基本特征 EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。下面介绍与EDA基本特征有关的几个概念。 1.“自顶向下”的设计方法10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。 高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 2.ASIC设计现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。解决这一问题的有效方法就是采用ASIC芯片进行设计。ASIC按照设计方法的不同可分为全定制ASIC、半定制ASIC和可编程ASIC(也称为可编程逻辑器件)。 设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家去进行掩模制造,做出产品。这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合

郑州航院EDA实验报告模板

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214 ____ 姓名:李俊杰_______

2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件Quartus II的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 1)使用Quartus II建立一个工程; 2)Quartus II工程设计; 3)设置编译选项并编译硬件系统; 4)下载硬件设计到目标FPGA; 5)观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的),或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。

五、实验程序 module led1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led = 8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 一、实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理

EDA实训报告范文

EDA实训报告范文 一实习目的 1.了解proptel软件基本功能及实际操作方法 2.培养实际电路图绘制和动手操作综合能力 3.能够动手绘制原理电路图并对PCB板合理布局 二实习任务 1.绘制给定电路原理图 2.生成原理图的元件列表 3.建立网络表文件和ERC电气检测 4.自动装载生成原理图的单面板(或双面板)PCB图 5.生成电路板信息报表 三protel99SE软件部分信息 略 四实习操作步骤 4.1.建立一个数据库文件 第一步:打开protel99se后,选择file菜单下的new菜单 第二步:选择新建的项目存放方式为DDB以及文件存放目录第三步:新建好DDB文件后,我们就可里边的Documents目录下第五步:可以新建SCH文件了,也就是电路图设计项目 第六步:新建后SCH项目后,在默认的一个protel99se元件库中,可以选择元件 放到电路图中了

第七步:我们也可以选择增加自己的元件库 4.2使用protel99se原理图绘制 第一步:将元件放进SCH原理图中,并且设计元件的属性 第二步:设计元件的属性,包括封装,名称,元件属性等 第三步:在protel99se中设计中,放入网络标号.在同一原理中,所有相同的网 络标号,在图纸中,表示同一网络结点 第四步:设点电源地 第五步:在protel99se中,放好元件,设计是电源和接地后,就可以画线了 4.3如何新建PCB文件以及载入封装图. 第一步:在Documents目录下,新建一个PCB文件,PCB文件即是我们存放PCB电路的文件 第二步:在导航栏中,选择Libraries这一项,这可以让我们在导航栏中,显示当前可以放的封装库,以供选择 第三步:浏览封库以及增加protel99se封装库 第四步:选择封装库并且增加到当前PCB文件中: 第五步:增加好封装库后,我们就要以选择和使用些元件了 第六步:在protel99se绘制PCB图是,有一个单位的选择,可以使用公制以及英制 4.4如何将SCH转为PCB文件

EDA实验总结报告

CPLD与电子CAD报告 班号: XXXXXXXXX 序号: XXXXX 学号: XXXXXXX 姓名: XXXXXXX 同组同学姓名: XXXXXXX 三峡大学电气与新能源学院 1

CPLD及电子CAD ?前言 VDHL初步理解和软件常规操作 ?第一章 VHDL中的进程、信号与变量 ?第二章并行语句、顺序语句 ?第三章循环语句、双向口 ?第四章数字钟综合设计 ?第五章Protel原理图、PCB图 ?总结学习CPLD心得和体会 前言 VDHL初步理解和软件常规操作 一,VHDL的历史 1982年,诞生于美国国防部赞助的vhsic项目 1987年底,vhdl被IEEE和美国国防部确认为标准硬件描述语言,即IEEE-1076(简称87版) 1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本 1996年,IEEE-1076.3成为VHDL综合标准 二,VHDL软件Max+plusⅡ的常规操纵方法 1)新建文件后,输入项目文件名(File-Project-Name)(此时save as名称如果是程序则需要用vhd结尾保存文件) 2)输入源文件(图形、VHDL、波形输入方式) (Max+plusⅡ-graphic Editor;Max+plusⅡ-Text Editor;Max+plusⅡ-Waveform Editor) 3)指定CPLD型号,选择器件(Assign-Device)(应选择EP1K 30TC144-1)4)设置管脚、下载方式和逻辑综合的方式 (Assign-Global Project Device Option,Assign-Global Logic Synthesis) 5)保存并检查源文件(File-project-Save & Check) 6)指定管脚(Max+plusⅡ-Floorplan Editor)(具体的管脚应该参考 2

EDA技术及应用【朱正伟】第五章课后习题部分答案

1.试说明实体端口模式BUFFER和INOUT的不同之处? 答:BUFFER端口:缓冲模式,具有读功能的输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用。而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口赋值,也可以通过此端口读入数据。 2.VHDL的数据对象有哪几种?它们之间有什么不同? 答:VHDL的数据对象有三种:信号、变量、常量。它们之间的的区别如下: 信号赋值至少有δ延时,而变量和常量没有;信号除当前值外,有许多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见,而常量的使用范围取决于它被定义的位置;信号是硬件连线的抽象描述信号赋值,赋值符号 <= 而变量和常量的赋值符号 :=。 3.说明下列各定义的意义: SIGNAL a , b , c : BIT : =’0’; CONSTANT TIME1 , TIME2 : TIME : 20ns ; VARIABLE x , y , z : STD_LOGIC :=’x’; 答:○1定义3个位数据类型的信号a、b、c,它们取值为0; ○2定义2个时间数据类型的常量TIME1、TIME2,它们值为20ns; ○3定义3个标准逻辑位 STD_LOGIC数据类型的变量x、y、z,它们的值是强未知的。 4.什么是重载函数?重载运算符有何用处?如何调用重载运算符函数? 答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数成为重载函数。重载运算符的作用是为了方便各种不同的数据类型间的运算。要调用重载运算符函数,先要在程序包中进行函数体的定义,调用的格式如下:

EDA实训报告总结

实训心得 短暂的一周实训已经过去了,对于我来说这一周的实训赋予了我太多实用的东西了,不仅让我更深层次的对课本的理论知识深入了理解,而且还让我对分析事物的逻辑思维能力得到了锻炼,提高了实际动手能力,下面谈一下就这一周实训中我自己的一些心得体会。一周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对quartus ⅱ软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了vhdl语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践 过程中有所成果。 最后还要感谢学校为我们提供这样专业的实践平台还有瓮老师 在一周实训以来的不断指导和同学的热情帮助。总的来说,这次实训我收获很大。 同时,感谢大专两年来所有的老师,是你们为我解惑受业,不仅教授我专业知识,更教会我做人的道理。 这次eda实训让我感觉收获颇多,在这一周的实训中我们不仅巩固了以前学过的知识,而且还学到了怎样运用eda设计三种波形的整个过程和思路,更加强了我们动手能力,同时也提高了我

们的思考能力的锻炼,我们在写程序的同时还要学会要改程序,根据错误的地方去修改程序。 本文基于verilog hdl的乒乓球游戏机设计,利用verilog hdl 语言编写程序实现其波形数据功能在分析了cpld技术的基础上,利用cpld开发工具对电路进行了设计和仿真,从分离器件到系 统的分布,每一步都经过严格的波形仿真,以确保功能正常。 从整体上看来,实训课题的内容实现的功能都能实现,但也存在着不足和需要进一步改进的地方, 为我今后的学习和工作奠下了坚实的基础。通过此次的实训课题,掌握了制作乒乓球游戏机技术的原理及设计要领,学习并掌握了可编程逻辑电路的设计,掌握了软件、cpld元件的应用,受益 匪浅,非常感谢瓮老师这一学期来的指导与教诲,感谢老师在 学习上给予的指导,老师平常的工作也很忙,但是在我们学习的过程中,重来没有耽搁过,我 们遇到问题问他,他重来都是很有耐心,不管问的学生有多少,他都细心的为每个学生讲解,学生们遇到的不能解决的,他都配合同学极力解决。最后祝愿瓮老师身体健康,全家幸福。 通过这次课程设计,我进一步熟悉了verilog hdl语言的结构,语言规则和语言类型。对编程软件的界面及操作有了更好的熟悉。在编程过程中,我们虽然碰到了很多困难和问题,到最后还是靠

EDA技术及应用实训报告

桂林电子科技大学信息科技学院《EDA技术及应用》实训报告 学号1252100301 姓名 指导教师:覃琴 2014年4 月29 日

实训题目:数字日历电路 1 系统设计 1.1 设计要求 1.1.1 设计任务 (1)用Verilog HDL语言设计出能够在EDA实训仪的I/O设备和PLD芯片实现的数字日历。 (2)数字日历能够显示年、月、日、时、分和秒。 (3)用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒,即在一定时间段内显示年、月、日(如20140101),然后在另一时间段内显示时、分、秒(如010101099),两个时间段能自动倒换。 (4)数字日历具有复位和校准年、月、日、时、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时。 (5)体现创新部分 1.1.2 性能指标要求 1)数字电路能够在一定的时间内显示切换的功能,并且能手动校准年月日和时分秒 2)具有复位和进位的功能 3)能起到提示的作用,如闹钟或亮彩灯等。 1.2 设计思路及设计框图 1.2.1设计思路 如图1.2.2所示 1) EDA实训箱上的功能有限,可以用到的有8支数码管和12个lED灯。年、月、日和时、分、秒可以通过数码管显示,年月日和时分秒的切换可以通过拨动开关控制,校正可以通过按键实现。 2)输入的秒脉冲由DEA实训仪上的20MHZ晶振经过分频得到,秒脉冲经过60分频后产生1分钟脉冲信号,在经过60分频后产生1小时的脉冲信号,最后进行24分频,得到1天的脉冲送24进制的 cout输出。在将两个60分频和一个24分频的输出送到送到数码管的译码器输入端,得到24小时的计时显示结果。由此得到数字日历的计时器模块。

EDA实习报告

Added Component: Designator=C1(RAD-0.3) Added Component: Designator=C2(RAD-0.3) Added Component: Designator=D1(DIP2) Added Component: Designator=DS?(DSO-F2/D6.1) Added Component: Designator=DS?(LED-1) Added Component: Designator=L1(INDC1005-0402) Added Component: Designator=P1(HDR1X3) Added Component: Designator=Q1(BCY-W3/B.8) Added Component: Designator=Q2(BCY-W3/B.8) Added Component: Designator=R1(AXIAL-0.3) Added Component: Designator=R2(AXIAL-0.3) Added Component: Designator=ui(DIP8) Added Pin To Net: NetName=GND Pin=C1-1 Added Pin To Net: NetName=GND Pin=C2-1 Added Pin To Net: NetName=GND Pin=R1-1 Added Pin To Net: NetName=GND Pin=R2-1 Added Pin To Net: NetName=GND Pin=ui-3 Added Net: Name=GND Added Pin To Net: NetName=NetC1_2 Pin=C1-2 Added Pin To Net: NetName=NetC1_2 Pin=L1-1 Added Pin To Net: NetName=NetC1_2 Pin=P1-3 Added Net: Name=NetC1_2 Added Pin To Net: NetName=NetC2_2 Pin=C2-2 Added Pin To Net: NetName=NetC2_2 Pin=D1-2

《EDA技术与应用》A卷及答案

汕头大学成人教育学院二0一0年春季学期期末考试试卷 试卷编号:A卷闭卷课程名称:《EDA技术与应用》班级专业: 姓名:学号: 一、填空题(20分,每小题1分) 1.VHDL的中文名称是__超高速集成电路硬件描述语言_____________。 2.用EDA技术进行电子系统设计的目标是最终完成 asic________ 的设计与实现。 3.可编程器件分为 fpga__ 和 _cpld______ 。 4.标准逻辑位数据类型常用的数值有 _1__ 、 __0_ 、 _z__ 等。 5.在VHDL语言中可以使用的数据类型有: _位____ 、 __标准逻辑位__________、 ___布尔_____。 6.完整的条件语句将产生 _组合_______ 电路,不完整的条件语句将产生 __时序______ 电路。 7.信号的赋值符号为 <= ___ 变量的赋值符号为 =___ 。 8.随着EDA技术的不断完善与成熟, ___自顶向下______的设计方法更多的被应用于VHDL 设计当中。 9.EDA设计过程中的仿真有三种,它们是___行为_____ 仿真、 _逻辑______ 仿真和 __ 时序____ 仿真。 10.目前国际上较大的PLD器件制造公司有 __altera________ 和 ___xilinx______ 公 司。 二、简答题(20分,每小题4分) 1、与HDL文本输入法相比较,原理图输入法有何优点?

2、写出结构体的一般语言格式并说明其作用 3、信号和变量的区别? 4、写出PROCESS语句结构的一般表达格式。 5、写出五种以上的VHDL的预定义数据类型。 三、程序注解(20分,每空1分) library ieee; __________ use ieee.std_logic_1164.all; _____________ ENTITY aa1 is ________ __ port(a,b,s:in bit; _______________________________

eda实验报告

一位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity adder is port(a,b,cin:in std_logic; co,so:out std_logic); end adder; architecture Behavioral of adder is signal temp1,temp2:std_logic; begin temp1<= a xor b; temp2<= temp1 and cin; so<= temp1 xor cin; co<= temp2 OR (a AND b); end Behavioral; 四位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity counter10 is

EDA技术基础实验报告

EDA技术基础实验报告 学院:信息科学与技术学院 班级: 姓名: 学号:

实验一 MAX—plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单; 4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,就本套实验设备做一个简单的介绍。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果只是进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,

EDA课后问题详解(适用于朱正伟《EDA技术及应用》)

1.1、设计集成计数器74161,设计要求如下: 4-BIT BINARY UP COUNTER WITH SYNCHRONOUS LOAD AND ASYNCHRONOUS CLEAR NOTE INPUTS: CLK LDN CLRN D C B A OUTPUTS:QD QC QB QA RCO *RCO = QD & QC & QB & QA LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS PORT( CLK,LDN,CLRN : IN STD_LOGIC; D,C,B,A : IN STD_LOGIC; CARRY : OUT STD_LOGIC; QD,QC,QB,QA : OUT STD_LOGIC ); END; ARCHITECTURE A OF CNT4 IS SIGNAL DATA_IN: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN DATA_IN<=D&C&B&A; PROCESS(DATA_IN,CLK,LDN,CLRN) V ARIABLE CNT:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLRN='0' THEN CNT:=(OTHERS=>'0'); ELSIF CLK'EVENT AND CLK='1' THEN IF LDN='0' THEN CNT:=DATA_IN; ELSE CNT:=CNT+1; END IF; END IF; CASE CNT IS WHEN "1111"=> CARRY<='1'; WHEN OTHERS=> CARRY<='0'; END CASE; QA<=CNT(0); QB<=CNT(1); QC<=CNT(2); QD<=CNT(3); END PROCESS; END A; 1.2、设计一个通用双向数据缓冲器,要求缓冲器的输入和输出端口的位数可以由参数决定。 设计要求:N BIT数据输入端口A,B。工作使能端口EN=0时双

相关文档
最新文档