VHDL实验报告——8-3优先编码器(免费哦~)

合集下载

3 译码器和编码器的仿真实验报告

3 译码器和编码器的仿真实验报告

实验三译码器与编码器的设计与仿真一、实验内容1.参照芯片74LS138的电路结构,用VHDL语言设计3-8译码器;2.参照芯片74LS148的电路结构,用VHDL语言设计8-3优先编码器。

二、电路功能介绍1.74148:8-3优先编码器(8 to 3 Priority Encoder)用途:将各种输入信号转换成一组二进制代码,使得计算机可以识别这一信号的作用。

键盘里就有大家天天打交道的编码器,当你敲击按键时,被敲击的按键被键盘里的编码器编码成计算机能够识别的ASCII码。

译码器与编码器的功能正好相反。

2.74138:3-8译码器(3 to 8 Demultiplexer),也叫3-8解码器用途:用一组二进制代码来产生各种独立的输出信号,这种输出信号可以用来执行不同的工作。

显示器中的像素点受到译码器的输出控制。

逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号之间的逻辑关系,既省事又直观。

如下图所示。

一、编码器1.VHDL实现library IEEE;use IEEE.std_logic_1164.all;entity pencoder isport ( i7,i6,i5,i4,i3,i2,i1,i0:in STD_LOGIC;a2,a1,a0,idle:out STD_LOGIC);解码信号输出端低电平有效代码输入端使能输入端end pencoder;architecture pencoder_arch of pencoder issignal h:STD_LOGIC_VECTOR(7 downto 0);beginh(7)<=i7;h(6)<=i6 and not i7;h(5)<=i5 and not i6 and not i7;h(4)<=i4 and not i5 and not i6 and not i7;h(3)<=i3 and not i4 and not i5 and not i6 and not i7;h(2)<=i2 and not i3 and not i4 and not i5 and not i6 and not i7;h(1)<=i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7;h(0)<=i0 and not i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7;idle<=not i0 and not i1 and not i2 and not i3 and not i4 and not i5 and not i6 and not i7;a0<=h(1) or h(3) or h(5) or h(7);a1<=h(2) or h(3) or h(6) or h(7);a2<=h(4) or h(5) or h(6) or h(7);2.波形图:3.逻辑图:4.用途:将各种输入信号转换成一组二进制代码,使得计算机可以识别这一信号的作用。

fpga___8-3编码器的设计

fpga___8-3编码器的设计

实验4 8-3编码器的设计一、实验目的学习采用VHDL设计8-3编码器,并使用MAX+plus Ⅱ进行仿真。

二、实验条件1、PC机一台。

2、开发软件:Max+plusⅡ。

3、实验设备:GW48-CK EDA实验开发系统。

4、选用芯片:ACEX系列EP1K30TC144-3。

三、实验原理:编码器可将2N个分离的信息代码以N个二进制码来表示。

编码器常常应用于影音压缩或通信方面,以达到精简传输量的目的。

可以将编码器看成压缩电路,译码器看成解压缩电路。

传送数据前先用编码器压缩数据后再传送出去,在接收端则由译码器将数据解压缩,还原为原来的数据。

这样,在传送过程中,就可以以N个数码来代替2N个数码的数据量,以提升传输效率。

编码器又分为普通编码器和优先级编码器。

优先级编码器常用于中断的优先级控制,如图1所示,74LS148是一个8输入,3位二进制码输出的优先级编码器,表1为74LS148真值表。

当某一个输入有效时,就可以输出一个对应的3位二进制编码。

另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应的二进制编码。

图1 8-3编码器74LS148管脚图表 1 74LS148真值表四、实验步骤1、按照Max+plusⅡ的使用步骤,参考74LS148的相关资料,利用MAX+plusⅡ完成8-3编码器的文本输入和仿真等步骤,给出VHDL程序及仿真波形。

2、在GW-48实验系统上下载验证,记录管脚设置。

五、实验报告:根据以上的实验内容写出实验报告,程序设计;给出程序分析报告、仿真波形图及其分析报告。

