文档库 最新最全的文档下载
当前位置:文档库 › EDA作业1-秒表

EDA作业1-秒表

EDA作业1-秒表
EDA作业1-秒表

EDA作业一--秒表循环

一、设计任务及要求

1. 设计数码管显示的秒表。

2. 能够准确的计时并显示。

3. 开机显示00.00.00。

4. 用户可以随时清零、暂停、计时。

5. 最大记时59.59.99分钟,最小精确到0.01秒。

二、设计总体框图

秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止,并对计时器清零。具体框图见附录一。

三、硬件电路设计与程序设计

本设计采用模块化设计,共分为顶层文件、控制毫秒模块(msecond)、控制秒模块(second)、控制分钟模块(minute)、LED模块(alert)、数码管扫描模块(zhishi)、分频器模块(fenpin)六个模块。其中LED模块可以去掉,不影响秒表正常运行以下对各个模块一一描述。

1、分频器模块

系统的输入时钟为4100HZ,用来驱动显示电路;同时输入时钟通过41分频,可以产生100HZ的频率来驱动计数电路,即为0.01秒,程序见附录二。

2.控制毫秒模块

对这个功能模块用一个进程语句描述。clk、reset和调秒的setsec(暂停\启动)为输入信号程序见附录二。

3.控制秒模块

程序见附录二

4.控制分模块

程序见附录二

5.数码管模块

该模块的功能是选择个计数端口来的数据,当相应的数据到来时数据选择器选择器数据后输出给数码管,并由数码管显示。程序见附录二

四、编译仿真

下面使用Quartus II对本设计进行编译和仿真。首先创建工程,使用文本编辑器输入本设计的所有模块的源程序,把G-1DE.vhd设为顶层文件。把本设计中的所有设计文件添加进工程后,先对每个模块进行编译纠错,然后把各个模块连接在一起保存然后在全程编译,通过之后就可以进行仿真。先进行软件仿真每一部分的仿真从略,下面只说明系统的整体仿真波形。系统工作时的仿真波形附录三所示。

五、心得体会

通过两周的努力,课程设计任务终于完成了,如果老师不给我们框架的话,我想就算给我两周的时间我也不可能做的出来.通过这次课程设计,对VHDL的语言有了更深刻的认识,对课题设计的基本流程有了一定的认识,同时也是一次把原来所学的书本知识和实践相联系的过程。并通过实践,建立起了学习EDA的浓厚兴趣。在设计中也深刻体会到了团队精神的重要性!此次设计是一个人完成的,真的花费了很大经历。团结协作是我们实习成功的一项非常重要的保证。对EDA 的设计平台QuartusⅡ有了熟练的使用。掌握了本次设计所用的EDA试验箱用法,为以后更好的学习EDA打下了基础。

通过这次课程设计,我意识到了我对这门课掌握还有一定的不足,还有许多的知识我不了解;有的是一知半解;有的即使原理懂了,但在应用方面却是丝毫不知。所以在今后的学习中,我会更加努力,不仅要学好理论知识,还要把它应用到实践中去,使两者很好的结合起来,互补互助。

附录1:原理图

附录2:程序

一、分频器

LIBRARY ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

ENTITY fenpin IS

port (

clk : IN STD_LOGIC;

newclk : OUT STD_LOGIC);

END entity fenpin ;

ARCHITECTURE fun OF fenpin IS

signal enter: integer;

begin

process(clk)is

begin

if clk?event and clk=?1? then

if enter=40 then enter<=0;

else enter<=enter+1;

end if;

end if;

end process;

process(enter)is

begin

if enter=40 then newclk<=?1?;

else newclk<=?0?;

end if;

end process;

end fun;

二、毫秒模块:

LIBRARY ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

ENTITY msecond IS

port(

clk, reset,setsec : IN STD_LOGIC;

ensec : OUT STD_LOGIC;

daout: OUT std_logic_vector (7 downto 0));

END entity msecond ;

ARCHITECTURE fun OF msecond IS

SIGNAL count: STD_LOGIC_VECTOR( 7 downto 0);

begin

daout <= count;

process ( clk , reset , setsec )

begin

if (reset=?0?) then

count <= “00000000”;

elsif (setsec =?0?) then

elsif (clk …event and clk=?1?) then

