EDA课程设计报告8线-3线优先编码器
8线-3线编码器
表
输 出 I3 0 0 0 1 0 0 I2 0 0 0 1 1 0 0 1 0 0 1 0 0 Y 2 Y 1Y 0 0 0
说明:输入高电平有效,Y2为最高位(8421BCD码)
0
4 0
0
0 0
1
1
根据真值表写函数表达式(与-或式): Y2=I4+I5+I6+I7
Y1=I2+I3+I6+I7 Y0=I1+I3+I5+I7
直接实现 Y2=I4+I5+I6+I7 Y1=I2+I3+I6+I7 Y0=I1+I3+I5+I7
Y2 Y1 Y0
1
I0 I1 I2 I3 I4 I5 I6 I7
1
1
作业:思考设计二—十进制编码器(输入低电平有 效)
表
输 出 I3 0 0 I2 0 0 Y2 Y1 Y0 0 0
十进 制数 0 1 2 3 4 5 6
输 I7 0 0 1 I6 0 I5 I1 0
入0 0 1 1 2 0 3 0 0 0 0 0 0 0 1 0 0 0 0 0 输 I7 0 1 0 0 0 I6 0 I5 I1 0 入 I4 I0 0
【新授】
例:设计一个 三位二进制编码器。
--- 8 线-3线编码器
八个输入
I0 I1 I2
.
最多能对 几个信号编码?
编 码 器 Y0 Y1 Y2
三位输出
输入:用I0~I7表示0~7这 8个数字,高电平有效; 输出:用Y0、Y1、Y2表示, 高电平有效。
本节课的任务: 设计该编码器
I7
真 值
Verilog八线-三线优先编码器设计(74LS148)
Verilog⼋线-三线优先编码器设计(74LS148)if语句法1//8线-3线优先编码器设计(74LS148)2//3//EI | A7 A6 A5 A4 A3 A2 A1 A0 | Y2 Y1 Y0 GS EO4//0 | 0 x x x x x x x | 0 0 0 0 15//0 | 1 0 x x x x x x | 0 0 1 0 16//0 | 1 1 0 x x x x x | 0 1 0 0 17//0 | 1 1 1 0 x x x x | 0 1 1 0 18//0 | 1 1 1 1 0 x x x | 1 0 0 0 19//0 | 1 1 1 1 1 0 x x | 1 0 1 0 110//0 | 1 1 1 1 1 1 0 x | 1 1 0 0 111//0 | 1 1 1 1 1 1 1 0 | 1 1 1 0 112//0 | 1 1 1 1 1 1 1 1 | 1 1 1 1 013//1 | x x x x x x x x | 1 1 1 1 1141516module encoder_83 (din, EI, GS, EO, dout);17input [7:0] din; //编码输⼊端data_in,低电平有效18input EI; //使能输⼊端EI(选通输⼊端),EI为 0 时芯⽚⼯作,即允许编码19output [2:0] dout; //编码输出端data_out20output GS; //⽚优先编码输出端,优先编码器⼯作⼯作状态标志GS,低电平有效21output EO; //使能输出端EO(选通输出端)22reg [2:0] dout;23reg GS, EO;24always @(din or EI)25if(EI) begin dout <= 3'b111; GS <= 1; EO <= 1; end //所有输出端被锁存在⾼电平26else if (din[7] == 0) begin dout <= 3'b000; GS <= 0; EO <= 1; end27else if (din[6] == 0) begin dout <= 3'b001; GS <= 0; EO <= 1; end28else if (din[5] == 0) begin dout <= 3'b010; GS <= 0; EO <= 1; end29else if (din[4] == 0) begin dout <= 3'b011; GS <= 0; EO <= 1; end30else if (din[3] == 0) begin dout <= 3'b100; GS <= 0; EO <= 1; end31else if (din[2] == 0) begin dout <= 3'b101; GS <= 0; EO <= 1; end32else if (din[1] == 0) begin dout <= 3'b110; GS <= 0; EO <= 1; end33else if (din[0] == 0) begin dout <= 3'b111; GS <= 0; EO <= 1; end34else if (din == 8'b11111111) begin dout <= 3'b111; GS <= 1; EO <= 0; end//芯⽚⼯作,但⽆编码输⼊35else begin dout <= 3'b111; GS <= 1; EO <= 1; end //消除锁存器(latch)36endmodule3738//EI = 0 表⽰允许编码,否则所有输出端被封锁在⾼电平(控制芯⽚⼯作)39//EO = 0 表⽰电路⼯作,但⽆编码输⼊(⽤于级联)40//GS = 0 表⽰电路⼯作,且有编码输⼊(判断输⼊端是否有输⼊)testbench:1 `timescale 1 ps/ 1 ps2module encoder_83_vlg_tst();3reg EI;4reg [7:0] din;5wire EO;6wire GS;7wire [2:0] dout;8 encoder_83 i1 (.EI(EI), .EO(EO), .GS(GS), .din(din), .dout(dout));9initial10begin11 EI = 1;12 din = 8'b11111111;13 #10 EI = 0;14 #10 din = 8'b01010101;15 #10 din = 8'b10101010;16 #10 din = 8'b11010101;17 #10 din = 8'b11101010;18 #10 din = 8'b11110101;19 #10 din = 8'b11111010;20 #10 din = 8'b11111101;21 #10 din = 8'b11111110;22 #10 din = 8'b11111111;23end24endmoduleView Codecase语句法1//8线-3线优先编码器设计(74LS148)2//3//EI | A7 A6 A5 A4 A3 A2 A1 A0 | Y2 Y1 Y0 GS EO4//0 | 0 x x x x x x x | 0 0 0 0 15//0 | 1 0 x x x x x x | 0 0 1 0 16//0 | 1 1 0 x x x x x | 0 1 0 0 17//0 | 1 1 1 0 x x x x | 0 1 1 0 18//0 | 1 1 1 1 0 x x x | 1 0 0 0 19//0 | 1 1 1 1 1 0 x x | 1 0 1 0 110//0 | 1 1 1 1 1 1 0 x | 1 1 0 0 111//0 | 1 1 1 1 1 1 1 0 | 1 1 1 0 112//0 | 1 1 1 1 1 1 1 1 | 1 1 1 1 013//1 | x x x x x x x x | 1 1 1 1 1141516module encoder_83_case (din, EI, GS, EO, dout);17input [7:0] din; //编码输⼊端data_in,低电平有效18input EI; //使能输⼊端EI(选通输⼊端),EI为 0 时芯⽚⼯作,即允许编码19output [2:0] dout; //编码输出端data_out20output GS; //⽚优先编码输出端,优先编码器⼯作⼯作状态标志GS,低电平有效21output EO; //使能输出端EO(选通输出端)22reg [2:0] dout;23reg GS, EO;24always @(din or EI)25if(EI)26begin dout <= 3'b111; GS <= 1; EO <= 1; end //所有输出端被锁存在⾼电平27else28casez (din) //建议⽤casez语句,casez把z/?匹配成任意。
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技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA实验3-8线译码器
实验五 3-8线译码器一、实验目的1、熟悉常用译码器的功能逻辑。
2、掌握复杂译码器的设计方法。
二、实验原理1、总体思路以EP2C5中的三个拨位开关,SW3,SW2,SW1为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在七段LED数码管上显示出来。
2、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;四、实验步骤1、打开Quartus II,选择“File”菜单下的“New Project Wizard”,建立Project及顶层实体的名称为ADO,期间,选择的目标芯片为EP2C5Q208C8N;2、选择“File”菜单下的“New”命令,在“New”窗口中选择“VHDL Files”,输入程序,进行编译;3、选择“File”菜单中的“New”项,在“New”窗口中选择“Other Files”中的“VectorWaveform File”项,打开空白的波形编辑器,输入所有的信号节点,给输入随机赋值,保存,单击工具栏上的快捷方式,进行波形仿真;4、打开“Assignments”菜单下的“Pins”命令,打开引脚锁定窗口,进行引脚锁定,再次对VHDL Files进行编译;5、连接EDA实验箱,将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到 SOPC下载的一边,将JPLED1短路帽右插,JPLED的短路帽全部上插,请将JP103的短路帽全部插上。
实验二 8线-3线编码器设计
实验名称 8线-3线编码器设计指导老师尚丽娜成绩专业电科班级 1102 姓名汪磊学号31102333一、实验目的1、学习QuartusII软件,学习使用硬件描述语言设计电路。
2、学习DE1平台基本构成,能够使用DE1平台进行简单设计。
二、实验要求使用QuartusII文本输入法设计8线-3线编码器。
使用QuartusII软件进行文本输入,并对设计电路进行仿真,并下载到硬件平台,自行定义硬件平台使用端口。
三、实验设备PC机、DE1硬件平台四、实验原理根据8线—3线编码器的真值表原理进行实验,下表为8线—3线编码器的真值表五、实验过程library ieee;use ieee.std_logic_1164.all;entity bm8_3 isport(a:in std_logic_vector(7 downto 0);b:out std_logic_vector(2 downto 0));end bm8_3;architecture zhang of bm8_3 isbeginprocess(a)begincase a iswhen"00000001"=>b<="000";when"00000010"=>b<="001";when"00000100"=>b<="010";when"00001000"=>b<="011";when"00010000"=>b<="100";when"00100000"=>b<="101";when"01000000"=>b<="110";when others=>b<="111";end case;end process;end zhang;六、实验结果该程序还存在一些不足,当出现10000000是和非正常输入的时候是一样的输出,所以我们进行了一些修改,修改程序与结果如下:library ieee;use ieee.std_logic_1164.all;entity e isport(a:in std_logic_vector(7 downto 0);b:out std_logic_vector(3 downto 0));end e;architecture zhang of e isbeginprocess(a)begincase a iswhen"00000001"=>b<="0000";when"00000010"=>b<="0001";when"00000100"=>b<="0010";when"00001000"=>b<="0011";when"00010000"=>b<="0100";when"00100000"=>b<="0101";when"01000000"=>b<="0110";when"10000000"=>b<="0111";when others=>b<="1111";end case;end process;end zhang;思考题一:思考题二:entity e isport(a:in bit_vector(7 downto 0);b:out bit_vector(3 downto 0)); end e;architecture zhang of e isbeginprocess(a)begincase a iswhen"00000001"=>b<="0000";when"00000010"=>b<="0001";when"00000100"=>b<="0010";when"00001000"=>b<="0011";when"00010000"=>b<="0100";when"00100000"=>b<="0101";when"01000000"=>b<="0110";when"10000000"=>b<="0111";when others=>b<="1111";end case;end process;end zhang;七、心得体会对操作更加熟练,加深对其的认识。
实验二 8线——3线优先编码器74LS148功能测试及应用
数字电子技术基础实验报告
实验二8线——3线优先编码器74LS148功能测试及应用
专业班级姓名学号成绩通信工程一班赵建倪201409110134
一、实验目的
了解8线——3线优先编码(74LS148)的基本功能;
掌握74LS148的使用方法;
二、实验内容
(1)了解芯片的工作原理
74LS148工作原理:该编码器有8个信号输入端,3个二进制码输出端。
此外,电路还设置了输入使能端EI,输出使能端EO和优先编码工作状态标志GS。
当EI=0时,编码器工作;而当EI=1时,则不论8个输入端为何种状态,3个输出端均为高电平,且优先标志端和输出使能端均为高电平,编码器处于非工作状态。
这种情况被称为输入低电平有效,输出也为低电来有效的情况。
当EI为0,且至少有一个输入端有编码请求信号(逻辑0)时,优先编码工作状态标志GS为0。
表明编码器处于工作状态,否则为1。
(2)了解芯片的结构,对照着具体的引脚接线
(3)验证优先编码器的真值表
真值表。
实验三83优先编码器和38线译码器
实验三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)V ARIABLE DIN: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINDIN:=DA TA_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中,可以直接调用。
EDA课程设计-3-8译码器
第一章绪论1.1 EDA技术介绍EDA(Electronic Design Automation)技术是现代电子工程领域的一门新技术。
基于可编程逻辑器件的数字系统EDA技术可以简单概括为以大规模可编程逻辑器件为设计载体,通过硬件描述语言输入给相应开发软件,经过编译和仿真,最终下载到设计载体中,从而实现系统电路。
在数字系统中,能将二进制代码翻译成所表示信息的电路称为译码器。
译码器是一个多输入、多输出的组合逻辑电路。
它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。
译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。
不同的功能可选用不同种类的译码器。
而常用的译码器有二进制译码器,二—十进制译码器和显示译码器。
译码器可分为通用译码器和显示译码器两大类。
前者又分为变量译码器和代码变换译码器。
变量译码器(又称二进制译码器),用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。
若有n个输入变量,则有2n个不同的组合状态,就有2n 个输出端供其使用。
而每一个输出所代表的函数对应于n个输入变量的最小项。
本次课程设计的题目为3-8译码器。
要求用掌握3-8译码器的构成、原理与设计方法;熟悉quartus60软件的使用方法;能用VHDL语言设计3-8译码器电路;并仿真出3—8译码器的功能。
第二章 3—8译码器2.1 3—8译码器介绍译码器属于组合逻辑电路,它的逻辑功能是将二进制代码按其编码时的原意译成对应的输出高、底电平信号,又叫解码器。
在数字电子技术中,它具有非常重要的地位,应用也很广泛。
它除了常为其它集成电路产生片选信号之外,还可以作为数据分配器、函数发生器用,而且在组合逻辑电路设计中它可替代繁多的逻辑门,简化设计电路。
这次我们运用的3 线-8 线译码器就是一个典型例子。
38译码器为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其主要电特性的典型值如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。
3线8线译码器设计
课程设计任务书学生姓名:陈莲专业班级:自动化0607指导教师:李向舜工作单位:自动化学院题目: 3线-8线译码器初始条件:1.以上版本软件;2.课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术与VHDL”、“EDA与数字系统设计”等;3.先修课程:电路、电子设计EDA、电子技术基础等。
4.要紧涉及的知识点:门电路、组合逻辑电路、时序逻辑电路等。
要求完成的要紧任务:(包括课程设计工作量及其技术要求,和说明书撰写等具体要求)1.课程设计时刻:1周;2.课程设计内容:依照指导教师给定的题目,按规定选择其中1套完成;3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部份的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。
具体设计要求包括:①温习EDA的相关技术与方式;②把握VHDL或Verilog语言,并要求能编写程序。
③Quartus软件的利用:把握程序编辑、编译、调试、仿真方式。
④设计相关简单的电路,完成既定的功能。
4.课程设计说明书按学校“课程设计工作标准”中的“统一书写格式”撰写,具体包括:①目录;②译码器相关的理论分析、归纳和总结;③3线-8线译码器的结构组成、原理分析及真值表。
④程序设计框图、程序代码(含注释);⑤给出程序中要紧函数或语句的功能说明和利用说明;⑥给出程序仿真运行结果和图表、和实验结果分析和总结;⑦课程设计的心得体会(至少500字);⑧参考文献;⑨其它必要内容等。
时刻安排:指导教师签名:年月日系主任(或责任教师)签名:年月日摘要本次能力拓展训练要求设计一个3线-8线译码器,要紧在于分析3线-8线译码器的组成和其实现原理,本次拓展训练要紧目的在于研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部份的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码,上机调试运行程序,记录实验结果,并对实验结果进行分析和总结。
实验三 83优先编码器和38线译码器
实验三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用十芯排线和万用下载区左下角的SOPCJTAG口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、请将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上。
四、实验步骤及波形按照步骤三正确连线,参考实验二步骤,完成项目的建立,文件的命名,文件的编辑,语法检查,引脚分配,编译,下载。
8-3优先编码器参考代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYencodeISPORT(XINA:INSTD_LOGIC_VECTOR(7DOWNTO0);Y0,Y1,Y2:OUTSTD_LOGIC;OUTA:OUTSTD_LOGIC_VECTOR(7DOWNTO0);LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDencode;ARCHITECTUREADOOFencodeISSIGNALLED:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALXIN:STD_LOGIC_VECTOR(7DOWNTO0);BEGINXIN<=XINA;LEDW<="000";PROCESS(XIN)BEGINCASEXINISWHENx"00"=>OUTA<=x"3F";WHENx"01"=>OUTA<=x"06";WHENx"02"=>OUTA<=x"5B";WHENx"04"=>OUTA<=x"4F";WHENx"08"=>OUTA<=x"66";WHENx"10"=>OUTA<=x"6D";WHENx"20"=>OUTA<=x"7D";WHENx"40"=>OUTA<=x"07";WHENx"80"=>OUTA<=x"3F";WHENOTHERS=>OUTA<=x"3F";ENDCASE;ENDPROCESS;PROCESS(XIN)BEGINCASEXINISWHENx"01"=>LED<="001";WHENx"02"=>LED<="010";WHENx"04"=>LED<="011";WHENx"08"=>LED<="100";WHENx"10"=>LED<="101";WHENx"20"=>LED<="110";WHENx"40"=>LED<="111";WHENx"80"=>LED<="000";WHENOTHERS=>LED<="000";ENDCASE;ENDPROCESS;Y2<=LED(2);Y1<=LED(1);Y0<=LED(0);ENDADO;3-8译码器参考代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYDECODEISPORT(DATA_IN:INSTD_LOGIC_VECTOR(2DOWNTO0);LEDOUT,DATA_OUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDDECODE;ARCHITECTUREADOOFDECODEISSIGNALOUTA,D_OUT:STD_LOGIC_VECTOR(7DOWNTO0);BEGINLEDW<="000";PROCESS(DATA_IN)V ARIABLEDIN:STD_LOGIC_VECTOR(2DOWNTO0);BEGINDIN:=DATA_IN;LEDOUT<=OUTA;DA TA_OUT<=D_OUT;CASEDINISwhen"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"WHENOTHERS=>OUTA<="XXXXXXXX";ENDCASE;CASEDINISWHEN"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";WHENOTHERS=>D_OUT<="XXXXXXXX";ENDCASE;ENDPROCESS;ENDADO;五、实验仿真8-3编码器引脚锁定如图:图5-1图5-2仿真波形如图:3-8译码器引脚锁定如图:图5-3波形如图:图5-4六、实验现象调试ok的EP2C5文件在文件夹decode中,可以直接调用。
3线8线译码器设计
课程设计任务书学生姓名:陈莲专业班级:自动化0607指导教师:李向舜工作单位:自动化学院题目: 3线-8线译码器初始条件:1.以上版本软件;2.课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术与VHDL”、“EDA与数字系统设计”等;3.先修课程:电路、电子设计EDA、电子技术基础等。
4.要紧涉及的知识点:门电路、组合逻辑电路、时序逻辑电路等。
要求完成的要紧任务:(包括课程设计工作量及其技术要求,和说明书撰写等具体要求)1.课程设计时刻:1周;2.课程设计内容:依照指导教师给定的题目,按规定选择其中1套完成;3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部份的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。
具体设计要求包括:①温习EDA的相关技术与方式;②把握VHDL或Verilog语言,并要求能编写程序。
③Quartus软件的利用:把握程序编辑、编译、调试、仿真方式。
④设计相关简单的电路,完成既定的功能。
4.课程设计说明书按学校“课程设计工作标准”中的“统一书写格式”撰写,具体包括:①目录;②译码器相关的理论分析、归纳和总结;③3线-8线译码器的结构组成、原理分析及真值表。
④程序设计框图、程序代码(含注释);⑤给出程序中要紧函数或语句的功能说明和利用说明;⑥给出程序仿真运行结果和图表、和实验结果分析和总结;⑦课程设计的心得体会(至少500字);⑧参考文献;⑨其它必要内容等。
时刻安排:指导教师签名:年月日系主任(或责任教师)签名:年月日摘要本次能力拓展训练要求设计一个3线-8线译码器,要紧在于分析3线-8线译码器的组成和其实现原理,本次拓展训练要紧目的在于研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部份的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码,上机调试运行程序,记录实验结果,并对实验结果进行分析和总结。
VHDL实验报告——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
电子设计自动化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。
74148(8线—3线优先编码器)
PACKAGING INFORMATIONOrderable Device Status(1)PackageType PackageDrawingPins PackageQtyEco Plan(2)Lead/Ball Finish MSL Peak Temp(3)78027012A ACTIVE LCCC FK201TBD Call TI Level-NC-NC-NC7802701EA ACTIVE CDIP J161TBD Call TI Level-NC-NC-NC7802701FA ACTIVE CFP W161TBD Call TI Level-NC-NC-NC JM38510/36001B2A ACTIVE LCCC FK201TBD Call TI Level-NC-NC-NC JM38510/36001BEA ACTIVE CDIP J161TBD Call TI Level-NC-NC-NC JM38510/36001BFA ACTIVE CFP W161TBD Call TI Level-NC-NC-NC SN54148J OBSOLETE CDIP J16TBD Call TI Call TISN54LS148J ACTIVE CDIP J161TBD Call TI Level-NC-NC-NCSN74147N OBSOLETE PDIP N16TBD Call TI Call TISN74148J OBSOLETE CDIP J16TBD Call TI Call TISN74148N OBSOLETE PDIP N16TBD Call TI Call TISN74148N3OBSOLETE PDIP N16TBD Call TI Call TISN74LS147DR OBSOLETE SOIC D16TBD Call TI Call TISN74LS147N OBSOLETE PDIP N16TBD Call TI Call TISN74LS148D ACTIVE SOIC D1640Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIMSN74LS148DE4ACTIVE SOIC D1640Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIMSN74LS148DR ACTIVE SOIC D162500Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIMSN74LS148DRE4ACTIVE SOIC D162500Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIM SN74LS148J OBSOLETE CDIP J16TBD Call TI Call TISN74LS148N ACTIVE PDIP N1625Pb-Free(RoHS)CU NIPDAU Level-NC-NC-NC SN74LS148N3OBSOLETE PDIP N16TBD Call TI Call TISN74LS148NE4ACTIVE PDIP N1625Pb-Free(RoHS)CU NIPDAU Level-NC-NC-NCSN74LS148NSR ACTIVE SO NS162000Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIMSN74LS148NSRE4ACTIVE SO NS162000Green(RoHS&no Sb/Br)CU NIPDAU Level-1-260C-UNLIM SNJ54148J OBSOLETE CDIP J16TBD Call TI Call TISNJ54148W OBSOLETE CFP W16TBD Call TI Call TISNJ54LS148FK ACTIVE LCCC FK201TBD Call TI Level-NC-NC-NC SNJ54LS148J ACTIVE CDIP J161TBD Call TI Level-NC-NC-NC SNJ54LS148W ACTIVE CFP W161TBD Call TI Level-NC-NC-NC (1)The marketing status values are defined as follows:ACTIVE:Product device recommended for new designs.LIFEBUY:TI has announced that the device will be discontinued,and a lifetime-buy period is in effect.NRND:Not recommended for new designs.Device is in production to support existing customers,but TI does not recommend using this part in a new design.PREVIEW:Device has been announced but is not in production.Samples may or may not be available.OBSOLETE:TI has discontinued the production of the device.(2)Eco Plan-The planned eco-friendly classification:Pb-Free(RoHS)or Green(RoHS&no Sb/Br)-please check/productcontent for the latest availability information and additional product content details.TBD:The Pb-Free/Green conversion plan has not been defined.Pb-Free(RoHS):TI's terms"Lead-Free"or"Pb-Free"mean semiconductor products that are compatible with the current RoHS requirements for all6substances,including the requirement that lead not exceed0.1%by weight in homogeneous materials.Where designed to be soldered at high temperatures,TI Pb-Free products are suitable for use in specified lead-free processes.Green(RoHS&no Sb/Br):TI defines"Green"to mean Pb-Free(RoHS compatible),and free of Bromine(Br)and Antimony(Sb)based flame retardants(Br or Sb do not exceed0.1%by weight in homogeneous material)(3)MSL,Peak Temp.--The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications,and peak solder temperature.Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is provided.TI bases its knowledge and belief on information provided by third parties,and makes no representation or warranty as to the accuracy of such information.Efforts are underway to better integrate information from third parties.TI has taken and continues to take reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on incoming materials and chemicals.TI and TI suppliers consider certain information to be proprietary,and thus CAS numbers and other limited information may not be available for release.In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s)at issue in this document sold by TI to Customer on an annual basis.IMPORTANT NOTICETexas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. T esting and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed.TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. T o minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards.TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI.Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation.Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions:Products ApplicationsAmplifiers Audio /audioData Converters Automotive /automotiveDSP Broadband /broadbandInterface Digital Control /digitalcontrolLogic Military /militaryPower Mgmt Optical Networking /opticalnetwork Microcontrollers Security /securityTelephony /telephonyVideo & Imaging /videoWireless /wirelessMailing Address:Texas InstrumentsPost Office Box 655303 Dallas, Texas 75265Copyright 2005, Texas Instruments Incorporated。
电子设计自动化EDA技术实验三报告模板-8线-3线优先编码器设计
2. 器件及管脚逻分配图
管脚分配情况如图,所选器件为 EPM7032AELCC44-4
3. 仿真波形 8 线-3 线优先编码器的仿真波形如下图,从波形可以得出,输入输出 满足前文真值表,电路功能达到设计要求
4. 时序分析图
上述时间分析可以得到,输出信号存在最大 4.5ቤተ መጻሕፍቲ ባይዱ时间延迟,它主要与器件速
度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。 七、结论 采用图形编程法实现了 8 线-3 线优先编码器的设计,并完成了电路的 设计编译、综合、逻辑仿真、时间分析,结果表明采用 ALTRA 的 CPLD 器件 设计的 8 线-3 线优先编码器,时间延迟为不超过 4.5ns 八、思考题 8 线-3 线优先编码器的设计方法还可以通过什么方式实现? 利用 VHDL 实现 8 线 -3 线优先编码器方法多样,还可以通过诸如 case-when 等其他结构实现…..
Y : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); YS,YEX : INOUT STD_LOGIC); END ENCODER; ARCHITECTURE sample OF ENCODER IS BEGIN P1:PROCESS(I,SEL) BEGIN if SEL='1' then Y <="111"; YS <='1'; YEX<='1'; elsif I(7)='0' then Y <="000"; YS <='1'; YEX<='0'; elsif I(6)='0' then Y<="001"; YS <='1'; YEX<='0'; elsif I(5)='0' then Y<="010"; YS <='1'; YEX<='0'; elsif I(4)='0' then Y<="011"; YS <='1'; YEX<='0'; elsif I(3)='0' then Y<="100"; YS <='1'; YEX<='0'; elsif I(2)='0' then Y<="101"; YS <='1'; YEX<='0';
实验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线编码器设计指导老师尚丽娜成绩专业电科班级 1102 姓名汪磊学号31102333一、实验目的1、学习QuartusII软件,学习使用硬件描述语言设计电路。
2、学习DE1平台基本构成,能够使用DE1平台进行简单设计。
二、实验要求使用QuartusII文本输入法设计8线-3线编码器。
使用QuartusII软件进行文本输入,并对设计电路进行仿真,并下载到硬件平台,自行定义硬件平台使用端口。
三、实验设备PC机、DE1硬件平台四、实验原理根据8线—3线编码器的真值表原理进行实验,下表为8线—3线编码器的真值表五、实验过程library ieee;use ieee.std_logic_1164.all;entity bm8_3 isport(a:in std_logic_vector(7 downto 0);b:out std_logic_vector(2 downto 0));end bm8_3;architecture zhang of bm8_3 isbeginprocess(a)begincase a iswhen"00000001"=>b<="000";when"00000010"=>b<="001";when"00000100"=>b<="010";when"00001000"=>b<="011";when"00010000"=>b<="100";when"00100000"=>b<="101";when"01000000"=>b<="110";when others=>b<="111";end case;end process;end zhang;六、实验结果该程序还存在一些不足,当出现10000000是和非正常输入的时候是一样的输出,所以我们进行了一些修改,修改程序与结果如下:library ieee;use ieee.std_logic_1164.all;entity e isport(a:in std_logic_vector(7 downto 0);b:out std_logic_vector(3 downto 0));end e;architecture zhang of e isbeginprocess(a)begincase a iswhen"00000001"=>b<="0000";when"00000010"=>b<="0001";when"00000100"=>b<="0010";when"00001000"=>b<="0011";when"00010000"=>b<="0100";when"00100000"=>b<="0101";when"01000000"=>b<="0110";when"10000000"=>b<="0111";when others=>b<="1111";end case;end process;end zhang;思考题一:思考题二:entity e isport(a:in bit_vector(7 downto 0);b:out bit_vector(3 downto 0)); end e;architecture zhang of e isbeginprocess(a)begincase a iswhen"00000001"=>b<="0000";when"00000010"=>b<="0001";when"00000100"=>b<="0010";when"00001000"=>b<="0011";when"00010000"=>b<="0100";when"00100000"=>b<="0101";when"01000000"=>b<="0110";when"10000000"=>b<="0111";when others=>b<="1111";end case;end process;end zhang;七、心得体会对操作更加熟练,加深对其的认识。
8-3优先编码器
8-3优先编码器⾸先,实现可以参考这篇博客我的代码跟⽹上的是⼀样的,师兄给出了其他写法,有空再补。
module coder_83(input [7:0] data_in,input en_in_n,output reg [2:0] code_out,output reg en_out,output reg state);always@(en_in_n or data_in) beginif(en_in_n) begincode_out <= 3'b111;en_out <= 1;state <= 1;endelse if (data_in[7] == 0) begincode_out <= 3'b000;en_out <= 1;state <= 0;endelse if (data_in[6] == 0) begincode_out <= 3'b001;en_out <= 1;state <= 0;endelse if (data_in[5] == 0) begincode_out <= 3'b010;en_out <= 1;state <= 0;endelse if (data_in[4] == 0) begincode_out <= 3'b011;en_out <= 1;state <= 0;endelse if (data_in[3] == 0) begincode_out <= 3'b100;en_out <= 1;state <= 0;endelse if (data_in[2] == 0) begincode_out <= 3'b101;en_out <= 1;state <= 0;endelse if (data_in[1] == 0) begincode_out <= 3'b110;en_out <= 1;state <= 0;endelse if (data_in[0] == 0) begincode_out <= 3'b111;en_out <= 1;state <= 0;endelse if (data_in == 8'b11111111) begincode_out <= 3'b111;en_out <= 0;state <= 1;endelse begin // in case of genetaring latch, while many examples ignore this stepcode_out <= 3'b111;en_out <= 1;state <= 1;endendendmodule以及testbench`timescale 1ns/1psmodule coder_83_tb();reg [7:0] data_in;reg en_in_n, clk;wire en_out;wire state;wire [2:0] code_out;coder_83 u_coder_83(.data_in(data_in),.en_in_n(en_in_n),.en_out(en_out),.state(state),.code_out(code_out));always #20 clk = ~clk;always@(posedge clk) beginif(!data_in)data_in <= 8'b11111111;elsedata_in <= data_in << 1;endinitial beginclk = 0;data_in = 8'b11111111;en_in_n = 1;# 100 en_in_n = 0;# 5000 en_in_n = 1;endendmodule但是vivado综合的时候就很奇怪,出现了⼀个ROM。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 IS
PORT ( 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 IS
SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
PROCESS (din)
BEGIN
IF (EANABLE='0') THEN
IF (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 8-3优先编码器功能仿真图
对其仿真图进行仿真分析:din为输入信号组,它由din7-din0八个输入信号组成。
output为输出信号组,它由output2-output0三个二进制代码输出信号组成。
enable为使能端,当enable为0时编码器工作,当使能端为1时输出高阻状态。
当din0为1时,即输入为:1*******时,输出111,当din0为0时,输出由优先级仅次于din0的din1决定,即输入为:01******时,输出110,紧接着依次类推,分别得出输入为:001*****时,输出101,输入为:0001****时,输出100,输入为00001***时,输出为011。
到此为止由于使能段变为高电平,输出信号为高阻状态,但可以推断出当输入为000001**时,输出010,输入为0000001*时,输出001,输入为00000001时,输出为000。
四、设计总结和心得体会
通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。
本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
希望学校以后多安排一些类似的实践环节,让同学们学以致用。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事工作会有一定的帮助。
在应用VHDL的过程中让我真正领会到了其在电路设计上的优越性。
用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
五、参考资料
[1] 杨刚,龙海燕.现代电子技术-VHDL与数据系统设计.北京:电子工业出版
社,2004
[2] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006
[3] 潘松.VHDL实用教程[M].成都:电子科技大学出版社,2000
[4] 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000[5] 宋振辉. EDA技术与VHDL.北京:北京大学出版社,2008
[5] 宋振辉. EDA技术与VHDL.北京:北京大学出版社,2008
[6]王锁萍. 电子设计自动化(EDA)教程.成都:电子科技大学出版社,2001。