您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页EDA实验报告(推荐文档)

EDA实验报告(推荐文档)

来源:华佗小知识


电子设计自动化

实验报告

电子设计自动化实验报告

实验1 4选1数据选择器的设计

1.1 实验目的

1.学习 EDA软件的基本操作。 2.学习使用原理图进行设计输入。

3.初步掌握器件设计输入、编译、仿真和编程的过程。 4.学习实验开发系统的使用方法。 1.2 实验仪器与器材

1.EDA开发软件 2.微机 3.实验开发系统 1.3 实验说明

本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的基本过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。

本实验使用Quartus II软件作为设计工具,要求熟悉或Quartus II软件的使用环境和基本操作,如设计输入、编译和适配的过程等。

实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。 1.4 实验要求

1.完成4选1数据选择器的原理图输入并进行编译; 2.对设计的电路进行仿真验证;

3.编程下载并在实验开发系统上验证设计结果。 1.5 实验报告要求

1.画出编译通过后的原理图; 2.绘出仿真波形图; 3. 管脚分配情况。

1.6实验报告内容:

1、编译通过后的原理图:

一套 一台 一台

2、仿真波形图:

在实验室遇到波形的功能仿真报错问题,解决问题后在自己电脑上仿真波形如上。 3、管脚分配情况列表: d0:SW2 PIN_P25 d1:SW3 PIN_AE14 d2:SW4 PIN_AF14 d3:SW5 PIN_AD13 o:LEDR0 PIN_AE23 s0:SW0 PIN_N25 s1:SW1 PIN_N26

4、生成符号图:

实验2 四位比较器

2.1 实验目的

1.设计四位二进制码比较器,并在实验开发系统上验证。 2. 学习文本输入HDL文件的设计方法。 2.2 实验仪器与器材

1.EDA开发软件 2.微机 3.实验开发系统 4.打印机 2.3 实验说明

