文档库 最新最全的文档下载
当前位置:文档库 › gtob_37

gtob_37

gtob_37
gtob_37

EDA设计实验报告

实验名称:格雷码二进制码转换电路

姓名:陶洋

学号:110401337

班级:电信(3)班

时间:2013.11.13

一实验目的

1) 学习用VHDL 代码描绘组合逻辑电路的方法。

2)掌握when....else.... 和 generate 并行语句的使用。

3) 利用generate 并行语句描述n 位格雷码二进制码转换电路。

4) 利用实验箱验证设计电路的重要性,要求将输入输出的数据用数码管显示。

二 实验原理

由真值表可得表达式:

GO B1=B0G1

B2=B1G2

B3=B2

G3=B3⊕⊕⊕

三 实验结果与分析

电路原理图;

代码,要增加注释;

library ieee;

use ieee.std_logic_1164.all; --设计库和调用包

entity gton_37_38 is --实体描述部分

generic(n:integer:=3);

port(g:in std_logic_vector(3 downto 0);--定义b为输入矢量

ino,b:buffer std_logic_vector(3 downto 0));--定义b为缓冲类型输出

end;

architecture rhg of gton_37_38 is --结构体

begin

ino<=g;

b(n)<=g(n);

g1:for i in 0 to n-1 generate --电路模块功能

b(i)<=b(i+1) xor g(i); --b的格雷码

end generate g1;

end;

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity gtob4_37_38 is

port(g:in std_logic_vector(3 downto 0);

b:buffer std_logic_vector(3 downto 0));

end;

architecture rhg of gtob4_37_38 is --结构体

begin

b<="0000"when g="0000"else --g=“0000”时输出为“0000” "0001"when g="0001"else

"0011"when g="0010"else

"0010"when g="0011"else

"0111"when g="0100"else

"0110"when g="0101"else

"0100"when g="0110"else

"0101"when g="0111"else

"1111"when g="1000"else

"1110"when g="1001"else

"1100"when g="1010"else

"1101"when g="1011"else

"1000"when g="1100"else

"1001"when g="1101"else

"1011"when g="1110"else --g=“1110”时输出为“1011” "1010";

end;

library ieee;

use ieee.std_logic_1164.all; --调用1164包

entity gtobn_37_38 is --实体

generic(n:integer:=3);

port(g:in std_logic_vector(n downto 0);

ino,b:buffer std_logic_vector(n downto 0)); end;

architecture rhg of gtobn_37_38 is --结构体begin

ino<=g;

b(n)<=g(n);

g1:for i in 0 to n-1 generate

b(i)<=b(i+1) xor g(i);

end generate g1;

end;

library ieee;

use ieee.std_logic_1164.all;

entity gtobn_37_38 is --实体描述部分generic(n:integer:=3);

port(g:in std_logic_vector(n downto 0); ino,b:buffer std_logic_vector(n downto 0)); end;

architecture rhg of gtobn_37_38 is --结构体

begin

ino<=g;

b(n)<=g(n);

g1:for i in 0 to n-1 generate --电路功能描述部分b(i)<=b(i+1) xor g(i);

end generate g1;

end;

仿真波形图,对波形进行分析;

管脚配置图;

总结与体会

通过这次试验掌握了对4位格雷码二进制码转换电进行编译和仿真并利用实验箱验证设计电路,使我进一步掌握4位格雷码/二进制码转换的原理。

从建工程到原理图输入编译仿真在编译仿真波形图时没有成功原因是对时序仿真count every值和end time值没有设好count every值不要设的太小。在老师指导下把引脚的配置又复习了,我感觉每次上课都在进步,老师的循循善诱,

加自己课后努力课前复习我相信一定能学好这门课程。

相关文档