南京邮电大学软件设计VHDL实验报告
通信与信息工程学院
/ 年第 2 学期
软件设计实验报告
模块名称VHDL 专业通信工程
学生班级
学生学号
学生姓名
指导教师梅中辉
设计题目 基本课题:04. 2对4译码器
综合课题:18. 奇偶校验器
任务要求 1.基本课题:设计一个2对4译码器(输入:A B 输出:Y3 Y2
Y1 Y0),真值表如图2。
2. 奇偶校验器系统的功能是对八位二进制数据及其奇偶校验位的
输入进行校验,输出正确的奇、偶校验位。
ODD_IN 与EVEN_IN 是控
制奇校验和偶校验功能输入,IN0到IN7是七位数据及一位校验位
数据输入,IN_READY 表示输入数据已经准备好,能够处理,当
OUT_REQ 输入表示要求输出数据,CLK 端口用于接收时钟信号,支
持系统的时钟上升沿同步。
当输出端口OUT_READY 输出信号有效
时,表示输出数据已经准备好,能够为下级电路使用,ODD_OUT 与
EVEN_OUT 用来输出正确的奇偶校验位。
上述控制端口均为高电平有
效。
A B Y3 Y2 Y1 Y0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 实验设备及软件
1. 微型计算机 2. EDA-VHDL 开发软件
同组人员学号及姓
名
11001803 胡雪琪
参考文献 1. 张顺兴 《数字电路与系统设计》东南大学出版社 .8
2. 苗丽华《VHDL 数字电路设计教程》人民邮电出版社 .11 VHDL
课程设计题目及要求(自编资料)
3. VHDL 课程设计题目及要求(自编资料)
4. 杨晓慧 杨永健 《基于FPGA 的EDA/SOPC 技术与VHDL 》 国防工
业出版社 .7
5. Peter J. Ashenden 《The VHDL Cookbook 》Dept. Computer
Science University of Adelaide South Australia July,
1990
报告内容
一. 实验目的
1.掌握组合逻辑中译码器电路的设计原理。
2.能利用VHDL 语言设计一个2-4译码器。
二. 实验器件
1.微型计算机
2.EDA-VHDL 开发软件
三. 实验名称
2-4译码器
四. 题目要求概述
设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图
五. 系统分析
○
1.原理图:
分析:EN=1,Z[0]=Z[1]=Z[2]=Z[3]=1;
EN=0,Z[0]=!(!A!B ),Z[1]=!(!AB),Z[2]=!(A!B),Z[3]=!AB
○
2.设计算法: A B Y3 Y2 Y1 Y0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY XiaoLi IS --定义实体名称为XiaoLi
PORT( EN:IN STD_LOGIC; --定义输入/输出端口a:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END XiaoLi;
ARCHITECTURE dataxl OF XiaoLi IS
BEGIN
PROCESS(EN,a)
BEGIN
IF(EN='0')THEN
CASE a IS --用CASE语句进行译码
WHEN "00"=>y<="1110";
WHEN "01"=>y<="1101";
WHEN "10"=>y<="1011";
WHEN "11"=>y<="0111";
WHEN OTHERS=>y<="0000";
END CASE;
ELSE y<="1111";
END IF;
END PROCESS;
END dataxl;
○3设计要点:
1. 2-4译码器有一个使能端EN,低电平有效,因此要用到IF语句分情况处理,当EN=1时,输出全为逻辑1;当EN=0时,在使能下对输入进行译码输出。
2. 在2-4译码器中,要求根据相应的输入译码得到相应的输出,这需要用到CASE语句,根据满足的条件直接选择相应的顺序语句执行。
然后根据题目要求进行设置。
六.逻辑仿真图及功能分析
逻辑仿真图:
功能分析:EN=1时,y[0..3]=1111
EN=0时,a[0..1]=00,y[0..3]=1110
a[0..1]=01,y[0..3]=1101
a[0..1]=10,y[0..3]=1011
a[0..1]=11,y[0..3]=0111
七.时序仿真及分析
时序仿真:
EN=0
EN=1
分析:EN=1时,y3y2y1y0=111
EN=0时,a1a0=00,y3y2y1y0=1110; a1a0=01, y3y2y1y0=1101;
a1a0=10,y3y2y1y0=1011; a1a0=11,y3y2y1y0=0111.
五.调试过程与问题
1.创立工程:
在File/NewProjectWizard里输入工程路径作为当前的工作目录,工程名和顶层文件实体名为必须相同设为XiaoLi。
其中目标器件选取Altera公司Cyclone2的EP2C8T144C8。
2建立文本/编辑文件:
在File/New里选取VHDL File文件类型,输入相应代码后保存文件,要保存在已建立的文件夹里,存盘文件名要与实体名保持一致,即XiaoLi.vhd。
若不一致,在编译过程中会出现错误,在顶层文件中找不到要编译的文件。
3编译综合:
执行Processing/Compiler Tool,启动编译器,编译成功后显示编译报告。
选择Tool/Netlist Viewer/Technology Map Viewer观察生成后的门级电路原理图。
对于不同的目标器件,尽管逻辑功能一样,可是其门级电路的结构是不一样。
2-4译码器综合后的门级电路原理图:。