本实验实现两个4位二进制码的比较器(功能框图如右图),输入为两个4位二进制码A3 A2 A1 A0 和B3 B2 B1 B0, 输出为M(A=B),G(A>B)和L(AA3 A2 A1 A0

COMP4

一套 一台 一台 一台

G

M

B3

B2

2.4 实验要求

B1

1.用硬件描述语言编写4位二进制码比较器的源文 B0

L

件;

2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行硬件验证。 2.5 实验报告要求

1.写出比较器的HDL源文件; 2.写出仿真结果; 3.管脚分配情况。

2.6实验报告内容:

1、比较器的VHDL源文件:

library ieee;

use ieee.std_logic_11.all; entity my_compare is

port( A3,A2,A1,A0: in std_logic; B3,B2,B1,B0: in std_logic; G,M,L: out std_logic); end my_compare;

architecture behave of my_compare is begin

p1: process(A3,A2,A1,A0,B3,B2,B1,B0)

variable comb1,comb2: std_logic_vector(3 downto 0); begin

comb1:=A3&A2&A1&A0; comb2:=B3&B2&B1&B0;

if(comb1>comb2) then G<='1'; M<='0'; L<='0';

elsif(comb1end process p1; end behave;

编译:

2、 功能仿真波形:

3、 管脚分配情况:

A3:SW7 PIN_C13 A2:SW6 PIN_AC13 A1:SW5 PIN_AD13 A0:SW4 PIN_AF14 B3:SW3 PIN_AE14 B2:SW2 PIN_P25 B1:SW1 PIN_N26

B0:SW0 PIN_N25 G:LEDR2 PIN_AB21 M:LEDR1 PIN_AF23 L:LEDR0 PIN_AE23

实验3 并行加法器设计

3.1 实验目的

1.设计一个4位加法器。

2.体会用HDL进行逻辑描述的优点。

3.2 实验仪器与器材

1.EDA开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其他器件与材料 若干 3.3 实验说明

本实验实现一个4位二进制数加法器,其功能框图如图8.2所示。实验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据实验系统自行安排。

图8.2 全加器功能框图

3.4 实验要求

1.用硬件描述语言编写4位二进制数全加器的源文件;

2.对设计文件进行编译; 3.仿真设计文件。

4.编程下载并进行实验验证。

3.5 实验报告要求

1.写出全加器的HDL源文件; 2. 写出仿真和硬件测试结果; 3. 管脚分配情况。

3.6实验报告内容:

1、全加器的VHDL源文件:

library ieee;

use ieee.std_logic_11.all; entity adder4 is

port(a,b: in std_logic_vector(3 downto 0); cin: in std_logic_vector(3 downto 0); sum: out std_logic_vector(3 downto 0); count: out std_logic); end adder4;

architecture behave of adder4 is begin

p1:process(a,b,cin)

variable vsum: std_logic_vector(3 downto 0); variable carry: std_logic; begin

carry:=cin(0); for i in 0 to 3 loop

vsum(i):=(a(i) xor b(i)) xor carry;

carry:=(a(i) and b(i)) or (carry and (a(i) or b(i))); end loop; sum<=vsum; count<=carry; end process p1; end behave;

编译:

2.、功能仿真波形和硬件测试结果:

硬件测试: 硬件测试正常,实现全加器逻辑。 4、 管脚分配情况:

a[3]:SW7 PIN_C13 a[2]:SW6 PIN_AC13

a[1]:SW5 PIN_AD13 a[0]:SW4 PIN_AF14 b[3]:SW3 PIN_AE14 b[2]:SW2 PIN_P25 b[1]:SW1 PIN_N26 b[0]:SW0 PIN_N25

sum[3]:LEDR3 PIN_AC22 sum[2]:LEDR2 PIN_AB21 sum[1]:LEDR1 PIN_AF23 sum[0]:LEDR0 PIN_AE23 cin:SW17 PIN_V2

count:LEDG7 PIN_Y18

实验4 计数器设计

4.1 实验目的

计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。 4.2 实验仪器与器材

1.EDA开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其他器件与材料 若干 4.3 实验说明

计数器是数字电路系统中最基本的功能模块之一,设计时可以采用原理图或HDL语言完成。

下载验证时的计数时钟可选用连续或单脉冲,并用数码管显示计数值。 4.4 实验要求

1.设计一个带有计数允许输入端、复位输入端和进位输出端的10进制计数器。 2.编制仿真测试文件,并进行功能仿真。

3.下载并验证计数器功能。 4.为上述设计建立元件符号。

5. 选做:在上述基础上设计按8421BCD码计数的100进制同步计数器。 4.5 实验报告要求

1.画出原理图或写出 HDL语言源文件。 2.打印仿真波形。 3.管脚分配情况。 4.6实验报告内容: 1、VHDL语言描述:

library ieee;

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

port(en,reset,clk:in std_logic;

q:buffer std_logic_vector(3 downto 0); co:out std_logic); end my_count;

architecture behave of my_count is begin

process(clk,en) begin

if clk'event and clk='1' then

if reset='1' then q<=\"0000\"; elsif en='1' then if q<\"1001\" then q<=q+'1'; else q<=\"0000\"; end if; end if; end if; end process;

co<='1' when q=\"1001\" else '0'; end behave;

编译:

2、仿真波形:

四线七线译码器:

library ieee;

use ieee.std_logic_11.all; entity decoder4_7 is

port( insign: in std_logic_vector (3 downto 0); outsign: out std_logic_vector (6 downto 0)); end decoder4_7;

architecture behave of decoder4_7 is begin

process(insign) begin

case insign is

when\"0000\"=>outsign<=\"0000001\"; when \"0001\"=>outsign<=\"1001111\"; when \"0010\"=>outsign<=\"0010010\"; when \"0011\"=>outsign<=\"0000110\"; when \"0100\"=>outsign<=\"1001100\"; when \"0101\"=>outsign<=\"0100100\"; when \"0110\"=>outsign<=\"1100000\"; when \"0111\"=>outsign<=\"0001111\"; when \"1000\"=>outsign<=\"0000000\"; when \"1001\"=>outsign<=\"0001100\"; when others=>outsign<=\"1111111\"; end case; end process; end behave ;

1、编译:

2、仿真:

十进制计数器: 1、原理图:

2、仿真波形:

3、管脚分配情况:

clk KEY[2] PIN_P23 en SW1 PIN_N26 reset SW0 PIN_N25 co LEDG[7] PIN_Y18

outsign [0] HEX0[0] PIN_AF10 outsign [1] HEX0[1] PIN_AB12 outsign [2] HEX0[2] PIN_AC12 outsign [3] HEX0[3] PIN_AD11 outsign [4] HEX0[4] PIN_AE11 outsign [5] HEX0[5] PIN_V14 outsign [6] HEX0[6] PIN_V13

4、生成符号图:

百进制计数器: 1、 原理图:

2、 仿真波形:

3、 管脚分配情况:

clk KEY[2] PIN_P23 en SW1 PIN_N26 reset SW0 PIN_N25

ql[0] HEX0[0] PIN_AF10 ql[1] HEX0[1] PIN_AB12 ql[2] HEX0[2] PIN_AC12 ql[3] HEX0[3] PIN_AD11 ql[4] HEX0[4] PIN_AE11 ql[5] HEX0[5] PIN_V14 ql[6] HEX0[6] PIN_V13 qh[0] HEX1[0] PIN_V20 qh[1] HEX1[1] PIN_V21 qh[2] HEX1[2] PIN_W21 qh[3] HEX1[3] PIN_Y22 qh[4] HEX1[4] PIN_AA24 qh[5] HEX1[5] PIN_AA23 qh[6] HEX1[6] PIN_AB24 co LEDG[7] PIN_Y18

4、生成符号图:

实验5 巴克码发生器

5.1 实验目的

1. 实现一个在通信领域中经常使用的巴克码发生器。

2.掌握用大规模可编程逻辑器件实现时序电路的方法。

5.2 实验仪器与器材

1.EDA开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其他器件与材料 若干 5.3 实验说明

巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生周期性的序列码。本实验要求产生的序列码信号为{1110010},可以用寄存器或同步时序电路实现。为了能够通过实验开发系统验证实验结果,可以使用两个输出端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。巴克码发生器的功能框图见图8.4所示。 5.4 实验要求

1.写出全部设计文件。

2.编写测试向量,进行功能仿真。

3. 下载并用实验板验证。 5.5 实验报告要求

1.写出全部设计文件。 2.打印仿真报告和波形。 3.管脚分配情况。

CLK 巴克码输出 节拍指示

图8.4 巴克码发生器

5.6实验报告内容:

在实验中我使用VHDL语言描述来实现巴克马发生器的功能。 1、巴克码发生器VHDL源文件:

library ieee;

use ieee.std_logic_11.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity back is

port(clk,reset:in std_logic;

dout1,dout2:out std_logic); end back;

architecture behave of back is

signal count7:integer range 0 to 6; begin

process(clk,reset) begin

if reset='1' then count7<=0; elsif clk'event and clk='1' then if count7<6 then

count7<=count7+1; else count7<=0; end if; end if;

dout2<=clk; end process; process(count7) begin

case count7 is

when 0=>dout1<='1'; when 1=>dout1<='1'; when 2=>dout1<='1'; when 3=>dout1<='0'; when 4=>dout1<='0'; when 5=>dout1<='1'; when 6=>dout1<='0'; when others=>dout1<='0'; end case;

end process; end behave; 编译:

2、 仿真波形:

为了将巴克码清楚地显示,在巴克码发生器后的输出端dout1加以一线七线译码器,然后连接到数码管显示,输出时钟用LED灯显示即可。

一线七线译码器VHDL语言描述: library ieee;

use ieee.std_logic_11.all; entity decoder1_7 is

port( insign: in std_logic_vector (0 downto 0); outsign: out std_logic_vector (6 downto 0));

end decoder1_7;

architecture behave of decoder1_7 is begin

process(insign) begin

case insign is

when\"0\"=>outsign<=\"0000001\"; when \"1\"=>outsign<=\"1001111\"; when others=>outsign<=\"1111111\"; end case; end process; end behave ; 仿真:

巴克码发生器总连接图:

总连接图仿真波形:

3、管脚分配情况: clk:KEY[2] PIN_P23 reset:SW0 PIN_N25

dout1 [0] :HEX0[6] PIN_V13 dout1 [1] :HEX0[5] PIN_V14 dout1 [2] :HEX0[4] PIN_AE11 dout1 [3] :HEX0[3] PIN_AD11 dout1 [4] :HEX0[2] PIN_AC12 dout1 [5] :HEX0[1] PIN_AB12 dout1 [6] :HEX0[0] PIN_AF10 dout2:LEDG[7] PIN_Y18

4、生成符号图:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务