搜档网
当前位置:搜档网 › EDA交通灯实验报告

EDA交通灯实验报告

EDA交通灯实验报告
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:负责红绿灯的显示秒数十位。

三、设计方案

图2 交通信号灯控制器的原理框图

采用VHDL语言输入的方式实现交通信号灯控制器

图3 交通信号灯控制器程序原理框图

该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。

四、程序清单:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY traffic IS

PORT (clk:in std_logic;

led7s1:out std_logic_vector(6 downto 0);

led7s2:out std_logic_vector(6 downto 0);

comb_out:out std_logic_vector(5 downto 0));

ARCHITECTURE one OF traffic IS

TYPE dm IS (s0,s1,s2,s3);

SIgnal current_state,next_state:dm;

SIGNAL FULL : STD_LOGIC;

SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0);

SIGNAL th:STD_LOGIC_VECTOR(1 DOWNTO 0);

SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0);

SIGNAL TIME :STD_LOGIC_VECTOR(6 DOWNTO 0); 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:="01111111";

FULL<='1';

ELSE CNT8 := CNT8+1;

FULL <= '0';

END IF; END IF;

END PROCESS P_REG;

PROCESS(full)

BEGIN

IF full'EVENT AND full='1' THEN

IF TIME<"1000011" THEN

TIME<=TIME+1;

ELSe TIME <="0000000";

END IF;

END IF;

END PROCESS;

REG:process( full,current_state)

BEGIN

IF full='1' AND full'EVENT THEN

current_state<=next_state;

END IF;

END process;

COM:process(current_state, time)

begin

case current_state is

when s0=>comb_out<="001100";tm<=39-time;

if time=39 then next_state<=s1;

else next_state<=s0;

when s1=>comb_out<="010100";tm<=43-time; if time=43 then next_state<=s2;

else next_state<=s1;

end if;

when s2=>comb_out<="100010";tm<=63-time; if time=63 then next_state<=s3;

else next_state<=s2;

end if;

when s3=>comb_out<="100001";tm<=67-time; if time=67 then next_state<=s0;

else next_state<=s3;

end if;

end case;

end process;

PROCESS(tm)

BEGIN

IF tm>=30 THEN th<="11";tl<=tm-30;

ELSIF tm>=20 THEN th<="10";tl<=tm-20; ELSIF tm>=10 THEN th<="01";tl<=tm-10; ELSE th<="00";tl<=tm;

END IF;

END PROCESS;

process(th,tl)

begin

case th is

when"00"=>led7s1<="0111111";

when"01"=>led7s1<="0000110";

when"10"=>led7s1<="1011011";

when"11"=>led7s1<="1001111";

when others=>null;

end case;

case tl is

when "0000000"=>led7s2<="0111111";

when"0000001"=>led7s2<="0000110";

when "0000010"=>led7s2<="1011011";

when"0000011"=>led7s2<="1001111";

when"0000100"=>led7s2<="1100110";

when "0000101"=>led7s2<="1101101";

when "0000110"=>led7s2<="1111101";

when"0000111"=>led7s2<="0000111";

when "0001000"=>led7s2<="1111111";

when "0001001"=>led7s2<="1101111";

when others=>null;

end case;

end process;

end;

五、电路及波形图

1.波形图

2.引脚设置

选择的器件为cyclone系列的EP1C3T144芯片,引脚锁定方法如下图所示。将未使用的管脚设置为三态输入(一定要设置,否则可能会损坏芯片)。

本实验只能用采用模式6下载调试,一切正常

六、硬件测试及说明

用实验板上的6个LED作为交通信号灯,设计一个交通信号灯控制器。

1、交通灯从绿变红时,有5秒黄灯亮的间隔时间;

2、交通灯红变绿是直接进行的,没有间隔时间;

3、红灯时间为30秒。绿灯时间为25秒。黄灯时间为5秒。

七、实验心得体会

通过这次课程设计,我进一步加深了对数字系统设计的了解。并进一步熟练了对Quartu sII软件的操作。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的VHDL语言进行编程。总之,通过这次的设计,进一步了解了EDA技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

8位全加器实验报告

实验1 原理图输入设计8位全加器 一、实验目的: 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、原理说明: 一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。而一个1位全加器可以按照本章第一节介绍的方法来完成。 三、实验内容: 1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。 2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 四、实验环境: 计算机、QuartusII软件。 五、实验流程: 实验流程: 根据半加器工作原 理,建立电路并仿 真,并将元件封装。 ↓ 利用半加器构成一位 全加器,建立电路并 仿真,并将元件封 装。 ↓ 利用全加器构成8位全 加器,并完成编译、综 合、适配、仿真。 图1.1 实验流程图

六、实验步骤: 1.根据半加器工作原理建立电路并仿真,并将元件打包。(1)半加器原理图: 图1.2 半加器原理图(2)综合报告: 图1.3 综合报告: (3)功能仿真波形图4: 图1.4 功能仿真波形图

时序仿真波形图: 图1.5 时序仿真波形图 仿真结果分析:sout为和信号,当a=1,b=0或a=0,b=1时,和信号sout为1,否则为0.当a=b=1时,产生进位信号,及cout=1。 (4)时序仿真的延时情况: 图1.6 时序仿真的延时情况 (5)封装元件: 图1.7 元件封装图 2. 利用半加器构成一位全加器,建立电路并仿真,并将元件封装。 (1)全加器原理图如图: 图2.1 全加器原理图

EDA 1位全加器实验报告

南华大学 船山学院 实验报告 (2009 ~2010 学年度第二学期) 课程名称EDA 实验名称1位全加器 姓名学号200994401 专业计算机科学与 班级01 技术 地点8-212 教师

一、实验目的: 熟悉MAX+plus 10.2的VHDL 文本设计流程全过程 二、实验原理图: ain cout cout ain bin sum cin bin sum cin f_adder or2a f e d u3 u2u1b a c co so B co so B h_adder A h_adder A 三、实验代码: (1)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT (ain ,bin ,cin : IN STD_LOGIC; cout ,sum : OUT STD_LOGIC ); END ENTITY f_adder; ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder PORT ( a ,b : IN STD_LOGIC; co ,so : OUT STD_LOGIC); END COMPONENT ; COMPONENT or2a PORT (a ,b : IN STD_LOGIC; c : OUT STD_LOGIC); END COMPONENT ; SIGNAL d ,e ,f : STD_LOGIC; BEGIN u1 : h_adder PORT MAP(a=>ain ,b=>bin ,co=>d ,so=>e); u2 : h_adder PORT MAP(a=>e , b=>cin , co=>f ,so=>sum); u3 : or2a PORT MAP(a=>d , b=>f , c=>cout);

EDA设计实验报告

