22.优先编码器VHDL程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆科创职业学院授课方案(教案)
课名:教 师:
班级:编写时间:
课题:
优先学目的及要求:
1.掌握用VHDL设计实现优先编码器
2.掌握VHDL优先级别的设置语法
教学重点:优先编码器VHDL程序的实现
教学难点:优先级高低的实现
教学步骤及内容 :
一.复习旧课
二.新课
1.以8-3优先编码器为例,介绍优先编码的原理及VHDL实现。
ys<='1';
yex<='1';
else
ifi(7)='0' then
y<="000";
ys<='1';
yex<='0';
elsifi(6)='0' then
y<="001";
ys<='1';
yex<='0';
elsifi(6)='0' then
y<="001";
ys<='1';
yex<='0';
elsifi(5)='0' then
y<="010";
ys<='1';
yex<='0';
elsifi(4)='0' then
y<="011";
ys<='1';
yex<='0';
elsifi(3)='0' then
y<="100";
ys<='1';
yex<='0';
elsifi(2)='0' then
y<="101";
ys<='1';
yex<='0';
elsifi(1)='0' then
旁批栏:
y<="110";
ys<='1';
yex<='0';
elsifi(0)='0' then
y<="111";
ys<='1';
yex<='0';
elsifi="11111111" then
y<="111";
ys<='0';
2.VHDL基本知识讲解
If…else 语句的讲解。
3.设计过程:
(1)输入设计项目并将其设为当前项目;
(2)在文本编辑窗中设计输入8-3优先编码器的VHDL代码:
Libraryieee;
use ieee.std_logic_1164.all;
entity yxbm8_3 is
port(i:instd_logic_vector(7downto0);
s:instd_logic;
y:outstd_logic_vector(2 downto0);
ys,yex:outstd_logic);
end yxbm8_3;
architecturertlof yxbm8_3 is
begin
process(i,s)
旁批栏:
begin
if s='1' then
y<="111";
创建波形文件—输入信号节点—设置仿真时间—编辑输入节点波形-运行仿真。
6.引脚指定:
指定输入输出对应的芯片的引脚,注意一些引脚不能用。选择菜单命令Assign | Pin/Location/Chip,将设计的优先编码器与目标芯片(EPM7128SLC84-10)联系起来。
7.程序下载:
Max+PlusII-progeammer-JTAG-Multi-DeviceJTAG chain setup-Select Programming file–找到.pof文件-add-OK
8.实验箱上现象的分析描述与验证。
三.小结
对学生在实验过程中遇到的问题进行分析,总结,做出合理的评价。
四.作业
将程序输入到MAX+PLUS II软件进行相关操作,完成实验报告。
旁批栏:
yex<='1';
end if;
end if;
end process;
endrtl;
4.项目编译:
选择目标器件。选择菜单命令Assign | Device,弹出Device对话框。选择对话框的Device Family下拉列表框中的目标器件(EPM7128SLC84-10)引脚指定,编译。
5.项目时序仿真:
课名:教 师:
班级:编写时间:
课题:
优先学目的及要求:
1.掌握用VHDL设计实现优先编码器
2.掌握VHDL优先级别的设置语法
教学重点:优先编码器VHDL程序的实现
教学难点:优先级高低的实现
教学步骤及内容 :
一.复习旧课
二.新课
1.以8-3优先编码器为例,介绍优先编码的原理及VHDL实现。
ys<='1';
yex<='1';
else
ifi(7)='0' then
y<="000";
ys<='1';
yex<='0';
elsifi(6)='0' then
y<="001";
ys<='1';
yex<='0';
elsifi(6)='0' then
y<="001";
ys<='1';
yex<='0';
elsifi(5)='0' then
y<="010";
ys<='1';
yex<='0';
elsifi(4)='0' then
y<="011";
ys<='1';
yex<='0';
elsifi(3)='0' then
y<="100";
ys<='1';
yex<='0';
elsifi(2)='0' then
y<="101";
ys<='1';
yex<='0';
elsifi(1)='0' then
旁批栏:
y<="110";
ys<='1';
yex<='0';
elsifi(0)='0' then
y<="111";
ys<='1';
yex<='0';
elsifi="11111111" then
y<="111";
ys<='0';
2.VHDL基本知识讲解
If…else 语句的讲解。
3.设计过程:
(1)输入设计项目并将其设为当前项目;
(2)在文本编辑窗中设计输入8-3优先编码器的VHDL代码:
Libraryieee;
use ieee.std_logic_1164.all;
entity yxbm8_3 is
port(i:instd_logic_vector(7downto0);
s:instd_logic;
y:outstd_logic_vector(2 downto0);
ys,yex:outstd_logic);
end yxbm8_3;
architecturertlof yxbm8_3 is
begin
process(i,s)
旁批栏:
begin
if s='1' then
y<="111";
创建波形文件—输入信号节点—设置仿真时间—编辑输入节点波形-运行仿真。
6.引脚指定:
指定输入输出对应的芯片的引脚,注意一些引脚不能用。选择菜单命令Assign | Pin/Location/Chip,将设计的优先编码器与目标芯片(EPM7128SLC84-10)联系起来。
7.程序下载:
Max+PlusII-progeammer-JTAG-Multi-DeviceJTAG chain setup-Select Programming file–找到.pof文件-add-OK
8.实验箱上现象的分析描述与验证。
三.小结
对学生在实验过程中遇到的问题进行分析,总结,做出合理的评价。
四.作业
将程序输入到MAX+PLUS II软件进行相关操作,完成实验报告。
旁批栏:
yex<='1';
end if;
end if;
end process;
endrtl;
4.项目编译:
选择目标器件。选择菜单命令Assign | Device,弹出Device对话框。选择对话框的Device Family下拉列表框中的目标器件(EPM7128SLC84-10)引脚指定,编译。
5.项目时序仿真: