文档库 最新最全的文档下载
当前位置:文档库 › EDA实验报告

EDA实验报告

EDA实验报告
EDA实验报告

EDA 实验

实验一 用原理图输入法设计半加器

一、实验目的:

1.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路;

2.通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程;

3.学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。

二、实验器材:

1、计算机及操作系统

2、QUARTUS II 软件

三、实验要求:

1. 利用原理图输入法对半加器电路进行描述;

2. 进行波形仿真测试;

3. 严格按照实验步骤进行实验;

4. 管脚映射按照芯片的要求进行。

四、实验原理

其中a, b 为输入端口,So 与Co 分别为半加器

和与进位。其逻辑表达式为:

2. 根据逻辑表达式进行原理图输入。

五、实验步骤:

1. 为本项工程设计建立文件夹。注意文件夹

名不能用中文,且不可带空格。

2. 输入设计项目并存盘。

3. 将设计项目设计为工程文件。

4. 选择目标器件并编译。

b a b a b a So ⊕=+=ab Co =

5. 时序仿真。

6. 引脚锁定。

7. 编程下载。

实验二用原理图法设计一位、四位全加器

一、实验目的:

1. 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路;

2. 通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程;

3. 学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。

二、实验器材:

1、计算机及操作系统

2、QUARTUS II软件

三、实验要求:

1.利用原理图输入法对一位全加器电路进行描述;

2. 进行波形仿真测试;

3. 严格按照实验步骤进行实验;

四、实验原理:

利用实验一所设计的半加器设计一位全加器;利用设计封装好的一位全加器进行四位全加器的设计。

五、实验步骤:

与实验一相同。

六、实验报告:

1. 要求画出一位、四位全加器的真值表;

2. 分析用半加器实现一位全加器的优点;

3. 对波形进行分析,并绘制波形图。

实验三用文本输入法设计D触发器和锁存器

一、实验目的:

1. 熟悉QuartusⅡ的VHDL 文本设计过程。

2. 学习简单时序电路的设计、仿真和硬件测试。

二、实验器材:

1、计算机及操作系统

2、Quartus II软件

三、实验要求:

1.利用文本输入法对D触发器和锁存器电路进行描述;

2.进行波形仿真测试;

3.严格按照实验步骤进行实验;

四、实验原理:

1. D 触发器的设计

设计源程序如下所示:

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 DFF1 ;

ARCHITECTURE BHV OF DFF1 IS

SIGNAL Q1 : STD_LOGIC;

BEGIN

PROCESS (CLK)

BEGIN

IF CLK’EVENT AND CLK = ‘1’

THEN Q1 <= D ;

END IF ;

END PROCESS ;

Q <= Q1 ;

END BHV ;

2.锁存器的设计

设计源程序如下:

LIBRARY IEEE;

USE IEEE. STD_LOGIC_1164. ALL;

ENTITY DFF2 IS

PORT (CLK: IN STD_LOGIC ;

D: IN STD_LOGIC ;

Q: OUT STD_LOGIC ) ;

END DFF2 ;

ARCHITECTURE BHV OF DFF2 IS

BEGIN

PROCESS (CLK, D)

BEGIN

IF CLK = ‘1’

THEN Q <= D ;

END IF;

END PROCESS;

EDN BHV;

五、实验步骤:

与原理图输入法的步骤基本相同。

六、实验报告:

分析两个实验的仿真和测试结果,说明这两个电路的异同点。

实验四含异步清0和同步时钟使能的4位加法计数器

一、实验目的:

学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二、实验器材:

1、计算机及操作系统

2、QUARTUS II软件

三、实验要求:

1.利用文本输入法对含异步清0和同步时钟使能的4位加法计数器进行描述;

2.进行波形仿真测试;

3.严格按照实验步骤进行实验;

四、实验原理

实验图中含计数使能、异步复位和计数值并行预置功能4位加法计数器

图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3..0]是4位数据输入端。当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将"0000"加载于锁存器。