摘要 通过实验学习和训练,掌握基于计算机和信息技术的电路系统设计和仿真方法。要求: 1. 熟悉multisim软件的使用,包括电路图编辑、虚拟仪器仪表的使用和掌握常见电路分析 方法。2. 能够运用multisim软件对模拟电路进行设计和性能分析,掌握eda设计的基本方 法和步骤。multisim常用分析方法:直流工作点分析、直流扫描分析、交流分析。掌握设计 电路参数的方法。复习巩固单级放大电路的工作原理,掌握静态工作点的选择对电路的影响。 了解负反馈对两级放大电路的影响,掌握阶梯波的产生原理及产生过程。 关键字:电路仿真 multisim 负反馈阶梯波 目次 实验一 (1) 实验二............................................................................................. 11 实验三 (17) 实验一单级放大电路的设计与仿真 一、实验目的 1. 设计一个分压偏置的单管电压放大电路,要求信号源频率5khz(峰值10mv) , 负载电阻5.1kω,电压增益大于50。 2. 调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出 信号波形,并测试对应的静态工作点值。 3. 调节电路静态工作点(调节电位计),使电路输出信号不失真,并且幅度尽可能 大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和? 、 rbe 、rce值;③电路的输入电阻、输出电 阻和电压增益;④电路的频率响应曲线和fl、fh值。 二、实验要求 1. 给出单级放大电路原理图。 2. 给出电路饱和失真、截止失真和不失真且信号幅度尽可能大时的输出信号波形 图,并给出三种状态下电路静态工作点值。 3. 给出测试三极管输入、输出特性曲线和? 、 rbe 、rce值的实验图,并给出 测试结果。 4. 给出正常放大时测量输入电阻、输出电阻和电压增益的实验图,给出测试结果 并和理论计算值进行比较。 5. 给出电路的幅频和相频特性曲线,并给出电路的fl、fh值。 6. 分析实验结果。 三、实验步骤 实验原理图: 饱和失真时波形: 此时静态工作点为: 所以,i(bq)=4.76685ua i(cq)=958.06700ua u(beq)=0.62676v u(ceq)=0.31402v 截止失真时波形: 此时静态工作点为: 所以,i(bq)=2.07543ua i(cq)=440.85400ua u(beq)=0.60519v u(ceq)=5.54322v 最大不失真时波形:篇二:eda课程设计实验报告电子电工实习 华北电力大学

EDA课程设计----八位二进制全加器

EDA设计说明书 课程名称:EDA技术实用教程 设计题目:八位二进制全加器 院系:电子信息与电气工程学院学生姓名: 学号: 专业班级: 指导教师:李响 2011 年6 月1

1. 设计目的 熟悉利用QuartusⅡ的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2. 设计原理 2.1 一位全加器的原理 一位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。 一位全加器的设计步骤: ①为本项工程设计建立文件夹; ②输入设计项目和存盘; ③将设计项目设计成可调用的元件; ④设计全加器顶层文件; ⑤将设计项日设置成工程和时序仿真。 2.2 八位全加器的原理 一个八位全加器可以由八个一位全加器构成,加法器之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。 3. 设计方案与仿真 3.1 一位全加器的设计与仿真 全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为: ①为此项工程建立文件夹; ②在基本元件库中,选中需要的元件,将元件(包含元件and2、not 、xnor 和输 入输出引脚input、output)调入原理图编辑窗口中;

③将己设计好的原理图文件存盘; ④将所设计的半加器设置成可调用的元件。 用原理图输入法所设计的半加器原理图如图3-1所示,利用QuartusⅡ软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。 图3-1 半加器原理图图3-2 半加器元件符号 图3-3 全加器原理图图3-4 全加器元件符号按照一位全加器原理图连接电路,通过编译、仿真所得的波形图如图3-5所示: 图3-5 一位全加器时序仿真波形 根据图3-5可知,当输入信号ain 、bin 、cin 全是低电平时,输出信号sum 和cout 全是低电平;当输入信号ain 、bin 、cin 中有且只有一个为高电平时,输出信号sum 为高电平,输出信号cout 为低电平;当输入信号ain 、bin 、cin 中有两个为

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

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

4-1 组合电路设计 实验目的:熟悉Quartus2的VHDL文本设计流程全过程,学习简单的组合电路的设计,多层次电路设计、仿真、和硬件测试。 实验任务1:利用软件完成二选一多路选择器的文本编辑和仿真测试等步骤,给出仿真波形,最后在实验系统上进行硬件测试,验证功能。然后,利用元件例化语句描述图3-31,并将此文件放在同一目录下。 实验任务2:利用刚刚完成的实验内容,设计完成一位全加器,仿真该全加器,得到仿真结果,并利用一位二进制全加器为基本元件,用例化语句写出八位并行二进制全加器的顶层文件,讨论该加法器的电路特性。 实验代码及仿真结果: 二选一多路选择器: library ieee; use ieee.std_logic_1164.all; entity mux21a is port(a,b,s: in std_logic; y:out std_logic ); end entity mux21a; architecture one of mux21a is begin process(a,b,s) begin if s='0' then y<=a; else y<=b;