六、参考资料1、参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ENCODE8_3 ISPORT (A :IN STD_LOGIC_VECTOR(7 DOWNTO 0);Y :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END ENTITY ENCODE8_3;ARCHITECTURE ART OF ENCODE8_3 ISBEGINWITH A SELECTY<="000"WHEN"11111110","001"WHEN"11111101","010"WHEN"11111011","011"WHEN"11110111","100"WHEN"11101111","101"WHEN"11011111","110"WHEN"10111111","111"WHEN"01111111","000"WHEN OTHERS;END ARCHITECTURE ART;2、波形仿真结果图2 波形仿真图3、管脚参考设置图3 管脚参考设置。

FPGA Verilog HDL 系列实例--8-3编码器

FPGA Verilog HDL 系列实例--8-3编码器

Verilog HDL 之直流电机PWM控制一、实验前知识准备在上一篇中总结了步进电机的控制,这次我将学习一下直流电机的控制,首先,我们简要了解下步进电机和直流电机的区别。

(1)步进电机是以步阶方式分段移动,直流电机通常采用连续移动的控制方式。

(2)步进电机采用直接控制方式,它的主要命令和控制变量都是步阶位置;直流电机则是以电机电压为控制变量,以位置或速度为命令变量。

(3)直流电机需要反馈控制系统,他会以间接方式控制电机位置。

步进电机系统多半以“开环方式”进行操作。

1、什么是直流电机输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。

当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

2、什么是PWMPWM(脉冲宽度调制)是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

3、开发平台中直流电机驱动的实现开发板中的直流电机的驱动部分如图1.1所示。

利用FPGA设计一个0、1组成的双极性PWM发生器。

图1.1 直流电机的驱动部电路二、实验平台Quartus II 7.2 集成开发环境、SOPC-MBoard板、ByteBlaster II 下载电缆三、实验目标1、了解直流电机PWM的控制方法。

2、具有调速功能。

四、实验实现详细实现步骤请参考【连载】FPGA Verilog HDL 系列实例--------8-3编码器1、在设计文件中输入Verilog代码。

66 endmodule2、分析思考:(1)如何控制顺时针转和逆时针转?(2)速度的大小如何控制的?第38行~第53行:由2个引脚控制生成双极性PWM发生器。

结论:(1)以MA_r[0]为准,当状态0的时间大于状态1的时间时,电机逆时针转动;反之,电机顺时针转动。

EDA课程设计报告8线-3线优先编码器

EDA课程设计报告8线-3线优先编码器

Xxxxx学院《EDA技术》课程报告设计题目:8线-3线优先编码器班级:应用电子1101班姓名:学号:指导老师:日期:目录一、8-3优先编码器设计原理分析 (3)二、8-3优先编码器模块的源程序 (3)三、8-3优先编码器仿真结果 (4)四、设计总结和心得体会 (5)五、参考资料 (5)一、8-3优先编码器设计原理分析8-3优先编码器输入信号为din0,d in1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。

输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。

也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。

因为din0到din7共8中状态,可以用3位二进制编码来表示。

8-3优先编码器真值表如下表所示。

表1 8-3优先编码器真值表二、8-3优先编码器模块的源程序8-3优先编码器由VHDL程序来实现,VHDL语言描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder ISPORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2);EANABLE: in std_logic );END coder;ARCHITECTURE behav OF coder ISSIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINPROCESS (din)BEGINIF (EANABLE='0') THENIF (din(0)='1') THEN output <= "000" ;ELSIF (din(1)='1') THEN output <= "100" ;ELSIF (din(2)='1') THEN output <= "010" ;ELSIF (din(3)='1') THEN output <= "110" ;ELSIF (din(4)='1') THEN output <= "001" ;ELSIF (din(5)='1') THEN output <= "101" ;ELSIF (din(6)='1') THEN output <= "011" ;ELSE output <= "111" ;END IF ;ELSE output <="ZZZ";END IF;END PROCESS ;END behav;三、8-3优先编码器仿真结果8-3优先编码器由VHDL程序实现后,其仿真图如图2-1所示。

数理逻辑实验报告四

数理逻辑实验报告四

译码器与编码器的设计与仿真
一、实验内容
1.参照芯片74LS138的电路结构,用逻辑图和VHDL语言设计3-8译码器;
2.参照芯片74LS148的电路结构,用逻辑图和VHDL语言设计8-3优先编码器。

二、电路功能介绍
1.74148:8-3优先编码器(8 to 3 Priority Encoder)
用途:将各种输入信号转换成一组二进制代码,使得计算机可以
识别这一信号的作用。

键盘里就有大家天天打交道的编码器,当你敲击按键时,被敲击的按键被键盘里的编码器编码成计算机能够识别的ASCII码。

译码器与编码器的功能正好相反。

逻辑框图
逻辑功能表
逻辑表达式和逻辑图:由你来完成。

2.74138:3-8译码器(3 to 8 Demultiplexer),也叫3-8解码器
用途:用一组二进制代码来产生各种独立的输出信号,这种输出
信号可以用来执行不同的工作。