if (count(3 downto 0)=”1001”) then

if (count <16#A0#) then

if (count=”10011001”) then

ensec <=?1?;

count<=”00000000”;

ELSE

count<=count+7;

end if;

else

count<=”00000000”;

end if;

elsif (count < 16#A0#) then

count <= count+1;

ensec <=?0?;

else

count<=”00000000”;

end if;

end if;

end process;

END fun;

三、秒模块:

LIBRARY ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

ENTITY second IS

port(

clk, reset,setsec : IN STD_LOGIC;

enmin : OUT STD_LOGIC;

daout: out std_logic_vector (6 downto 0));

END entity second ;

ARCHITECTURE fun OF second IS

SIGNAL count: STD_LOGIC_VECTOR( 6 downto 0);

begin

daout <= count;

process ( clk,reset,setsec )

begin

if (reset=?0?) then

count <= “0000000”;

elsif (setsec =?0?) then

elsif (clk? event and clk=?1?) then

if (count(3 downto 0)=”1001”) then

if (count <16#60#) then

if (count=”1011001”) then

enmin <=?1?;

count<=”0000000”;

ELSE

count<=count+7;

end if;

else

count<=”0000000”;

end if;

elsif(count <16#60#) then

count <= count + 1;

enmin <=?0?;--

else

count<=”0000000”;

end if;

end if;

end process;

END fun;

四、分钟模块

LIBRARY ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

ENTITY minute IS

port(

clk, reset,setmin : IN STD_LOGIC;

daout: out std_logic_vector (6 downto 0)); END entity minute;

ARCHITECTURE fun OF minute IS

SIGNAL count: STD_LOGIC_VECTOR( 6 downto 0);

begin

daout <= count;

process ( clk,reset,setsec )

begin

if (reset=?0?) then

count <= “0000000”;

elsif (setmin =?0?) then

elsif (clk? event and clk=?1?) then

if (count(3 downto 0)=”1001”) then

if (count <16#60#) then

if (count=”1011001”) then

count<=”0000000”;

else

count<=count+7;

end if;

else

count<=”0000000”;

end if;

elsif(count <16#60#) then

count <= count + 1;

else

count<=”0000000”;

end if;

end if;

end process;

END fun;

五、数码管模块

LIBRARY ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

ENTITY zhishi IS

port

(clk1, reset: IN STD_LOGIC;

msec,sec : IN STD_LOGIC_VECTOR(6 downto 0);

minute : in std_logic_vector (6 downto 0);

daout : OUT STD_LOGIC_vector (3 downto 0);

sel : out std_logic_vector ( 2 downto 0)); END zhishi;

ARCHITECTURE fun OF zhishi IS

SIGNAL count: STD_LOGIC_vector ( 2 downto 0);--?

begin

sel <= count;

process ( clk1,reset)

begin

if (reset =?0?) then

count <= “000”;

elsif (clk1 …event and clk1=?1?) then

if ( count >= “101”) then

count <= “000”;

else

count <= count + 1;

end if;

end if;

case count is

when “000” => daout <= msec(3 downto 0);--?

when “001” => daout(3) <= …0?;

daout(2 downto 0) <=msec (6 downto 4);

when “010” => daout <= sec (3 downto 0);

when “011” => daout(3) <= …0?;

daout(2 downto 0) <= sec (6 downto 4);

when “100” => daout <= minute (3 downto 0);

when o thers => daout(3) <= …0?;

daout(2 downto 0) <= minute(6 downto 4);

end case;

end process;

end fun;

附录3:仿真波形

西安电子科技大学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实验报告

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 触发器

基于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技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号: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实训报告总结

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

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

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实验报告

一位全加器 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技术及应用》实训报告 学号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实验报告三(3-8译码器的设计)

实验三:3-8译码器的设计 一、实验目的 1、学习Quartus II 7.2软件设计平台。 2、了解EDA的设计过程。 3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。 4、学习和掌握3-8译码器的工作和设计原理。 5、初步掌握该实验的软件仿真过程。 二、实验仪器 PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。 三、实验步骤 1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示 在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。 2、新建设计文本文件,在file中选择new,出现如下对话框:

选择VHDL File 点击OK。 3、文本输入,在文本中输入如下程序代码:library ieee; use ieee.std_logic_1164.all; entity variable_decoder is port(A:in STD_LOGIC; B:in STD_LOGIC; C:in STD_LOGIC; Y:out STD_LOGIC_VECTOR(7 downto 0)); end variable_decoder; architecture rtl of variable_decoder is begin process(A,B,C) variable COMB:std_logic_vector(2 downto 0); begin COMB:=C&B&A; case COMB is when "000"=>Y<="11111110"; when "001"=>Y<="11111101"; when "010"=>Y<="11111011"; when "011"=>Y<="11110111"; when "100"=>Y<="11101111"; when "101"=>Y<="11011111";

EDA实验报告

实验报告 课程名称_verilog数字系统设计 __ 学生学院信息工程学院 专业班级13级应用电子专业4班 学号3113002512 姓名陈文威 指导教师罗思杰 2015年11月9 日

实验一简单组合逻辑电路的设计 一、实验要求 1、用verilog HDL语言描写出简单的一位数据比较器及其测试程序 2、用测试程序对比较器进行波形仿真测试;画出仿真波形 3、总结实验步骤和实验结果 二、实验原理与内容 这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0,。在verilog HDL中,描述组合逻辑时常用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: //--------------------compare--------- module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule 测试模块用于检测模块设计的正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。 测试模块源代码: `timescale 1ns/1ns module comparetest; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 $stop; end

EDA实验报告

EDA实验报告姓名小红帽

实验一单级放大电路的设计与仿真 一.实验目的 1.掌握放大电路静态工作点的调整和测试方法 2.掌握放大电路的动态参数的测试方法 3.观察静态工作点的选择对输出波形及电压放大倍数的影响 二.实验内容 1.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(峰值10mV) ,负载电阻5.1k Ω,电压增益大于50。 2.调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。 3.调节电路静态工作点(调节电位计),使电路输出信号不失真,并且幅度最大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和 、r be、r ee值; ③电路的输入电阻、输出电阻和电压增益; ④电路的频率响应曲线和f L、f H值。 三.实验电路图 四.实验过程 1.饱和失真和截止失真 a.饱和失真

调节滑动变阻器,并不断观察输出端示波器上的波形,在滑动变阻器划片位于0%的位置时可以观察到饱和失真的波形,如下图所示: 对应的静态工作点为: Uce=0.65V,Ube=0.15V b.截止失真 调节滑动变阻器,并不断观察输出端示波器上的波形,在滑动变阻器划片位于100%的

位置时可以观察到截止失真的波形,如下图所示: 如图所示的是电路出现截止失真时的输出波形,可以看出波形的正半周明显比负半周要扁平且幅度要小,可以认为波形出现了截止失真。由于此次试验的信号源的峰值较低,所以并没有预期的明显,经试验,只要加大峰值就可以获得非常明显的失真波形。 对应的静态工作点为: Uce=7.58V,Ube=0.62mV

EDA实验报告

实验一:QUARTUS II 软件使用及 组合电路设计仿真 实验目的: 学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL源文件的设计与波形仿真等基本内容。 实验内容: 1.四选一多路选择器的设计 基本功能及原理: 选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)与s(1)及一个信号输出端y。当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。 逻辑符号如下: 程序设计:

软件编译: 在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的就是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。 仿真分析: 仿真结果如下图所示 分析: 由仿真图可以得到以下结论:

当s=0(00)时y=a;当s=1(01)时y=b;当 s=2(10)时y=c;当s=3(11)时y=d。符合我们最开始设想的功能设计,这说明源程序正确。 2.七段译码器程序设计 基本功能及原理: 七段译码器就是用来显示数字的,7段数码就是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理与运算都就是2进制的,所以输出表达都就是16进制的,为了满足16进制数的译码显示,最方便的方法就就是利用VHDL译码程序在FPGA或CPLD中实现。本项实验很容易实现这一目的。输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。 数码管的图形如下 七段译码器的逻辑符号: 程序设计:

EDA实验报告(DOC)

西华大学实验报告(理工类) 开课学院及实验室: 电气与电子信息信息学院 实验时间 : 年 月 日 一、实验目的 1.熟习Quartus II 软件的使用; 2. 掌握用原理图输入法和硬件描述语言(Verilog HDL )两种方法来设计逻辑电路; 3. 对设计电路作硬件验证; 二、实验原理 1.用原理图输入法来设计一个半加器电路 参照图1-1(P57)来完成一个半加器电路的设计,其中a 、b 为一位的加数与被加数信号,he 、jw 分别为和与进位信号。存盘仿真后,观察仿真波形,并用硬件验证电路的功能。 图1-1 半加器电路原理图 2. Quartus II 软件目前版本已达到10.0以上,但对于初学者来说采用6.0或7.1版本最为适合。6.0与7.1版本相比更稳定,因此本实验采用Quartus II 6.0,而7.1版本界面与6.0非常相似,学会6.0版本的使用也就学会了7.1版本的使用。 3. Quartus II 软件设计电路流程: (1)新建一个工程: 每设计一个电路就必须新建一个工程!所有的设计文件都装在工程目录中,并由软件管理。 (2)设计输入:

告诉软件你要设计的电路是什么。 A.原理图设计方法-----用原理图编辑器画出电路图。 B.本文输入-----用文本编辑器采用硬件语言描述电路(电路主流设计方式)。 (3)编译 将设计电路的功能与PLD芯片结合,并提取出仿真所需的时序参数。 (4)仿真 软件验证电路功能是否实现。 (5)编程、配置与硬件测试 用下载电缆完成器件的编程与配置,做硬件测试。 原理图输入法设计半加器电路与描述语言设计3-8译码器区别在于流程的第二步设计输入。 三、实验设备、仪器及材料 电脑、EDA软件(Quartus II)、实验箱、下载电缆、连接导线。 四、实验步骤(按照实际操作过程) (一)用原理图输入法完成半加器的设计步骤: 1.新建一个工程:(必须完成这一步骤) (1)进入Windows 操作系统,双击Quartus II图标,启动软件。 (2)单击File \ New Project Wizard菜单,出现对话框点击next。在界面中相应位置中输入文件名路径与 设计工程的名字,最后点击finish,完成设计工程建立。 (3)在点击Assignment \ Device菜单,出现如下对话框,点击选择器件(本设计选用EPF10K10)。 2.在原理图设计输入 (1)点击菜单File \ New,选择Block Diagram/Schematic File,点OK,启动原理图编辑器。 (2)画出半加器原理图 a. 在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。依次 放置1个两输入端与门(and2)、1个异或门(xor)2个输入端口(input)、1个输出端口(output)在原理图上; b. 添加连线到器件的管脚上把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右 键拖动,即可画出连线, 参照图1-1连好相应元件的输入、输出脚。 c. 更改信号名 双点输入、输出管脚,在对话框中改信号名 d.保存原理图 单击保存按钮,以默认名保存。 3.编译 (1)点击菜单栏上红色箭头所指的工具图标,完成编译。 (2)锁定管脚再编译 点击Assignment \ Pins菜单。从图中可以看到信号a, b, he, jw,这些信号在硬件测试之前,必须与管脚锁定。以锁定a信号管脚为例,双击a信号对应Location一栏,出现IO管脚选择列,选择PIN_16。 信号a就被锁在了芯片第16管脚上了。按一样的方法将b,he,jw锁在空闲的IO口上。信号锁定到管

EDA实训报告.doc

设计报告 课程名称在系统编程技术任课教师查长军 设计题目电子钟 班级11通信1班 姓名郭丽丽 学号1105021006 日期2014-6-25

目录 一、题目分析 (1) 1、总体方框图: (1) 2、设计指标: (1) 3、功能要求: (1) 二、选择方案 (1) 三、细化框图 (2) 四、编写应用程序并仿真 (2) 1、秒计数器 (2) 2、分钟计数器 (3) 3、时钟计数器 (4) 4、整点报时模块 (4) 五、全系统联调,画出整机电路,波形图等 (5) 1、数字时钟系统总原理图 (5) 2、数字时钟系统波形图仿真 (5) 六、硬件测试及说明。 (5) 1、各部分引脚图 (6) 七、结论 (6) 1、实验调试结果分析 (6) 八、课程总结 (6) 九、参考文献目录 (7) 十、附录(源程序) (7) 1、小时计数器VHDL语言源程序(底层文件) (7) 2、分钟计数器VHDL语言源程序(底层文件) (8) 3、秒钟计数器VHDL语言源程序(底层文件) (9) 4、整点报时报警模块VHDL语言源程序(底层文件) (10)

一、题目分析 2、设计指标: (1)时间以 24 小时为一个周期; (2)显示时、分、秒; (3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)计时过程具有报时功能,当时间到达整点进行蜂鸣报时并延时2秒。 3、功能要求: 1.时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分 60 进制计数,即从 0 到 59 循环计数,对时 24 进制计数,即从 0 到 23 循环计数。 2.时间设置:手动调节分钟(setfen)、小时(setshi),高定平时有效,可以对分、时进行进位调节,低电平时正常计数。这样可以对所设计的时钟的时间任意调。 3.清零功能:reset 为复位端,低电平时实现清零功能,高电平时正常计数。这样可以对所设计的时钟的时间进行清零处理。 4.整点报时功能:当分由 59 进位时,会在整点报时输出端输出高电平,此信号可以通过 LED 点亮检验。 二、选择方案 要求:根据总体方框图及各部分分配的技术指标(或功能)找出可实现的不同方案。从

EDA实践报告

东北石油大学EDA技术实践课程设计 2015年7月31日

EDA技术实践课程设计任务书 课程EDA技术实践课程设计 题目数字频率计设计 专业电气工程及其自动化姓名学号 主要内容: 频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T。用中小规模数字集成电路和半导体显示器件实现以下技术指标:频率测量范围:10~9999Hz 输入电压幅度:300mV~3V 输入信号波形:任意周期信号 显示位数:4位 电源:220V50Hz 主要参考资料: [1]尹常永.《EDA技术与数字系统设计》[M].西安电子科技大学出版社,2004.8 [2]潘松、王国栋.《VHDL应用教程》[M].电子科技大学出版社,2000. [3] 阎石.《数字电子技术基础》第四版[M].高等教育出版社出版社,2006. [4]刘爱荣.《EDA技术与CPLD/FPGA开发应用简明教程》[M].清华大学出版社,2007. [5]甘历.《VHDL应用于开发实践》[M].科学出版社,2003. 完成期限2015.7.27——2015.7.31 指导教师 专业负责人 2015年7 月27日

目录 1 介绍 (1) 2 技术性能指标 (2) 3 频率计的设计原理 (2) 3.1 频率计测量频率的设计原理 (2) 3.2 频率计测量周期的原理 (2) 4 频率计的模块设计 (3) 4.1 四位十进制计数器模块 (3) 4.2 控制模块设计 (7) 4.3 锁存器模块 (8) 5 频率计测量频率的电路图和仿真波形 (9) 6 总结 (11) 参考文献 (12)

eda实验报告

EDA技术与VHDL 实验报告 电气工程系 电子信息工程

实验一:1位全加器设计 实验目的: 1.学习QuartusII9.1集成开发环境的使用方法以及如何建立工程和文件; 2.用原理图输入设计法和VHDL 文本输入设计法设计1位全加器; 3.通过电路仿真和硬件验证,进一步了解1位全加器的功能 实验内容: 用原理图输入设计法和VHDL 文本输入设计法分别设计1位全加器,并下载到CH4实验箱上运行。 实验原理:1位全加器可以由两个半加器和一个或门连接而成,因而可根据半加器的电路(如 图3-1所示)或真值表写出或门和半加器的VHDL 描述。然后根据图3-2写出全加器的顶层描述。 I113co a so b 1 0101 0110001 100co so b a not xnor2 and2 图3-1 半加器h_adder 电路图及其真值表 I113 ain cout cout ain bin sum cin bin sum cin f_adder or2a f e d u3u2u1b a c co so B co so B h_adder A h_adder A 图3-2 全加器f_adder 电路图及其实体模块 实验步骤: 1.打开实验箱电源; 2.输入移位寄存器VHDL 程序; 3.点击 图标,进行分析和综合; 4. 建立波形文件,进行功能仿真; 5.按接线图配置FPGA 引脚; 6.点击图 标,进行编译; 7.下载****.sof 配置文件到EP3C16Q240C8中; 1 半加器的vhdl 描述有两种,我用的是下面这种,布尔函数描述法: (1)布尔函数描述方法的VHDL 源程序如下: LIBRARY IEEE; --半加器描述(1):布尔方程描述方法 USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC);

相关文档