end if; end process; end architecture one; 仿真结果: 分析: 1、s对电路的输出具有决定作用,s为0时输出为a的值,为1时输出为b的值。从仿真 结果可以看出0到10ns内,s为0,此时y的输出为0,是a的值。 2、10到20ns时间内,s为1,输出为b的值,y为1。 图3-31的仿真仿真程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity singt is port(a:in std_logic_vector(3 downto 1); s:in std_logic_vector(1 downto 0); outy: out std_logic); end singt; architecture bhv of singt is component mux21a

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. 学习简单时序电路的设计、仿真和硬件测试。 二、实验器材:

EDA技术实验报告

(此文档为word格式,下载后您可任意编辑修改!) 实验一利用原理图输入法设计4位全加器 一、实验目的: 掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII的层次化设计方法。通过一个4位全加器的设计,熟悉用EDA软件进行电路设计的详细流程。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相接。 1位全加器f-adder由2个半加器h-adder和一个或门按照下列电路来实现。 半加器h-adder由与门、同或门和非门构成。 四位加法器由4个全加器构成 三、实验内容:

1. 熟悉QuartusII软件界面,掌握利用原理图进行电路模块设计的方法。 QuartusII设计流程见教材第五章:QuartusII应用向导。 2.设计1位全加器原理图 (1)生成一个新的图形文件(file->new->graphic editor) (2)按照给定的原理图输入逻辑门(symbol->enter symbol) (3)根据原理图连接所有逻辑门的端口,并添加输入输出端口 (4)为管脚和节点命名: 在管脚上的PIN_NAME处双击鼠标左键,然后输入名字; 选中需命名的线,然后输入名字。 (5)创建缺省(Default)符号: 在 File菜单中选择 Create Symbol Files for Current File 项,即可创建一个设计的符号,该符号可被高层设计调用。 3.利用层次化原理图方法设计4位全加器 (1)生成新的空白原理图,作为4位全加器设计输入 (2)利用已经生成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图. 4.新建波形文件(file->new->Other Files->Vector Waveform File),保存后进行仿真(Processing ->Start Simulation),对4位全加器进行时序仿真。给出波形图,并分析仿真结果是否正确。

EDA全加器实验报告

1位全加器设计实验报告 彭世晶32211317 实验目的:用原理图输入法完成半加器和全加器的设计,熟悉和练习Quartus Ⅱ的应用。 实验原理:1位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。用最简单的原理图输入法来完成半加器及全加器的设计。 实验真值表: 半加器 全加器

实验逻辑图: 半加器 全加器 实验程序: 半加器 module h_adder(a,b,so,co); //半加器描述 input a,b; output so,co; assign {co,so}=a+b; //两位二进制数直接相加 endmodule 或门 module or2a(a.b.c); //或门逻辑描述 output c; input a,b assign c=a|b; endmodule 全加器顶层文件 module f_adder(ain,bin,cin,cout,sum); //一位全加器顶层设计描述output cout,sum; input ain,bin,cin; wire e,d,f; //定义网线型变量作内部单元连接线h_adder u1(ain,bin,e,d); //使用位置关联法进行例化 h_adder u2(.a(e),.so(sum),.b(cin),.co(f)); or2a u3(.a(d),.b(f),.c(cout)); //使用端口名关联法进行例化

Endmodule 实验波形图: 半加器 全加器 实验RTL图: 实验结果与分析: 通过EDA实验我对编程环境QuartusⅡ有了一定的了解,也初步了解了硬件平台。我个人认为老师应当增加实验次数,以便我们加强自己的动手能力。

EDA一位全加器