显示器中的像素点受到译码器的输出控制。

逻辑框图:用逻辑符号(Symbol)来解释该电路输入与输出信号
之间的逻辑关系,既省事又直观。

如下图所示。

逻辑功能表:用真值表来定量描述该电路的逻辑功能。

这个表是设计3-8译
码器的关键;74138的逻辑功能表如下:
注:使能端G1是高电平有效;
使能端G2是低电平有效,G2 = G2A AND G2B。

试验二8线——3线优先编码器74ls148功能测试及应用

试验二8线——3线优先编码器74ls148功能测试及应用

(3)验证优先编码器的真值表
真值表
W * X/
流人•柏比 j
1-P 4 和 4/
54
/ r*1
X-L Xt' 川* 中 Xr X/ *
A1^ 孙 i G&1
H/
MP
L* H, HF *
He HF H# HF w Hi bP HM
皿 X- w X X- 如 U1 3 i

L> X" Xu 必 * X*J
H/ HP
L¥ LP H** 3 L 卡 Lt1 FP L-
3 3 L:
田 Lt*
K>' 税 H# 始 LiJ t' 候 f* H" 尸 H3 4H* * H. t3

HK H*' «*
数字电子技术根底实验报告
实验二 8 线一一 3 线优先编码器 74LS148 功能测试及应用
专业
班级
姓名
学号Biblioteka 成绩通信工程一班
赵建倪
0134
一、实验目的 了解 8 线 3 线优先编码(74LS14®的根本功能; 掌握 74LS148 的使用方法; 二、实验内容 (1) 了解芯片的工作原埋 74LS148 工作原理:该编码器有 8 个信号输入端,3 个一进制码 输出端.此外,电路还设置了输入使能端 EI,输出使能端 E5 口优先编码工作 状态标志 GS 当 EI=0 时,编码器工作;而当 EI=1 时,那么不管 8 个输入端为 何种状态,3 个输出端均为高电平,且优先标志端和输出使能端均为高电平, 编他器处于非工作状态.这种情况被称为 输入低电平有效,输出也为低电来有效的情况.当 EI 为 0,且至少有一个输入 端有编码请求信号(逻辑 0)时,优先编码工作状态标志 GS 为 0.说明编他器处于工作状态,否那么为 1. (2) 了解芯片的结构,对照着具体的引脚接线

实验三-8线3线优先编码器

实验三-8线3线优先编码器

姓名学号实验日期成绩XXX XXXXXXX年月日实验三基本组合逻辑电路的PLD实现(2)●实验名称:利用原理图输入法与VerilogHDL输入法设计一个8线-3线优先编码器●实验目的:1.熟悉用可编程器件实现基本组合逻辑电路的方法。

2.进一步熟悉MAX+plus II软件的使用方法,熟悉原理图输入法和VerilogHDL输入法,进一步熟悉如何编译,器件选择,管脚分配和仿真。

●预习要求:1.回顾数字电路中关于优先编码器的相关知识。

●实验说明:1.用MAX+plus II软件开发PLD器件有两种设计输入方式:原理图输入和HDL语言输入方式,或者将两者结合起来,一部分电路采用原理图,另一部分采用HDL语言。

2.优先编码器的功能是允许同时在几个输入端有输入信号,编码器按照输入信号的优先等级对同时输入的多路信号中优先级最高的一路进行编码。

3.8线-3线优先编码器的真值表如下图所示:●实验内容与步骤:1.新建一个属于自己的工程目录。

2.新建一张电路图文档,调用8线-3线优先编码器芯片74148(注意其均是低电平有效),完成设计。

3.对电路图进行编译,仿真。

4.用VerilogHDL语言方式编写一个8线-3线优先编码器。

5.完成编译,管脚分配,并对模块进行仿真。

●实验报告要求:1.将自己绘制的电路图或者编写的VerilogHDL代码,截图或者复制到实验报告中。

2.将代码关键位置写上相应注释(可用中文)。

3.对仿真波形截图,贴到实验报告中。

●实验图表与数据:1. 8线-3线优先编码器电路图:2. 8线-3线优先编码器电路仿真波形:3 .8线-3线优先编码器Verilog代码:4. 8线-3线优先编码器Verilog代码仿真波形:。

Verilog-HDL-之-8-3编码器学习资料

Verilog-HDL-之-8-3编码器学习资料

V e r i l o g-H D L-之-8-3编码器Verilog HDL 之 8-3编码器原理:在数字系统中,常常需要将某一信息(输入)变换为某一特定的代码(输出)。

把二进制码按一定的规律排列,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数字或是控制信号)称为编码。