建议选“实验电路模式5”,用键8(PIO7)控制RST;用键7(PIO6)控制ENA;

计数溢出COUT接发光管D8(PIO15);OUTY是计数输出,接数码1(PIO19-PIO16,低位靠右);时钟CLK接clock0,通过短路帽选择4Hz信号。引脚锁定窗后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。

参考程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT4B IS

PORT (CLK : IN STD_LOGIC;

RST : IN STD_LOGIC;

ENA : IN STD_LOGIC;

OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

COUT : OUT STD_LOGIC );

END CNT4B;

ARCHITECTURE behav OF CNT4B IS

SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

P_REG: PROCESS(CLK, RST, ENA)

BEGIN

IF RST = '1' THEN CQI <= "0000";

ELSIF CLK'EVENT AND CLK = '1' THEN

IF ENA = '1' THEN CQI <= CQI + 1;

END IF;

END IF;

OUTY <= CQI ;

END PROCESS P_REG ; --进位输出

COUT<=CQI(0) AND CQI(1) AND CQI(2) AND CQI(3);

END behav;

五、实验步骤:

在QuartusⅡ上进行编程、编译、综合、适配和仿真。

六、实验报告:

将实验原理、设计过程、编译仿真波型和分析结果、硬件测试实验结果写进实验报告。

实验五 7段数码显示译码器设计

一、实验目的:

1. 学习7段数码显示译码器设计;

2. 学习VHDL的多层次设计方法。

二、实验器材:

1、计算机及操作系统

2、QUARTUS II软件

三、实验要求:

1.利用文本输入法对7段数码显示译码器进行描述;

2.进行波形仿真测试;

3.严格按照实验步骤进行实验;

4.管脚映射按照芯片的要求进行。

四、实验原理:

7段数码显示译码器是纯组合电路,数字系统中的数据处理和运算是二进制的,输出表达式都是十六进制的,为满足十六进制数的译码显示,利用译码程序在FPGA中实现。

图1 共阴极数码管及其电路

源程序中,输出信号LED7S的为分别接如图1所示的数码管的7个段,高位在左,低位在右。源程序如下所示:

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DecL7S IS

PORT ( A:IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;

LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END ;

ARCHITECTURE one OF DecL7S IS

BEGIN

PROCESS( A )

BEGIN

CASE A(3 DOWNTO 0) IS

WHEN "0000" => LED7S <= "0111111" ; -- X“3F” 0

WHEN "0001" => LED7S <= "0000110" ; -- X“06” 1

WHEN "0010" => LED7S <= "1011011" ; -- X“5B”?2

WHEN "0011" => LED7S <= "1001111" ; -- X“4F”?3

WHEN "0100" => LED7S <= "1100110" ; -- X“66”?4

WHEN "0101" => LED7S <= "1101101" ; -- X“6D”?5

WHEN "0110" => LED7S <= "1111101" ; -- X“7D”?6

WHEN "0111" => LED7S <= "0000111" ; -- X“07”?7

WHEN "1000" => LED7S <= "1111111" ; -- X“7F”?8

WHEN "1001" => LED7S <= "1101111" ; -- X“6F”?9

WHEN "1010" => LED7S <= "1110111" ; -- X“77”?10

WHEN "1011" => LED7S <= "1111100" ; -- X“7C”?11

WHEN "1100" => LED7S <= "0111001" ; -- X“39”?12

WHEN "1101" => LED7S <= "1011110" ; -- X“5E”?13

WHEN "1110" => LED7S <= "1111001" ; -- X“79”?14

WHEN "1111" => LED7S <= "1110001" ; -- X“71”?15

WHEN OTHERS => NULL ;

END CASE ;

END PROCESS ;

END ;

引脚锁定以及硬件下载测试。建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。注意,在仿真中,4位输入A必须用总线方式给数据。

五、实验报告

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程。

实验六状态机对ADC0809的采样控制电路实现

一、实验目的:

学习用状态机对A/D转换器ADC0809的采样控制电路的实现。

二、实验器材:

1、计算机及操作系统

2、QUARTUS II软件

三、实验要求:

1.利用状态机队ADC0809的采样控制电路进行描述;

2.进行波形仿真测试;

3.严格按照实验步骤进行实验;

四、实验原理

ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的分辨率为8位,转换时间约100us,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电。

主要控制信号说明:如图所示,START是转换启动信号,高电平有效;ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。当模拟量送至某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号(类似于AD574的STATUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。至此ADC0809的一次转换结束了。

实验源程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ADCINT IS

PORT ( D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); --0809的8位转换数据输出

CLK ,EOC: IN STD_LOGIC; --CLK是转换工作时钟

LOCK1, ALE, START, OE, ADDA : OUT STD_LOGIC;

Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END ADCINT;

ARCHITECTURE behav OF ADCINT IS

TYPE states IS (st0, st1, st2, st3,st4,st5,st6) ;--定义各状态子类型

SIGNAL current_state, next_state: states :=st0 ;

SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL LOCK : STD_LOGIC;;-- 转换后数据输出锁存时钟信号

BEGIN

ADDA <= '1'; LOCK1 <=LOCK;

PRO: PROCESS(current_state,EOC)

BEGIN --规定各状态转换方式

CASE current_state IS

WHEN st0 => ALE<=‘0’;START<=‘0’;OE<=‘0’;LOCK<=‘0’ ;

next_state <= st1;

WHEN st1 => ALE<=‘1’;START<=‘0’;OE<=‘0’;LOCK<=‘0’ ;

next_state <= st2;

WHEN st2 => ALE<=‘0’;START<=‘1’;OE<=‘0’;LOCK<=‘0’ ;

next_state <= st3;

WHEN st3 => ALE<=‘0’;START<=‘0’;OE<=‘0’;LOCK<=‘0’;

IF (EOC=‘1’) THEN next_state <= st3; --测试EOC的下降沿

ELSE next_state <= st4;

END IF ;

WHEN st4=> ALE<=‘0’;START<=‘0’;OE<=‘0’;LOCK<=‘0’; ;

IF (EOC='0') THEN next_state <= st4; --测试EOC的上升沿,=1表明转换结

ELSE next_state <= st5; --继续等待

END IF ;

WHEN st5=> ALE<='0';START<='0';OE<='1';LOCK<='0';next_state <= st6;

WHEN st6=> ALE<='0';START<='0';OE<='1';LOCK<='1';next_state <= st0; WHEN OTHERS => ALE<='0';START<='0';OE<='0';LOCK<='0';next_state <= st0;

END CASE ;

END PROCESS PRO ;

PROCESS (CLK)

BEGIN

IF ( CLK'EVENT AND CLK='1') THEN

current_state <= next_state; -- 在时钟上升沿,转换至下一状态

END IF;

END PROCESS; -- 由信号current_state将当前状态值带出此进程,进入进程

PRO

PROCESS (LOCK) -- 此进程中,在LOCK的上升沿,将转换好的数据锁入

BEGIN

IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ;

END IF;

END PROCESS ;

Q <= REGL;

END behav;

五、实验报告

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程。

实验七 8位数码扫描显示电路设计

一、实验目的

本实验让学生学习硬件扫描显示电路的设计。

二、实验原理

下图是8位数码扫描显示电路,其中每个数码管的8个段:h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1、k2、 (8)

选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余宣统信号为低电平,这时仅k3对应的数码管显示来自段信号的数据,而其他7个数码管呈现关闭状态。更具这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,随着选通信号的扫描,就能实现扫描显示的目的。

8位数码扫描显示电路

三、实验内容:

1 源程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY SCAN_LED IS

PORT( CLK: IN STD_LOGIC;

SG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

BT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END;

ARCITECTURE ONE OF SCAN_LED IS

SIGNAL CNT8: STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL A: INTEGER RANGE 0 TO 15;

BEGIN

P1: PROCESS(CNT8)

BEGIN

CASE CNT8 IS

WHEN “000” => BT <= “000000001” ; A<= 1 ; WHEN “000” => BT <= “000000010” ; A<= 3 ;

WHEN “000” => BT <= “000000100” ; A<= 5 ;

WHEN “000” => BT <= “000001000” ; A<= 7

WHEN “000” => BT <= “000100000” ; A<= 9 ;

WHEN “000” => BT <= “001000000” ; A<= 11 ;

WHEN “000” => BT <= “010000000” ; A<= 13 ;

WHEN “000” => BT <= “1000000010” ; A<= 15 ;

WHEN OTHERS => NULL;

END CASE;

END PROCESS P1;

P2: PROCESS(CLK)

BEGIN

IF CLK’EVENT AND CLK=’1’ THEN CNT8 <= CNT8+1; END IF;

END PROCESS P2;

P3: PROCESS(A)

BEGIN

CASE A IS

WHEN 0 => SG <= “0111111”;

WHEN 1 => SG <= “0000110”;

WHEN 2 => SG <= “1011011”;

WHEN 3 => SG <= “1001111”;

WHEN 4 => SG <= “1100110”;

WEEN 5 => SG <= “1101101”;

WHEN 6 => SG <= “1111101”;

WHEN 7 => SG <= “0000111”;

WHEN 8 => SG <= “1111111”;

WHEN 9 => SG <= “1101111”;

WHEN10=> SG <= “1110111”;

WHEN11=> SG <= “1111100”;

WHEN12=> SG <= “0111001”

WHEN13=> SG <= “1011110”;

WHEN14=> SG <= “1111001”;

WHEN15=> SG <= “1110001”;

WHEN OTHERS => NULL;

END CASE;

END PROCESS P3;

END;

2 提高部分

修改程序中的进程P1中的显示数据直接给出的方式,增加8个4位锁存器,作为显示数据缓冲器,使得所有8个显示数据都必须来自缓冲器。缓冲器中的数据可以通过不同方式锁存,如来自A/D采样的数据、来自分时锁入的数据、来自串行方式输入的数据,或来自单片机等。

实验八数控分频器的设计

一、实验目的

学习数控分频器的设计、分析和测试方法。

二、实验原理

数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,例6-22的数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可。

三、实验内容

1:根据下图的波形提示,分析源程序中的各语句功能、设计原理、逻辑功能,并详述进程P_REG和P_DIV的作用。

2:输入不同的CLK时钟频率和预置值D,并给出时序波形。

源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY PULSE IS

PORT ( CLK: IN STD_LOGIC;

D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

FOUT: OUT STD_LOGIC );

END;

ARCHITECTURE one OF PULSE IS

SIGNAL FULL : STD_LOGIC;

BEGIN

P_REG: PROCESS(CLK)

VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK = '1' THEN

IF CNT8 = "11111111" THEN

CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8

FULL <= '1'; --同时使溢出标志信号FULL输出为高电平

ELSE CNT8 := CNT8 + 1;--否则继续作加1计数

FULL <= '0'; --且输出溢出标志信号FULL为低电平

END IF;

END IF;

END PROCESS P_REG ;

P_DIV: PROCESS(FULL)

VARIABLE CNT2 : STD_LOGIC;

BEGIN

IF FULL'EVENT AND FULL = '1'

THEN CNT2 := NOT CNT2;--如果溢出标志信号FULL为高电平, D触发器输出取反

IF CNT2 = '1' THEN FOUT <= '1';

ELSE FOUT <= '0';

END IF;

END IF;

END PROCESS P_DIV ;

END;

四、思考题

怎样利用本实验中的源程序给出的模块设计一个电路,使其输出方波的正负脉宽的宽度分别由两个8位输入数据控制?

实验九用状态机实现序列检测器的设计

一、实验目的:

用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。

二、实验原理:

序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。源程序中描述的电路完成对序列数"11100101"的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“B”。

源程序

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY SCHK IS

PORT( DIN,CLK,CLR : IN STD_LOGIC;

AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END SCHK;

ARCHITECTURE behav OF SCHK IS

SIGNAL Q : INTEGER RANGE 0 TO 8 ;

SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

D <= "11100101 " ;

PROCESS( CLK, CLR )

BEGIN

IF CLR = '1' THEN Q <= 0 ;

ELSIF CLK'EVENT AND CLK='1' THEN CASE Q IS

WHEN 0=> IF DIN = D(7) THEN Q <= 1 ; ELSE Q <= 0 ;

END IF;

WHEN 1=> IF DIN = D(6) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ;

WHEN 2=> IF DIN = D(5) THEN Q <= 3 ; ELSE Q <= 0 ; END IF ;

WHEN 3=> IF DIN = D(4) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ;

WHEN 4=> IF DIN = D(3) THEN Q <= 5 ; ELSE Q <= 0 ; END IF ;

WHEN 5=> IF DIN = D(2) THEN Q <= 6 ; ELSE Q <= 0 ; END IF ;

WHEN 6=> IF DIN = D(1) THEN Q <= 7 ; ELSE Q <= 0 ; END IF ;

WHEN 7=> IF DIN = D(0) THEN Q <= 8 ; ELSE Q <= 0 ; END IF ;

WHEN OTHERS => Q <= 0 ;

END CASE ;

END IF ;

END PROCESS ;

PROCESS( Q ) --检测结果判断输出

BEGIN

IF Q = 8 THEN AB <= "1010" ;

ELSE AB <= "1011" ;

END IF ;

END PROCESS ;

END behav ;

提示:若对于D <= "11100101 ",电路需记忆:初始状态、1、11、111 、 1110 、11100、111001、1110010、11100101 共9种状态。

三、实验内容

1:说明源程序的代码表达的是什么类型的状态机,它的优点是什么?详述其功能和对序列数检测的逻辑过程;根据源程序写出由两个主控进程构成的相同功能的符号化moore型有限状态机,画出状态图,并给出其仿真测试波形;

2:利用QuartusII对源程序进行文本编辑输入、仿真测试并给出仿真波形,了解控制信号的时序。

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

目录 第一部分实验开发系统概述及使用说明.............................................................. 1第一章EDA实验系统 ....................................................................................... 1第二章EDA/SOPC实验系统 ............................................................................ 7第二部分实验部分............................................................................................ 10实验一EDA工具基本操作与应用 ........................................................... 10实验二计数器设计..................................................................................... 24实验三串入/并出移位寄存器实现 ........................................................... 26实验四四人抢答器设计............................................................................. 28实验五序列检测器设计............................................................................. 29实验六DDS信号源的设计........................................................................ 30实验七交通灯控制器设计......................................................................... 31实验八数字钟设计..................................................................................... 32实验九出租车计费器设计......................................................................... 33实验十频率计的实现................................................................................. 34附录——FPGA接口对照表 ............................................................................ 35

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实验与实践 姓名:魏亮 学号:2940710618 院系:微电子技术系 专业:集成电路设计与集成系统(嵌入式) 教师:李海 2011 年12 月12 日

实验一:计数器 一、实验目的: 学习计数器的设计,仿真和硬件测试; 进一步熟悉Verilog HDL的编程方法。 二、实验原理和内容: 本实验的原理是利用复位信号rst,时钟信号clk,输出cout ,实现由0自加到学号(即18)。 本实验的内容是利用Quartus Ⅱ建立一个自加至18的计数器,并进行仿真测试。 三、实验步骤: 1. 启动Quartus Ⅱ建立一个空白工程,然后命名为count . qpf 。 2. 新建Verilog HDL源程序文件count.v,输入程序代码并保存, 然后进行综合编译,若在编译过程中发现错误,则找出并更正错误, 直到编译成功为止。 3. 建立波形仿真文件并进行仿真验证。 四、实验数据和结果: module count (clk,rst,cout); input clk,rst; output[5:0] cout; reg[5:0] cout; always @ (posedge clk) begin if(rst) begin cout=cout+1; if(cout==5'b10011) cout=0; end end endmodule

五、实验总结: 进一步熟悉仿真测试和Verilog HDL 编程方法。

实验二:流水灯 一、实验目的: 通过次试验进一步了解、熟悉和掌握CPLD/FPGA开发软件的使用方法及Verilog HDL的编程方法;学习简单的时序电路的设计和硬件 测试。 二、实验原理和内容: 本实验的内容是建立可用于控制LED流水灯的简单硬件电路,要求在实验箱上时间LED1~LED8发光二极管流水灯显示。 原理:在LED1~LED8引脚上周期性的输出流水数据,如原来输出的数据是11111100则表示点亮LED1、LED2。流水一次后,输出数据应 该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这 样就可以实现LED流水灯,为了方便观察,在源程序中加入了一个分频 程序来控制流水速率。 三、实验步骤: (1)启动QuartusII建立空白工程,然后命名为led.qpf。 (2)新建Verilog HDL源程序文件led.v,输入程序代码并保存(源程序参考实验内容),进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 (3)FPGA引脚分配,在Quartus II主界面下,选择Assignments→Pins,按照实验课本附录进行相应的引脚分配,引脚分配好以后保存。 (4)对该工程文件进行最后的编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 (5)打开试验箱的电源开关,执行下载命令,把程序下载到FPGA试验箱中,观察流水灯的变化。 四、实验数据和结果: module led(led,clk); input clk; output[7:0] led; reg[7:0] led_r; reg[31:0] count; assign led=led_r[7:0]; always @ (posedge clk) begin count<=count+1';

郑州航院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实验报告

湖北民族学院信息工程学院实验报告 (电气、电子类专业用) 班级: 09 姓名:周鹏学号:030940908 实验成绩: 实验地点: EDA实验室 课程名称:数字系统分析与设计实验类型:设计型 实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计 实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。 一、实验目的 1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。 2、初步了解QUARTUSII原理图输入设计的全过程。 3、掌握组合逻辑电路的静态测试方法。 4、了解格雷码变换的原理。 5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。 6、进一步掌握实验系统的使用。 二、实验原理、原理图及电路图 3-8译码器三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。其真值表如表1-1所示 输入输出 A B C D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 表1-1 三-八译码器真值表 译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。 三、实验步骤及内容 实验内容一: 在本实验中,用三个拨动开关来表示三八译码器的三个输入(A、B、C);用八个LED来表示三八译码器的八个输出(D0-D7)。通过输入不同的值来观察输入的结果与三八译码器的真值表(表1-1)是否一致。实验箱中的拨动开关与FPGA的接口电路如下图1-1所示,当开关闭合(拨动开关的档位在下方)时其输出为低电平,反之输出高电平。实验内容二: 本实验要求完成的任务是变换12位二进制码到12位的格雷码。实验中用12位拨动开关模块的K1~K12表示8位二进制输入,用LED模块的LED1~LED12来表示转换的实验结果十二位格雷码。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。 实验步骤一: 1、建立工程文件 1)选择开始>程序>Altera>QuartusII8.1> QuartusII8.1(32BIT),运行QUARTUSII 软件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-3所示,如果是第一次打开QUARTUSII软件可能会有其它的提示信息,使用者可以根据自己的实际情况进行设定后进入图1-3所示界面。

EDA仿真实验报告

EDA仿真实验报告 姓名: 学号: 班级:

一.实验目的 1.了解EDA技术的发展、应用。 2.学习Multisim的使用。 二.实验内容 1.与非门实现四舍五入 2.用74LS138和必要的门电路设计一个表决电路 3.用74LS85设计四位数值比较器 三.实验软件与环境 1.EDA技术 EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。 2.EDA的应用 EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。 主要是了解EDA的基本概念和基本原理、使用EDA的某种工具进行电子课程的实验并从事简单系统的设计,为今后工作打下基础。

3.Multisim Multisim是Interactive Image Technologies公司推出的以Windows 为基础的板级仿真工具,适用于模拟/数字线路板的设计。 本实验使用了NI Multisim 14.0 软件。 四.实验内容与步骤 1.与非门实现四舍五入电路(只能用与非门) 真值表: 逻辑表达式:F=m(5,6,7,8,9)

2.用74LS138和必要的门电路设计一个表决电路 真值表: F=M'ABC+MA'BC+MAB'C+MABC'+MABC=MAB+MAC+MBC+ABC 电路方面要注意输出为低电平,所以要用与非门。

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实验报告-实验3计数器电路设计

暨南大学本科实验报告专用纸 课程名称 EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号 03 实验项目类型验证实验地点 B305 学院电气信息学院系专业物联网工程 组号: A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的VCCIO 跳线器组中“”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、了解各种进制计数器设计方法 2、了解同步计数器、异步计数器的设计方法 3、通过任意编码计数器体会语言编程设计电路的便利 三、实验原理 时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。输出显示模块用VHDL实现。 四、实验内容 1、用74161构成8位二进制同步计数器(程序为T3-1); 2、用74390构成8位二——十进制异步计数器(程序为T3-2); 3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3): 0,2,5,3,4,6,1 五、实验要求 学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。 六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。并借用前面设计的数码管显示模块显示计数结果。 ◆74161构成8位二进制同步计数器(程序为T3-1)

EDA实验报告

一MAX –plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单;

4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,我们就本套实验设备做一个简单的介绍。 (一)Max+plusⅡ10.0的使用。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果大家只进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,将此文件复制到你的安装目录下(你的安装目录可放在任一个驱动器下,然后建立一个Max10的文件夹,将系统安装在此文件夹中,安装后此文件夹中会有三个文件夹)的任一个文件夹中,要清楚位置。 第四步:注册 启动Max+PlusII 软件,可以从开始-->程序-->Altera-->Max+PlusII 打开,也可以建立一个快捷方式在桌面上。启动软件后, 会有弹出一个对话框,点击是或否都可以,然 后进入系统。点击菜单中的Options,然后选 中License菜单项,打开弹出一个注册对话框, 在注册文件路径中打开你第三步中复制位置的 License 文件,然后点击OK,注册完毕。 2、 max+plusⅡ软件基本设计流程

EDA技术实验报告完整版

福建农林大学金山学院 信息工程类 实验报告 课程名称:EDA技术 姓名:邱彬彬 系:信息与机电工程系 专业:电子信息工程专业 年级:2010级 学号:100201079 指导教师:蔡剑卿 职称:讲师 2013年05月03日

实验项目列表

福建农林大学金山学院信息工程类实验报告 系:信息与机电工程系专业:电子信息工程年级: 2010级 姓名:邱彬彬学号: 100201079 实验课程: EDA技术 实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩: 实验一Quartus II 9.0软件的使用 1.实验目的和要求 本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。 2.实验原理 利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。 Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。 3.主要仪器设备(实验用的软硬件环境) 实验的硬件环境是: 微机一台 GW48 EDA实验开发系统一套 电源线一根 十芯JTAG口线一根 USB下载线一根 USB下载器一个 实验的软件环境是: Quartus II 9.0软件 4.操作方法与实验步骤 利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。 利用Quartus II 9.0软件实现引脚锁定和编译文件下载。

EDA实验报告模板

《EDA技术》实验报告 系别: 专业: 班级:学号: 姓名: 指导教师: 实验课程: 实验地点:EDA实验室 年月日

实验教师填阅

实习报告要求 1 封面——指定样稿 2 纸张——A4纸 3.格式要求如下

实验课程名称:EDA技术 (居中,三号宋体,加粗,占4行) 一、实验目的(左顶格,四号宋体,加粗,占2行,不接排) 1、了解EDA技术及常用EDA软件的用途(小4号宋体,)(正文)×××××(小4号宋体,接排) 2、了解电路设计中常用器件并能正确选择(同上)。 3、掌握Protel99 Se的基本使用(同上)。 二、实验课时:16学时(左顶格,四号宋体,加粗,占2行,不接排) 三、实验地点:EDA实验室(左顶格,四号宋体,加粗,占2行,不接排) 四、实验内容: 在电路板设计软件Protel99 Se环境下,完成稳压电源的原理图、PCB板的设计(或8051按键实验板原理图、PCB板的设计) 五、实验步骤:(要求详细描述各步骤的操作过程) 1.电路原理图的设计(小4号宋体,加粗)(要求截入设计的原理图,并 列出设计步骤,可用流程图表示) 图1. 稳压电源原理图(五号字体)

2.报表的生成(包括网络报表、元器件列表。电气规则测试报告, 并列出报表生成步骤) 。。。正文(小四,行距20磅) 3.印制电路板的设计(截入设计的原理图,并列出设计步骤)。。。 六实验总结: 1、总结设计电路板的过程或流程,及设计过程中应注意的问题。 a、电路原理图的设计流程。 b、生成报表,包括(网络报表,原件列表,电气规则测试报告)。 c、印制电路板的设计流程。 2、什么是元器件的封装,列出你所知道的电子元器件的基本封装类型,并说明其含义(至少列出六种)。 3、网络报表在电路板设计过程中起什么作用,并说明网络报表的内容都包括那些?。。 4、在电路板的设计过程中你都遇到的那些问题?是如何解决的? 。。 5、总结本课程的实验心得,提出你的意见和建议。

EDA实验报告四(状态机实现序列检测器的设计)

实验四:状态机实现序列检测器的设计 一、实验目的 1、了解和学习Quartus II 7.2软件设计平台。 2、了解EDA的设计过程。 3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。 4、学习和掌握状态机的工作和设计原理。 5、掌握用VHDL 实现状态机的方法 6、利用状态机设计一个序列检测器 二、实验仪器 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 fsm IS port(clk,x:IN STD_LOGIC; z:OUT STD_LOGIC); END fsm; ARCHITECTURE bhv OF fsm IS TYPE STATE IS(S0,S1,S2,S3); SIGNAL present_state:state; BEGIN PROCESS(clk) BEGIN IF(clk'EVENT AND clk='1')THEN CASE present_state IS WHEN S0=> IF x='1'THEN present_state<=S1; ELSE present_state<=S0; END IF; WHEN S1=> IF x='0'THEN present_state<=S2;

EDA实验报告——计数器

模323计数器设计实验报告 一、实验内容 在QuartusII平台上,利用VHDL代码实现学号323计数器的设计,并在三位数码管显示出来。 二、实验步骤与过程分析 1、建立工程。 打开Quartus II软件平台,点击File---〉new project wizard建立一个工程xuehao_323,工程所在文件夹名字为xuehao_323,设置顶层实体名称为xuehao_323,点击next设置device,按照实验箱上FPGA的芯片名更改编程芯片的设置。 分析: 选择的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。 2、添加VHDL文件。 在所在工程添加文件cnt10.vhd(十进制计数器),cnt_xuehao.vhd(323进制计数器),scan_led3_vhd.vhd(三位数码管显示),exp_cnt_xuehao323_7seg.vhd(数码管显示323三位学号计数器)四个文件。 这里通过老师给出的代码进行修改且理解: cnt10.vhd如下:

分析: 这是十进制计数器的VHDL代码设计,因为十进制有十个状态,所以输入数据和输出状态需要四位宽,其中输入端口有aclr 清零端,clock时钟信号,cnt_en使能端,data[3..0]数据输入,sload装载使能,当aclr为高电平有效时,输出清零,从0开始,计数为时钟信号clock的上升沿到来时且使能端cnt_en 为高电平有效时自动加1(sload为低电平时),如果装载使能sload为高电平有效时,则装载数据data[3..0],输出端口有两个,分别为cout(当q[3..0]为9时输出为高电平),q[3..0]变化为0—9循环变化。

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

相关文档