EDA实验七人表决器的操作步骤

写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII 软件设计由多个模块构成的数字系统的主要步骤,及注意事项。希望对前几个实验未能完全掌握的同学有所帮助。

3.3.2实验内容

基于QuartusII 软件及VHDL 语言实现七人表决器。当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。用7个电平开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。

本实验4学时。

3.3.3实验仪器

ZY11EDA13BE 型实验箱。

3.3.4实验原理

分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。投票计数模块,用来统计赞成和反对的人数,数码显示模块以数码管动态扫描的形式,将赞成和反对的人数显示在数码管上。

实验具体步骤如下:

一、建立项目

(1

)新建文件夹。路径及文件名中不可出现汉字。

(2)新建项目。项目取名为bjq7,特别强调的是项目名取好后,顶层文件名必须与项目名一致。一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层

文件,只有顶层文件名可以且必须与项目名相同。

(3)选择芯片

二、建立文件

1. 建立投票计数模块。

(1)新建VHDL

文件

(2)编辑VHDL 程序。投票计数模块输入为七个电平开关input ,输出为同意的人数agree ,反对的人数disagree ,是否通过指示灯y ,程序清单如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity BJQ is

port (input:instd_logic_vector(6downto 0);

agree:outstd_logic_vector(3downto 0);

disagree:outstd_logic_vector(3downto 0);

y:outstd_logic);

end;

architecture one of BJQ is

begin

process(input)

variable cnt:integerrange 0to 7;

variable cnt0:integerrange 0to 7;

begin

cnt:=0;

for i in 6downto 0loop

if input(i)='1'then

cnt:=cnt+1;

end if;

end loop;

cnt0:=7-cnt;

if cnt>3then y

else y

end if;

case cnt is

when 0=>agree

when 1=>agree

when 2=>agree

when 3=>agree

when 4=>agree

when 5=>agree

when 6=>agree

when 7=>agree

when others=>agree

end case;

case cnt0is

when 0=>disagree

when 1=>disagree

when 2=>disagree

when 3=>disagree

when 4=>disagree

when 5=>disagree

when 6=>disagree

when 7=>disagree

when others=>disagree

end case;

end process;

end;

程序输入完成后进行保存,名字与实体名一致BJQ 。

(3)对表决器程序编译。点击Project Navigator 小窗口下方的Files ,可以看到项目中

已有的文件。

选中BJQ.vhd ,点击右键选择“set as top-level entity ”,此步骤将BJQ.vhd 设置为当前需要编译的文件。每次编译前都要进行此步骤,告诉EDA

软件,当前要编译哪个文件。

执行“Processing ”菜单下的“Start Compilation ”命令,开始编译。

(2)数码管显示模块建立

步骤与投票计数模块方法相同,新建VHDL 文件、输入程序、设置为顶层实体、编译。程序清单如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity XIANSHI is

port (led:outstd_logic_vector(0to 6);

agree:instd_logic_vector(3downto 0);

disagree:instd_logic_vector(3downto 0);

clk:instd_logic);

end;

architecture one of XIANSHI is

signal qn:std_logic_vector(3downto 0);

begin

process(clk,agree,disagree)

begin

case clk is

when '0'=>qn

when '1'=>qn

when others=>qn

end case;

case qn is

when "0000"=>led

when "0001"=>led

when "0010"=>led

when "0011"=>led

when "0100"=>led

when "0101"=>led

when "0110"=>led

when "0111"=>led

when others=>led

end case;

end process;

end;

(3)将VHDL 文件生成原理图可调用的器件

点击Project Navigator 小窗口下方的Files ,选中BJQ.vhd ,点击右键选择“Create Symbol Files for current File ”,将BJQ 的VHDL

文件生成为可调用的器件。

生成器件成功后显示“Create Symbol File was successful ”

同样方法对XIANSHI.vhd

进行操作。

(4)建立顶层文件

各个模块建立好后,需要建立顶层文件。本实验在原理图中将所有模块连接起来,实现数字系统的功能。因此,原理图为本项目的顶层文件,顶层文件名必须与项目名相同,并且只有顶层文件可以与项目名相同,保存为bjq7,与最开始建立项目时所取的项目名一致,

如下图。

在原理图文件中,双击画图区域,输入所生成的VHDL 器件的名字(即VHDL 程序的文件名)BJQ

,就可以调用上面步骤所生成的相应的器件,如下图。

在原理图文件中,连接各个功能模块,设置输入输出,如下图。需要特别注意的是,一位二进制数据连接是用细线,多位二进制数据用粗线

,多位二进制数输入或输出的命名方式为in[6..0],与模块内的数据格式一致,如下

图所示。

原理图编辑好后,需要对其进行编译。点击Project Navigator 小窗口下方的Files ,选中bjq.bdf

,将其设置为当前顶层实体,进行编译。

三、管脚分配

通过管脚分配使设计的数字系统控制实验箱。选择菜单栏中的Assignments 下的“Pins ”,进入管脚分配界面。

参照实验书18页。79为实验箱上第一排时钟,45、46、47、53、54、55、56控制实验箱上电平开关,10,11,12,13,14,15,16为实验箱数码管的七段译码数据输入端,管脚7为数码管片选端,控制将哪个数码管点亮,19为LED

灯显示是否通过。

管脚分配好后,回到主界面对顶层文件进行编译。

四、程序下载。

编译成功后,将所设计的数字系统下载到实验箱芯片上,方法与实验一的下载步骤相同。下载时,(1)打开实验箱侧面总开关,(2)打开实验箱右上角第一个黄色按钮开关APW1,

(3)关闭实验箱左下角按钮开关(关闭时钟源),(4)实验箱红色模式选择开关,6、7为下,其余拨到上端,点击下载。下载成功后,打开时钟开关。

写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII 软件设计由多个模块构成的数字系统的主要步骤,及注意事项。希望对前几个实验未能完全掌握的同学有所帮助。

3.3.2实验内容

基于QuartusII 软件及VHDL 语言实现七人表决器。当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。用7个电平开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。

本实验4学时。

3.3.3实验仪器

ZY11EDA13BE 型实验箱。

3.3.4实验原理

分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。投票计数模块,用来统计赞成和反对的人数,数码显示模块以数码管动态扫描的形式,将赞成和反对的人数显示在数码管上。

实验具体步骤如下:

一、建立项目

(1

)新建文件夹。路径及文件名中不可出现汉字。

(2)新建项目。项目取名为bjq7,特别强调的是项目名取好后,顶层文件名必须与项目名一致。一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层

文件,只有顶层文件名可以且必须与项目名相同。

(3)选择芯片

二、建立文件

1. 建立投票计数模块。

(1)新建VHDL

文件

(2)编辑VHDL 程序。投票计数模块输入为七个电平开关input ,输出为同意的人数agree ,反对的人数disagree ,是否通过指示灯y ,程序清单如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity BJQ is

port (input:instd_logic_vector(6downto 0);

agree:outstd_logic_vector(3downto 0);

disagree:outstd_logic_vector(3downto 0);

y:outstd_logic);

end;

architecture one of BJQ is

begin

process(input)

variable cnt:integerrange 0to 7;

variable cnt0:integerrange 0to 7;

begin

cnt:=0;

for i in 6downto 0loop

if input(i)='1'then

cnt:=cnt+1;

end if;

end loop;

cnt0:=7-cnt;

if cnt>3then y

else y

end if;

case cnt is

when 0=>agree

when 1=>agree

when 2=>agree

when 3=>agree

when 4=>agree

when 5=>agree

when 6=>agree

when 7=>agree

when others=>agree

end case;

case cnt0is

when 0=>disagree

when 1=>disagree

when 2=>disagree

when 3=>disagree

when 4=>disagree

when 5=>disagree

when 6=>disagree

when 7=>disagree

when others=>disagree

end case;

end process;

end;

程序输入完成后进行保存,名字与实体名一致BJQ 。

(3)对表决器程序编译。点击Project Navigator 小窗口下方的Files ,可以看到项目中

已有的文件。

选中BJQ.vhd ,点击右键选择“set as top-level entity ”,此步骤将BJQ.vhd 设置为当前需要编译的文件。每次编译前都要进行此步骤,告诉EDA

软件,当前要编译哪个文件。

执行“Processing ”菜单下的“Start Compilation ”命令,开始编译。

(2)数码管显示模块建立

步骤与投票计数模块方法相同,新建VHDL 文件、输入程序、设置为顶层实体、编译。程序清单如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity XIANSHI is

port (led:outstd_logic_vector(0to 6);

agree:instd_logic_vector(3downto 0);

disagree:instd_logic_vector(3downto 0);

clk:instd_logic);

end;

architecture one of XIANSHI is

signal qn:std_logic_vector(3downto 0);

begin

process(clk,agree,disagree)

begin

case clk is

when '0'=>qn

when '1'=>qn

when others=>qn

end case;

case qn is

when "0000"=>led

when "0001"=>led

when "0010"=>led

when "0011"=>led

when "0100"=>led

when "0101"=>led

when "0110"=>led

when "0111"=>led

when others=>led

end case;

end process;

end;

(3)将VHDL 文件生成原理图可调用的器件

点击Project Navigator 小窗口下方的Files ,选中BJQ.vhd ,点击右键选择“Create Symbol Files for current File ”,将BJQ 的VHDL

文件生成为可调用的器件。

生成器件成功后显示“Create Symbol File was successful ”

同样方法对XIANSHI.vhd

进行操作。

(4)建立顶层文件

各个模块建立好后,需要建立顶层文件。本实验在原理图中将所有模块连接起来,实现数字系统的功能。因此,原理图为本项目的顶层文件,顶层文件名必须与项目名相同,并且只有顶层文件可以与项目名相同,保存为bjq7,与最开始建立项目时所取的项目名一致,

如下图。

在原理图文件中,双击画图区域,输入所生成的VHDL 器件的名字(即VHDL 程序的文件名)BJQ

,就可以调用上面步骤所生成的相应的器件,如下图。

在原理图文件中,连接各个功能模块,设置输入输出,如下图。需要特别注意的是,一位二进制数据连接是用细线,多位二进制数据用粗线

,多位二进制数输入或输出的命名方式为in[6..0],与模块内的数据格式一致,如下

图所示。

原理图编辑好后,需要对其进行编译。点击Project Navigator 小窗口下方的Files ,选中bjq.bdf

,将其设置为当前顶层实体,进行编译。

三、管脚分配

通过管脚分配使设计的数字系统控制实验箱。选择菜单栏中的Assignments 下的“Pins ”,进入管脚分配界面。

参照实验书18页。79为实验箱上第一排时钟,45、46、47、53、54、55、56控制实验箱上电平开关,10,11,12,13,14,15,16为实验箱数码管的七段译码数据输入端,管脚7为数码管片选端,控制将哪个数码管点亮,19为LED

灯显示是否通过。

管脚分配好后,回到主界面对顶层文件进行编译。

四、程序下载。

编译成功后,将所设计的数字系统下载到实验箱芯片上,方法与实验一的下载步骤相同。下载时,(1)打开实验箱侧面总开关,(2)打开实验箱右上角第一个黄色按钮开关APW1,

(3)关闭实验箱左下角按钮开关(关闭时钟源),(4)实验箱红色模式选择开关,6、7为下,其余拨到上端,点击下载。下载成功后,打开时钟开关。


相关文章

  • EDA实验一 七人表决器
  • 河 北 科 技 大 学 实 验 报 告 2013级 电信 专业 132 班 学号130701213 2016年5月23日 姓 名 田继辉 同组人 指导教师 于国庆 实验名称 实验一 七人表决器 成 绩 实验类型 设计型 批阅教师 一.实验目 ...查看


  • 七人表决器课程设计报告
  • 课 程 设 计 课程名称 硬件描述语言与EDA 技术 题目名称 硬件描述语言与EDA 技术实践 学生学院 材料与能源 专业班级 11微电子学(1)班 学 号 学生姓名 指导教师 2014年 6月 27日 广东工业大学课程设计任务书 题目名称 ...查看


  • 七人表决器设计
  • ※※※※※※※※※ ※※ 2011级EDA ※※※※ 课程设计 ※※※※※ ※ ※ ※※ EDA 课程设计报告书 课题名称 姓 名 学 号 院.系.部 专 业 指导教师 2013年12月3日 七人表决器设计 电气系 电子信息工程 七人表决器 ...查看


  • 数字电路实验(1)基础实验
  • 电子技术基础实验(二)2.1 集成门电路的逻辑功能与QII应用 哈尔滨工程大学信息与通信工程学院 电子技术基础教研室  课程介绍 实验室守则 实验考核 实验内容 2.1.1. 2014092100 课程介绍 简介 课程介绍 2009 ...查看


  • 7人表决控制电路
  • 摘 要 7人表决控制电路是一简单的输入信号检测与处理.产生输出控制信号的逻辑电路.本文详细介绍了依据功能要求进行控制电路方案设计的过程,并在此基础上将整体电路分为输入信号处理模块, 计时模块, 译码模块,比较模块,显示模块等主要功能模块.实 ...查看


  • 湖南工业大学EDA实验报告
  • EDA技术及应用-Verilog HDL版 实 验 报 告 实验一 数字秒表的设计 一. 实验类型 综合性实验 二.实验仪器设备与工具软件 1.PC机(要求内存在256M以上): 2.EDA实验开发系统: 3.Quartus II软件 三. ...查看


  • 智能抢答器设计
  • 能力拓展训练 题 目 学 院 专 业 班 级 姓 名 指导教师 智能抢答器设计 2013年6月24日 能力拓展训练任务书 学生姓名: 专业班级: 指导教师: 工作单位: 自动化学院 题 目: 智能抢答器设计 初始条件:计算机.Max+plu ...查看


  • 加法器实验报告
  • 实验三 加法器的设计与仿真 一.实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证. 二.实验内容 1.熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计.文本设计. 波形设计) ...查看


  • EDA课程设计论文()
  • <EDA技术>课程结业论文 题目:交通灯控制器 姓 名: 班 级: 学 号: 指导教师: 日期:2012年4月30日 摘 要 EDA(Electronic Design Automation)-电子设计自动化,作为现代电子信息工 ...查看


热门内容