具有编码功能的逻辑电路称为编码器。

编码器有若干个输入,在某一时刻只有一个输入被转换为二进制码。

例如8线-3线编码器和10线-4线编码器分别有8输入、3位输出和10位输入、4位输出。

下面是8-3编码器的真值表。

实验环境:硬件:AR2000核心板、SOPC-MBoard板、PC 机、ByteBlaster II 下载电缆软件:ModelSim 、Altera Quartus II 7.2 集成开发环境。

实验步骤:1.打开Quartus II 7.2软件,选择File | New Project Wizard新建一个工程,在对话框中第一行选择工程路径,并为该工程新建一个文件夹。

本例中第二行输入工程名bm8_3;第三行是工程顶层设计文件名,该顶层设计文件名一定要与设计文件中模块名module一致,可以与工程名不同,但一般都和工程名一致。

如图1.1所示。

图1.1 在Quartus II中新建工程2.单击“Next”,此对话框是向工程中添加设计文件的。

现在还没有写设计文件,所以没有文件可以添加;直接单击“Next”,进入器件选择对话框。

在Family下拉菜单中选择Cyclone II 系列。

然后在Filters下的Package下拉菜单中选择封装形式FBGA,Pin count下拉菜单中选择管脚数672,Speed grade下拉菜单中选择速度级别8;然后在Available devices中选择EP2C35F672C8器件。

如图1.2所示。

图1.2 选择FPGA器件3.单击Finish,建立好工程。

向工程中添加设计文件,选择File | New ,在New对话框中选择Device Design Files下的Verilog HDL File,单击OK,完成新建设计文件。

EDA课程设计报告-8-3优先编码器EDA课程设计报告

EDA课程设计报告-8-3优先编码器EDA课程设计报告

Xxxx大学课程设计任务书课程硬件课程设计题目 8-3优先级编码器设计专业姓名学号主要内容、基本要求等一、主要内容:利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计8-3优先编码器。

可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。

最后在EL教学实验箱中实现。

二、基本要求:设计并实现一个8-3优先级编码器,要求I0优先级最高,I7优先级最低,编码输出为原码。

三、扩展要求:输入端加使能端,在使能端为有效的低电平时,进行编码;在使能端为无效的高电平时,输出高阻状态。

四、参考文献:[1] 杨刚,龙海燕.现代电子技术-VHDL与数据系统设计.北京:电子工业出版社,2004[2] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006[3] 潘松.VHDL实用教程[M].成都:电子科技大学出版社,2000[4] 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000[5] 宋振辉. EDA技术与VHDL.北京:北京大学出版社,2008完成期限18-19周指导教师张岩专业负责人富宇2011年6月28日目录第1章概述 (1)1.1 EDA的概念 (1)1.2 EDA技术及应用 (2)1.3 EDA技术发展趋势 (2)1.4 Quartus II特点介绍 (3)第2章硬件描述语言——VHDL (4)2.1 VHDL的简介 (4)2.2 VHDL语言的特点 (4)2.3 VHDL的设计流程 (5)第3章 8-3优先编码器的设计 (6)3.1 编码器的工作原理 (6)3.2 8-3优先编码器的设计 (6)3.3 8-3优先编码器仿真及分析 (7)3.4 在实验箱上实现8-3优先编码器 (8)结论 (11)参考文献 (12)第1章概述1.1EDA的概念EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

实验2--8线-3线优先编码器

实验2--8线-3线优先编码器

实验二 8线-3线优先编码器一、实验目的1、进一步熟悉MAX+PlusII软件的使用2、中午应用VHDL语言设计组合逻辑电路二、硬件要求1、EDA实验箱。

2、主芯片:EP1K100QC208-3或者EPM7128SLC84-15三、实验原理优先编码器电路允许同时输入俩个以上的输入信号,当几个输入信号同时出现时,只对其中优先权最高的进行编码三、实验原理及步骤1、根据真值表,设计出他的VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY encode ISPORT(input: IN STD_LOGIC_VECTOR(7 downto 0);EN : IN STD_LOGIC ;y0n,y1n,y2n,g1,g2 : OUT STD_LOGIC);END encode;ARCHITECTURE behav OF encode ISSIGNAL y : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINy0n<=y(0);y1n<=y(1);y2n<=y(2);PROCESS(input)BEGINIF EN='1' THENy<="111";g1<='1';g2<='1';ELSIF input(7)='0' THENy<="000";g1<='0';g2<='1';ELSIF input(6)='0' THENy<="001";g1<='0';g2<='1';ELSIF input(5)='0' THENy<="010";g1<='0';g2<='1';ELSIF input(4)='0' THENy<="011";g1<='0';g2<='1';ELSIF input(3)='0' THENy<="100";g1<='0';g2<='1';ELSIF input(2)='0' THENy<="101";g1<='0';g2<='1';ELSIF input(1)='0' THENy<="110";g1<='0';g2<='1';ELSIF input(0)='0' THENy<="111";g1<='0';g2<='1';ELSIF input="11111111" THENy<="111";g1<='1';g2<='0';END if;END PROCESS;END behav;2、对程序进行编译仿真,观察是否符合要求3、选择恰当的芯片CPLD FPGA芯片,并锁定引脚。