南昌大学实验报告 学生姓名:邱永洪学号:6100210026专业班级:中兴101 实验类型:□验证□综合■设计□创新实验日期:2012、10、12 实验一一位二进制全加器设计实验 一、实验目的 1、学习Quartus II的文本和原理图输入方法设计简单组合电路以熟悉QuartusII的使用; 2、熟悉设备和软件,掌握实验操作。 二、实验内容与要求 (1)在利用VHDL编辑程序实现半加器和或门,在主层中进行应用。熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三、设计思路 1 ,一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。半加器的真值表为 a b so co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 其中a为被加数,b为加数,co为本位向高位进位,so为本位和 因而可得表达式为:co=ab而so= ab+ab =a⊕b 其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); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is BEGIN so <= NOT(a XOR (NOT b)) ; co <= a AND b ; END ARCHITECTURE fh1;

EDA VHDL 4位全加器实验报告解析

姓名:车琳班级:通信1101班 学号:0121109320130 实验一用原理图输入法设计4位全加器 一、实验目的 1)熟悉利用Quartus II 的原理图输入方法设计简单组合电路; 2)掌握层次化设计的方法; 3)通过一个4位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 二、实验内容 1)完成半加器、全加器和4位全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。 2)建立一个更高的层次的原理图设计,利用以上获得的1位全加器构成的4位全加器,并完成编译、综合、适配、仿真和硬件测试。建议选择电路模式1:键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout。 三、实验仪器 1)计算机及操作系统; 2)QuartusII软件; 3)编程电缆。

四、实验原理 一个4位全加器可以由4个一位全加器 构成,加法器间的进位可以串行方式实现, 即将低位加法器的进位输出 cout 与相邻的 高位加法器的最低进位输入信号 cin 相接。 一个1位全加器可以参考教材介绍的方 法来完成。1位全加器示意图如图1所示。 其中,其中CI 为输入进位位,CO 为输出进位位,输入A 和B 分别为加数和被加数。S 为输出和,其功能可用布尔代数式表示为: i i i i o i i i ABC ABC ABC ABC C ABC C B A C B A C B A S +++=+++= 五、实验步骤 1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。键1、键 2、键3(PIO0/1/2)分别接ain 、bin 、cin ;发光管D2、D1(PIO9/8)分别接sum 和cout 。 2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。建议选择电路模式1(附图F-2):键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout 。 1、一位全加器设计输入 1)创建文件。采用File\new 菜单,创建图形文件。 2)添加元件。采用菜单symbol\enter symbol ,在弹出的对话框中选中相应的库与元件,添加元件,构成一位全加器并保存。 2、一位全加器元件的创建 1)对上述文件编译综合仿真。 2)生成元件。 3)采用菜单FILE\CREATE SYMBOL 生成一位全加器元件。

EDA全加器实验报告 含有程序及其仿真图像

Quartus Ⅱ的综合设计——设计8位全加器 一、题目分析 全加器是能够计算低位进位的二进制加法电路 一位全加器(FA)的逻辑表达式为: S=a⊕b⊕Cin Co=ab+bCin+aCin 其中a、b为要相加的数,Cin为进位输入;S为和,Co是进位输出。 而8位全加器可以采前面设计的1位全加器来实现,将8个1位的全加器进行极联,形成一个8位的全加器。 二、实验目的 1、熟悉PLD的设计流程。 2、熟悉软件的功能和操作。 3、熟悉层次化电路图的设计方法。 4、熟悉PLD中时序电路的设计过程和方法。 三、实验内容 1、根据要求设计一个8位的全加器。 2、对设计的全加器进行仿真分析。 3、讲编译后的数据下载到试验箱中,用硬件验证设计的正确性。 四、8位全加器程序 module ban(cout,sum,a,b,cin);

output cout; output [7:0] sum; input [7:0] a,b; input cin; assign {cout,sum} =a+b+cin; endmodule 五、实验简单流程及实验照片 1、创建一个新项目,编写程序并保存文件命名为ban,然后进行编译。 2、建立一个波形文件,选择File-New命令,在弹出窗口中选择Other Flies,然后选择Vector Waveform File,单击OK。 3、进入波形矢量文件编辑器进行相关设置。 4、给a,b,cin赋任意值,得如下图片:

5、对设计进行仿真分析,得到最终图片: 六、实验总结和感想

通过这次实验我对PLD的设计流程有了更深的感触,明白了其设计的一般步骤及方法,为以后的Quartus Ⅱ的综合设计奠定了基础。同时,对于全加器程序的编写了更深的认识,这能更好的促进以后的学习。

EDA实验报告4位全加器实验报告

EDA实验报告书 姓名 XXX 学号 XXXXXXX 实验时间 课 题 名 称 全加器 实验目的1.掌握MAX+plusⅡ的使用方法。 2.掌握原理图输入的设计方法。 3.学习利用一位全加器设计多位全加器的方法。 设计要求1.利用MAX+plusⅡ软件进行原理图输入设计一位全加器。 2.进行编译、仿真、测试。 3.在一位全加器的基础上设计四位全加器,进行编译、仿真、测试、观察实验结果。 设计思路计算机中的加法器一般就是全加器,它实现多位带进位加法。 图中的“进位入”Ci-1指的是低位的进 位输入,“进位出”指的是本位的进位输 出。一位全加器的真值表见下表: 1 1 1 1 1 1 - - - - - - ? + ? + ? = ?? + ?? + + ? = i i i i i i i i i i i i i i i i i i i i C B C A B A C C B A C B A C B A C B A S 输入输出 Ci -1 Bi Ai Si Ci 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

设计原理图及源程序 仿真波形图

实验结果 问题讨论1.试比较利用卡诺图直接设计四位全加器和利用一位全加器设计四位全加器这两种方法的优缺点。 答:卡诺图直接设计四位全加器的优点是:没有进行产生逻辑,运算速度快。一位 全加器设计四位全加器是串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 2.本实验中设计的4位全加器有何缺陷? 答:这种全加器的最大缺点是运算速度慢。在最不利的的情况下,做一次加法运算 需要经过四个全加器的传输延迟时间才能得到稳定可靠的运算结果 教师 评分 教师签名 日期操作成绩报告成绩

eda实验报告——全加器原理图法,例化语句法

姓名:黄娟学号:32214125班级:自动141成绩:实验名称:全加器的原理图法设计及例化语句法 一、实验目的 1. 掌握EDA工具Quartus Ⅱ的使用; 2. 掌握Quartus Ⅱ的原理图设计流程。 3. 掌握半加器、全加器的原理图法设计。 二、全加器的原理图设计 1、Quartus Ⅱ原理图设计流程 (1)建立文件夹,取名为adder (2)原理图编辑输入 a.打开原理图编辑器 b.建立一个初始的原理图 c.原理图文件存盘 d.建立原理图文件为顶层设计的工程 e.绘制半加器原理图 f.仿真测试半加器 (3)将设计项目设置成可以调用的元件 (4)设计全加器顶层文件 (5)将设计项目进行时序仿真 2、半加器 (1)原理图

(2)仿真测试结果 (3)RTL图

3、全加器 (1)原理图 (2)仿真测试结果

(3)RTL图 三、全加器的例化语句法设计 1、vriloge语言描述 begin case({a,b}) 0:begin so=0;co=1'b0;end

1:begin so=1;co=1'b0;end 2:begin so=1;co=1'b0;end 3:begin so=0;co=1'b1;end default:begin so=0;co=0;end endcase end endmodule module or2a(a,b,c); output c; input a,b; assign c=a|b; endmodule module f_adder(ain,bin,cin,cout,sum); output cout,sum; input ain,bin,cin; wire e,d,f; h_adder u1(ain,bin,e,d); h_adder u2(.a(e),.so(sum),.b(cin),.co(f)); or2a u3(.a(d),.b(f),.c(cout)); endmodule

四位全加器实验报告

武汉轻工大学 数学与计算机学院 《计算机组成原理》 实验报告 题目:4位二进制计数器实验 专业:软件工程 班级:130X班 学号:1305110XXX 姓名:XX 指导老师:郭峰林 2015年11月3日

