基于vhdl语言的汽车尾灯控制电路的设计.docVIP

  • 30
  • 0
  • 约3.9千字
  • 约 5页
  • 2017-08-20 发布于重庆
  • 举报

基于vhdl语言的汽车尾灯控制电路的设计.doc

基于vhdl语言的汽车尾灯控制电路的设计

基于VHDL语言的汽车尾灯控制电路的设计 XXXXX班 XXX 学号:XXXXXXX 摘要:本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL,采用“自顶向下”的设计方Library ieee; Use ieee.std_logic_1164.all; Entity kong is Port(left,right:in std_logic; Lft,rit,lr:out std_logic); End kong; Architecture kong_logic of kong is Begin Process(left,right) Variable a:std_logic_vector(1 downto 0); Begin A:=left right; Case a is When”00”=lft=’0’; Rit=’0’; Lr =’0’; When”10”=lft=’1’; Rit=’0’; Lr =’0’; When”01”=rit=’1’; Lft=’0’; Lr =’0’; When other=rit=’1’; lft=’1’; lr=’1’; end case; end process; end kong_arc; 控制模块首先使用了库说明语句:library ieee; Use ieee.std_logic_1164.all 使用ieee库中的std_logic_1164程序包的全部资源。此控制模块定义的实体名为kong。在程序中要求实体名与存储的文件名一致。实体名为kong,则存储的文件名为kong.vhd。且此段程序包有5个端口,其名称分别为left. Right. Lft. Rit. Lr 。left 和right的端口方式是输入,lft, rit, lr 是输出,他们的端口类型都是std_logic的数据类型。实体说明部分结束以后,就是结构体的说明部分。结构体是整个VHDL语言中至关重要的一个组成部分,这个部分给出模块的具体说明,指定输入与输出之间的行为。结构体对实体的输入输出关系可以用三种关进行描述,即行为描述,寄存器传输描述和结构描述。只不过结构体的框架是完全一样的。本结构体中包含有一个进程语句,进程语句中又包含有两个敏感量process(left ,right),从begin开始到end process结束是一组顺序执行语句,ieee标准数据类型“std_logic_vector”定义了两位位矢量1downto 0,变量为a。程序往下把left和right的与赋值给a,下面便执行case语句了 ,case语句是无序的,所以所有条件表达式的值都是并行处理的。当条件表达式的值为”00”时则把lft ,rit ,lr,都变为0,所有信号都无效。当条件表达式为”10”时,左转信号lft有效,其它信号都无效,当条件表达式的值为”01”时右转信号rit有效,其余的无效。若条件表达式为其它的情况的话,那么就将rit ,lft ,lr 全部置1,即全部有效。最后结束case语句 end case .结束进程和结构体语句。 3. 模块LFTA 源程序: Library ieee; Use ieee.std_logic_1164.all; Entity lfta is Port(en,clk,lr:in std_logic; L2,l1,l0:out std_logic); End lfta; Architecture lft_arc of lfta is Begin Process(clk,en,lr) Variable tmp:std_logic_vector(2 downto 0); Begin If lr=’1’ then Tmp:=”111”; Elsif en=’0’ then Tmp:=”000”; Elsif clk’event and clk=’1’ then If tmp=”000” then Tmp:=”001”; Else Tmp:=tmp(1 downto 0) ‘0’; End if ; End if; L2=tmp(2); L1=tmp(1); L0=tmp(0); End process; End lft_arc; 模块LFTA同样使用了ieee库语句,定义的实体名为lfta,其共分为六个端口即en,clk,lr,l2,l1,l0,其中en,clk,lr为输入,l2,l1,l0的端口方式为输出,而它的端口类型同样也为std_logic

文档评论(0)

1亿VIP精品文档

相关文档