8-3译码器实验报告

8-3译码器实验报告

实验报告
学院:专业:班级:
8'b0100_0000:led<=3'b110; //当输入信号是位宽为8位的二进制数据01000000时,输出信号为位宽
为3位的二进制数据110
8'b1000_0000:led<=3'b111; //当输入信号是位宽为8位的二进制数据时,输出信号为位宽为3位的
二进制数据111
default :led<=3'b000; //当输入信号是位宽为8位的二进制数据00000001时,输出信号为位宽
为3位的二进制数据000
endcase //结束分支语句
end //结束循环语句
endmodule //结束模块




上图为波形仿真。

如图可知,当输入信号为00000001时,输出信号为000;输入信号为00000010时,输出信号为001;
输入信号为00000100时,输出信号为010;输入信号为00001000时,输出信号为011;输入信号为00010000时,输出信号为100;输入信号为00100000时,输出信号为101;输入信号为01000000时,输出信号为
注:各学院可根据教学需要对以上栏木进行增减。

表格内容可根据内容扩充。

8——3编码器 数电实验报告(完整版)

8——3编码器   数电实验报告(完整版)
3.仿真图的结果和源程序时对应的关系,此次仿真的编码器是普通编码器,没有优先级。
实验总结
1.由于编译环境是在软件:Altera QuartusⅡ9.0下进行的,而该软件是全英文版,在第一次做的时候总是多一个字母少一个字母的,所以为了适应该软件在课下要做好实验预习,同时也应该认真听老师讲课。
2.在选择工程路径和工程名以及顶层文件实体名时,要注意工程名必须与顶层实体名相同,而工程目录可以随便设置,但必须是英文的目录,工程名跟顶层实体名必须也是英文字母开头。
8'b0000_0010 : led <= 3'b001;//如果sw为8’b0000_0010,则led被赋值为3’b001;
8'b0000_0100 : led <= 3'b010;//如果sw为8’b0000_0100,则led被赋值为3’b010;
8'b0000_1000 : led <= 3'b011;//如果sw为8’b0000_1000,则led被赋值为3’b011;
8'b1000_0000 : led <= 3'b111;//如果sw为8’b1000_0000,则led被赋值为3’b111;
default : led <= 3'b000;//如果sw不是上面的值,则led被赋值为3’b000;
endcase//进程结束
end//实体结束
endmodule//结束模块
实验内容
编写8—3编码器的Verilog代码并仿真
实验数据
(图一)
(图二)
对实验结果的分析:
1.在设定sw的参数后,任意操作sw1——sw7,例如操作sw[4],则led被赋值为二进制的3’b100,然后回到源程序“output [2:0] led;”则被三位输出。

【连载】FPGAVerilogHDL系列实例--------8-3优先编码器

【连载】FPGAVerilogHDL系列实例--------8-3优先编码器

【连载】FPGAVerilogHDL系列实例--------8-3优先编码器Verilog HDL 之 8-3优先编码器原理: 在数字系统中,常常会有⼏个部件同时发出服务请求的可能,⽽在同⼀时刻只能给其中⼀个部件发出允许操作信号。

因此,必须根据轻重缓急,规定好这些控制对象允许操作的先后次序,即优先级别。

编码器有8个输⼊端,3个输出端。

还有⼀个输⼊使能EI,输出使能EO和优先编码器⼯作状态标志GS。

编码器以低为有效。

当EI=0 时,编码器⼯作;输出全为⾼。

输⼊优先级别的次序为7,6,5,…,0。

当某⼀输⼊端有低电平输⼊,且⽐它优先级⾼的输⼊没有低电平输⼊时,输出端才输出相应输⼊端的代码。

⼆、实现在设计⽂件中输⼊Verilog代码。

