2024年6月5日发(作者:风冰薇)
Xxxxx学院
《EDA技术》课程报告
设计题目:8线-3线优先编码器
班 级: 应用电子1101班
姓 名:
学 号:
指导老师:
日 期:
目录
一、8-3优先编码器设计原理分析 .............. 3
二、8-3优先编码器模块的源程序 .............. 3
三、8-3优先编码器仿真结果 .................. 4
四、设计总结和心得体会 ...................... 5
五、参考资料 ................................ 5
一、8-3优先编码器设计原理分析
8-3优先编码器输入信号为din0,din1,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优先编码器真值表
输 入
din0
1
0
0
0
0
0
0
0
din1
x
1
0
0
0
0
0
0
din2
x
x
1
0
0
0
0
0
din3
x
x
x
1
0
0
0
0
din4
x
x
x
x
1
0
0
0
din5
x
x
x
x
x
1
0
0
din6
x
x
x
x
x
x
1
0
din7
x
x
x
x
x
x
x
1
输 出
out0
0
1
0
1
0
1
0
0
out1
0
0
1
1
0
0
1
1
out2
0
0
0
0
1
1
1
1
二、8-3优先编码器模块的源程序
8-3优先编码器由VHDL程序来实现,
VHDL
语言描述如下:
LIBRARY IEEE;
USE _LOGIC_;
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
2024年6月5日发(作者:风冰薇)
Xxxxx学院
《EDA技术》课程报告
设计题目:8线-3线优先编码器
班 级: 应用电子1101班
姓 名:
学 号:
指导老师:
日 期:
目录
一、8-3优先编码器设计原理分析 .............. 3
二、8-3优先编码器模块的源程序 .............. 3
三、8-3优先编码器仿真结果 .................. 4
四、设计总结和心得体会 ...................... 5
五、参考资料 ................................ 5
一、8-3优先编码器设计原理分析
8-3优先编码器输入信号为din0,din1,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优先编码器真值表
输 入
din0
1
0
0
0
0
0
0
0
din1
x
1
0
0
0
0
0
0
din2
x
x
1
0
0
0
0
0
din3
x
x
x
1
0
0
0
0
din4
x
x
x
x
1
0
0
0
din5
x
x
x
x
x
1
0
0
din6
x
x
x
x
x
x
1
0
din7
x
x
x
x
x
x
x
1
输 出
out0
0
1
0
1
0
1
0
0
out1
0
0
1
1
0
0
1
1
out2
0
0
0
0
1
1
1
1
二、8-3优先编码器模块的源程序
8-3优先编码器由VHDL程序来实现,
VHDL
语言描述如下:
LIBRARY IEEE;
USE _LOGIC_;
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