【实验环境】 1. Win 7 2. QuartusII9.1计算机组成原理教学实验系统一台。 【实验目的】 1、熟悉VHDL 语言的编写。 2、验证计数器的计数功能。 【实验要求】 本实验要求设计一个4位二进制计数器。要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。(其次要求下载到实验版实现显示) 【实验原理】 计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下: 计数器的种类??????? ?????????????????????进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器 加法计数器功能异步计数器同步计数器结构N 、、、321 下面对同步二进制加法计数器做一些介绍。 同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。因此不能使用T ′触发器。应控制触发器的输入端,即将触发器接成T 触发器。只有当低位向高位进位时(即低位全1时再加1),令高位触发器的T=1,触发器翻转,计数加1。 例如由JK 触发器组成的4位同步二进制加法计数器,令其用下降沿触发。下面分析它的工作原理。 ①输出方程 n n n n Q Q Q Q CQ 0123= ②驱动方程

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

EDA实验报告完整版

数字系统设计基础实验报告 实验名称: 1.组合电路设计___ 2.失序电路设计___ 3.计数器的设计___ 4.原理图设计加法器 学号:___ 08093342__ ____ 姓名:___ 姚伟_______ 班级: __ 计科09-1班_____ 老师:__ ______ 中国矿业大学计算机学院 2011年10月27日

实验一:组合电路的设计 一.实验目的 熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、仿真和硬件测试。 二.实验任务 任务1:利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤,得出仿真波形。最后在试验系统上进行硬件测试,验证本项设计的功能。 任务2:将此多路选择器看成是一个元件mux21a,利用元件例化语句描述电路图,并将此文件放在同一目录中。 对于任务中的例子分别进行编译、综合、仿真,并对其仿真波形作出分析说明。 三.实验过程 1.新建一个文件夹,取名CNT10。 2.输入源程序。 3.文件存盘,文件名为cnt10,扩展名为.vhd。 4.创建工程,按照老师要求对软件进行设置。 5.进行失序仿真,得到仿真图形。 四.实验程序 任务1: entity CNT10 IS port (a,b,s:in bit; y:out bit); end entity CNT10; architecture one of CNT10 is begin process (a,b,s) if s='0' then y<=a; else y<=b; end if; end process; end architecture one; 任务2: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS PORT (s0,s1: in STD_LOGIC; a1,a2,a3: in STD_LOGIC;

EDA实验报告(四位全加器的实现)

实验一四位全加器的实现 一、实验目的 1、掌握Quartus9.0图形编辑输入法 2、掌握Quartus环境下文件的编译、仿真及下载方法 3、了解VHDL语言的设计流程 4、掌握quartus环境下VHDL的使用方法 二、实验内容 1、用图形/原理图法实现4位全加器。 2、用VHDL语言实现4位全加器,必须使用元件例化。 3、仿真并通过。 3、下载到实验板,并验收 三、实验步骤 1、图形编辑发设计4位加法器 (1)新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。 图1-1 (2)将设计好的一位全加器进行例化,操作为file→Create/Update→Create symbol files for currentfile,完成此操 作后会在元器件符号表里找到刚刚做好的一位全加器。 (3)再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。编辑好后保存文件, 在文件列表里找到该文件,右键→Set as Top-level Entity,将其设 置为顶层文件,点击编译按钮就行编译。

图1-2 (4)新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。若不 正确,查找问题所在并解决问题;若正确,则进行管脚分配,分 配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文 件下载到开发板进行验证。 2、用VHDL语言设计4位加法器 (1)新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL实现一位全加器,其VHDL代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY adde1r IS PORT(A,B,Ci:IN STD_LOGIC; S,Co:OUT STD_LOGIC); END adder1; ARCHITECTURE qadder OF adder1 IS BEGIN PROCESS(A,B,Ci) VARIABLE n1,n2,n3:STD_LOGIC; BEGIN n1:=A AND B; n2:=A XOR B;

相关主题