1 `timescale 1 ns / 1 ps23 module yxbm8_3 ( A ,I ,GS ,EO ,EI );45 input [7:0] I ;6 wire [7:0] I ;7 input EI ;8 wire EI ;910 output [2:0] A ;11 reg [2:0] A ;12 output GS ;13 reg GS ;14 output EO ;15 reg EO ;1617 always @ ( I or EI )18if ( EI )19 begin20 A <= 3'b111;21 GS <= 1;22 EO <= 1;23 end24else if ( I[7] == 0 )25 begin26 A <= 3'b000;27 GS <= 0;28 EO <= 1;29 end30else if ( I[6] == 0 )31 begin32 A <= 3'b001;33 GS <= 0;34 EO <= 1;35 end36else if ( I[5] == 0 )37 begin38 A <= 3'b010;39 GS <= 0;40 EO <= 1;41 end42else if ( I[4] == 0 )43 begin44 A <= 3'b011;45 GS <= 0;46 EO <= 1;47 end48else if ( I[3] == 0 )49 begin50 A <= 3'b100;51 GS <= 0;52 EO <= 1;53 end54else if ( I[2] == 0 )55 begin56 A <= 3'b101;57 GS <= 0;58 EO <= 1;59 end60else if ( I[1] == 0 )61 begin62 A <= 3'b110;63 GS <= 0;64 EO <= 1;65 end66else if ( I[0] == 0 )67 begin68 A <= 3'b111;69 GS <= 0;70 EO <= 1;71 end72else if ( I == 8'b11111111)73 begin74 A <= 3'b111;75 GS <= 1;76 EO <= 0;77 end78 endmodule。

VHDL实验报告——8-3优先编码器(免费哦~)

VHDL实验报告——8-3优先编码器(免费哦~)
vhdl实验报告83优先编码器免费哦编码器译码器实验报告vhdl实验报告优先编码器74148优先编码器83优先编码器74ls148优先编码器42线优先编码器325优先编码器8线3线优先编码器
上机实验报告
实验题目
班级
姓名
学号
指导教师
8-3优先编码器的
VHDL设计

实验目的与要求:
1、通过常见基本组合逻辑电路的设计,熟悉EDA设计流程。
(原理图及仿真的波形界面在备注)
遗留问题与说明:
编程不熟练,在定义上概念不清晰。
备注:
实验源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ENCODER IS
PORT(
D:IN STD_LOGIC_VECTOR(0 TO 7);
ELSE A<="ZZZ";
END IF;
END PROCESS;
END;
实验仿真波形截图
2、熟悉文本输入及仿真步骤。
3、掌握VHDL设计实体的基本结构及文字规则。
4、掌握组合逻辑电路的静态测试方法。
5、理解硬件描述语言和具体电路的映射关系。
实验步骤与内容:(可加附页)
1、创建工程。
2、新建文件夹。
3、输入正确的源程序,保存,编译。
4、波形仿真,分配引脚,编译。
5、下载到试验箱,进行功能验证。
A:OUT STD_LOGIC_VECTOR(0 TO 2)
);
END ;
ARCHITECTURE XIANI OF ENCODER IS

实验三--8-3优先编码器和3-8线译码器

实验三--8-3优先编码器和3-8线译码器

实验三 8-3优先编码器和3-8线译码器一、实验目的1、熟悉常用编码器,译码器的功能逻辑。

2、熟悉VHDL的代码编写方法。

3、掌握复杂译码器的设计方法。

二、实验原理2、逻辑表达式:Y2=X4&X5&X6&X7Y1=~(~(X2)&X4&X5|~(X3)&X4&X5|~(X6)|~(X7));Y0=~(~(X1)&x2&X4&X6|~(X3)&X4&X6|~(X5)&X6|~(X7));2、3-8线码器总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。

三、实验连线1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。

3、请将JP103的短路帽全部插上。

四、实验步骤及波形按照步骤三正确连线,参考实验二步骤,完成项目的建立,文件的命名,文件的编辑,语法检查,引脚分配,编译,下载。

8-3优先编码器参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY encode ISPORT(XINA :IN STD_LOGIC_VECTOR(7 DOWNTO 0);Y0,Y1,Y2: OUT STD_LOGIC;OUTA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END encode;ARCHITECTURE ADO OF encode ISSIGNAL LED: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL XIN: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINXIN<=XINA;LEDW<="000";PROCESS (XIN)BEGINCASE XIN ISWHEN x"00" => OUTA<=x"3F";WHEN x"01" => OUTA<=x"06";WHEN x"02" => OUTA<=x"5B";WHEN x"04" => OUTA<=x"4F";WHEN x"08" => OUTA<=x"66";WHEN x"10" => OUTA<=x"6D";WHEN x"20" => OUTA<=x"7D";WHEN x"40" => OUTA<=x"07";WHEN x"80" => OUTA<=x"3F";WHEN OTHERS => OUTA<=x"3F";END CASE;END PROCESS;PROCESS (XIN)BEGINCASE XIN ISWHEN x"01" => LED<="001";WHEN x"02" => LED<="010";WHEN x"04" => LED<="011";WHEN x"08" => LED<="100";WHEN x"10" => LED<="101";WHEN x"20" => LED<="110";WHEN x"40" => LED<="111";WHEN x"80" => LED<="000";WHEN OTHERS => LED<="000";END CASE;END PROCESS;Y2<=LED(2);Y1<=LED(1);Y0<=LED(0);END ADO;3-8译码器参考代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DECODE ISPORT(DATA_IN :IN STD_LOGIC_VECTOR(2 DOWNTO 0);LEDOUT,DATA_OUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDW :OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END DECODE;ARCHITECTURE ADO OF DECODE ISSIGNAL OUTA,D_OUT : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINLEDW<="000";PROCESS (DATA_IN)VARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DATA_OUT<=D_OUT;CASE DIN ISwhen "000" => OUTA<="00111111" ; --"0"when "001" => outa<="00000110" ; --"1"when "010" => outa<="01011011"; --"2"when "011" => outa<="01001111"; --"3"when "100" => outa<="01100110"; --"4"when "101" => outa<="01101101"; --"5"when "110" => outa<="01111101"; --"6"when "111" => outa<="00000111"; --"7"WHEN OTHERS => OUTA<="XXXXXXXX";END CASE;CASE DIN ISWHEN "000" => D_OUT<="00000000";WHEN "001" => D_OUT<="00000001";WHEN "010" => D_OUT<="00000010";WHEN "011" => D_OUT<="00000100";WHEN "100" => D_OUT<="00001000";WHEN "101" => D_OUT<="00010000";WHEN "110" => D_OUT<="00100000";WHEN "111" => D_OUT<="01000000";WHEN OTHERS=> D_OUT<="XXXXXXXX";END CASE;END PROCESS;END ADO;五、实验仿真8-3编码器引脚锁定如图:图5-1图5-2仿真波形如图:3-8译码器引脚锁定如图:图5-3波形如图:图5-4六、实验现象调试ok的EP2C5文件在文件夹decode中,可以直接调用。

8-3编码器

8-3编码器

一、课程设计的目的与要求1.设计目的●熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;●学习利用VHDL语言设计数字时序电路程序;●了解编码器电路的工作方式。

2.设计要求●利用VHDL语言设计8-3编码器电路,并利用相关软件进行编译和仿真。

并通过其波形输入验证电路设计。

二、设计正文8—3编码器VHDL源程序:LIBRARY IEEE; ——库USE IEEE.STD_LOGIC_1164.ALL; ——包含库程序ENTITY rtl83 is ——定义名为rtl83的实体PORT(input:in std_logic_vector(7 downto 0); ——端口表:定义输入input为8位标准逻辑矢量)y:out std_logic_vector(2 downto 0)); 输出y为3位标准逻辑矢量END rtl83; ——实体定义结束ARCHITECTURE RTL of rtl83 IS ——定义结构体RTLBEGIN ——结构体开始PROCESS (input) ——进程BEGIN ——进程开始IF (input(0)='0') then ——判断输入input(0)如果为0,不管其他输入什么将y赋值为“111”y<="111";ELSEIF (input(1)='0') THENy<="110";ELSIF (input(2)='0') THENy<="101";ELSIF (input(3)='0') THENy<="100";ELSIF (input(4)='0') THENy<="011";—— ELSIF (input(5)='0') THEN Input中根据优先级,input(0)优先级最高,依次递减,对应输出y 分别是111,110,101,100,011,010,001,000y<="010";ELSIF (input(6)='0') THENy<="001";ELSEy<="000";END IF;END PROCESS; ——进程结束END RTL; ——实体结束三、课程设计总结1、根据仿真波形图看到当输入为xxxxxxx0时,由于input (0)的优先级别最高,且低电平有效,此时输出y 结果为111,与真值表相符,由于时间延迟输出y 在时间上落后于输入。

8-3线编码器1

8-3线编码器1
Entity bm8_3 is
port( a:in std_logic_vector(7 downto 0);
b:out std_logic_vector(2 downto 0));
End bm8_3;
Architecture one of bm8_3 is
begin
process(a)
begin
case a is
when"01000000"=>b<="110";
when others=>b<="111";
end case;
end process ;
end one;
图7
图8
4.编译文件
在项目导航栏“Project Negatior”中选择文件,点击鼠标右键,选“Set as Top-Level Entity”。
如图9所示,点击编译按钮 。图10为编译成功提示。
图9
图10
5.引脚设置
点击菜单 的 ,如图22所示。
图22
进入如图23所示界面,在 栏中设置引脚,如图23所示。
图23
引脚设置如下:
a[7]PIN_7
a[6]PIN_8
a[5]PIN_9
a[4]PIN_10
a[3]PIN_11
a[2]PIN_12
a[1]PIN_13
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
二、实验操作
1.在电脑桌面上点击quartusII快捷方式 。
2.建立工程
如图1所示,点击菜单“File”“New Project Wizard”。进入如图2所示的界面,点击“Next”。

电子设计自动化EDA技术实验三报告模板-8线-3线优先编码器设计[1]

电子设计自动化EDA技术实验三报告模板-8线-3线优先编码器设计[1]

湖南安全职业技术学院实验报告课程名称电子设计自动化EDA技术实验项目名称8线-3线优先编码器设计实验学生班级电信0901实验学生姓名熊飞同组学生姓名颜林、陈伟实验时间实验地点EDA实训室实验成绩评定指导教师签字年月日24其中IN 表示输入编码位,Sel 为片选信号,Y 表示输出编码值,YS 与YEX 表示器件状态,“11”表示器件未选中,“01”表示无键按下,“10”表示器件工作态。

四、实验方案设计、实验方法 1. 实验方案8-3优先编码器的VHDL 描述有多种方法,设计过程中可以根据真值表采用case …when 语句、with …select 语句、if …then 结构等多种手段实现,也可以根据真值表分析输入输出间的逻辑关系,根据逻辑关系写出其布尔表达式,根据布尔代数式调用基本逻辑门元件实现8-3优先编码器。

本实验中根据真值表用if-then 结构实现8-3优先编码器 2. 实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。

五、实验步骤1. 设计输入 利用FILE\New 菜单输入VHDL 源程序,创建源文件2. 设计项目的创建1) 原文件存储…..2) 利用FILE\Project\Set Project … 3. 设计编译 ….IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 SelY0 Y1 Y2 YS YEX6管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形8线-3线优先编码器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在最大4.5时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。

七、结论采用图形编程法实现了8线-3线优先编码器的设计,并完成了电路的设计编译、综合、逻辑仿真、时间分析,结果表明采用ALTRA的CPLD器件设计的8线-3线优先编码器,时间延迟为不超过4.5ns八、思考题8线-3线优先编码器的设计方法还可以通过什么方式实现?利用VHDL实现8线-3线优先编码器方法多样,还可以通过诸如case-when等其他结构实现…..8。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、创建工程。
2、新建文件夹。
3、输入正确的源程序,保存,编译。
4、波形仿真,分配引脚,编译。
5、下载到试验箱,进行功能验证。
(原理图及仿真的波形界面在备注)
遗留问题与说明:
编程不熟练,在定义上概念不清晰。
备注:
实验源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
上机实验报告
实验题目
班级
姓名
学号
指导教师
8-3优先编码器的
VHDL设计

实验目的与要求:1、通过常见基本组合逻辑路的设计,熟悉EDA设计流程。
2、熟悉文本输入及仿真步骤。
3、掌握VHDL设计实体的基本结构及文字规则。
4、掌握组合逻辑电路的静态测试方法。
5、理解硬件描述语言和具体电路的映射关系。
实验步骤与内容:(可加附页)
ELSIF (D(2)='0')THEN A<="010";
ELSIF (D(1)='0')THEN A<="001";
ELSIF (D(0)='0')THEN A<="000";
ELSE A<="ZZZ";
END IF;
END PROCESS;
END;
实验仿真波形截图
BEGIN
PROCESS(D)
BEGIN
IF (D(7)='0')THEN A<="111";
ELSIF (D(6)='0')THEN A<="110";
ELSIF (D(5)='0')THEN A<="101";
ELSIF (D(4)='0')THEN A<="100";
ELSIF (D(3)='0')THEN A<="011";
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ENCODER IS
PORT(
D:IN STD_LOGIC_VECTOR(0 TO 7);
A:OUT STD_LOGIC_VECTOR(0 TO 2)
);
END ;
ARCHITECTURE XIANI OF ENCODER IS
相关文档
最新文档