VHDL简易出租车计价器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

------------------------------------------------------------------------------------------------------------------------顶层文件top.vhd

----------------------------------------------------------------------------------------------------------------------

LIBRARY IEEE;

USE IEEE. STD_LOGIC_1164.ALL;

USE IEEE. STD_LOGIC_UNSIGNED. ALL;

USE IEEE. STD_LOGIC_ARITH. ALL;

entity top is

port (

--输入300Hz时钟

clk :in std_logic;

--按键输入开始信号

s :in std_logic;

--按键输入等待信号

w :in std_logic;

--按键输入加速信号

sp :in std_logic;

--数码管位选

sel :out std_logic_vector(5 downto 0);

--七段数码管显示

show :out std_logic_vector(7 downto 0);

--点阵列显示

col:out std_logic_vector (7 downto 0);--lie shuchu

--点阵行显示

row:out std_logic_vector (7 downto 0)--hang shuchu

);

end top ;

architecture structural of top is

--按键模块,加入防抖

component anjian

port

(

clk :in std_logic;

s :in std_logic;

w :in std_logic;

sp:in std_logic;

--输出加入防抖后的等待信号

stop :out std_logic;

--输出加入防抖后的开始信号

start :out std_logic;

--输出加入防抖后的调速信号,共3档:00,01,10 speeding:out std_logic_vector(1 downto 0)

);

end component;

--计时,计里程,计费模块

component taxi

port(

--

clk :in std_logic;

--

start :in std_logic;

--

night :in std_logic;

stop :in std_logic;

--

mile :in std_logic;

--总价格

char0 :out std_logic_vector(3 downto 0);

char1 :out std_logic_vector(3 downto 0);

char2 :out std_logic_vector(3 downto 0);

--总等待时间

min0 :out std_logic_vector(3 downto 0);

min1 :out std_logic_vector(3 downto 0);

--单程总里程

km0 :out std_logic_vector(3 downto 0);

km1 :out std_logic_vector(3 downto 0)

);

end component;

--数码管显示模块

component display

port(

--

reset :in std_logic;

--

clk :in std_logic;

--

char0 :in std_logic_vector(3 downto 0);

char1 :in std_logic_vector(3 downto 0);

char2 :in std_logic_vector(3 downto 0);

--

min0 :in std_logic_vector(3 downto 0);

min1 :in std_logic_vector(3 downto 0);

--

km0 :in std_logic_vector(3 downto 0);

km1 :in std_logic_vector(3 downto 0);

--

sel :out std_logic_vector(5 downto 0);

--

show :out std_logic_vector(7 downto 0)

);

end component;

--调速模块

component speed

port

( clk :in std_logic;

speeding :in std_logic_vector(1 downto 0);

--输出公里脉冲信号

mile :out std_logic

);

end component;

--点阵显示模块

component dianzhen

port

(clk:in std_logic;

Start,sp:in std_logic;

col:out std_logic_vector (7 downto 0);--lie shuchu

row:out std_logic_vector (7 downto 0)--hang shuchu

);

end component;

--

signal char0 :std_logic_vector(3 downto 0);

signal char1 :std_logic_vector(3 downto 0);

signal char2 :std_logic_vector(3 downto 0);

--signal char3 :std_logic_vector(3 downto 0);

signal min0 :std_logic_vector(3 downto 0);

signal min1 :std_logic_vector(3 downto 0);

signal km0 :std_logic_vector(3 downto 0);

signal km1 :std_logic_vector(3 downto 0);

signal mile :std_logic;

signal stop:std_logic;

signal start:std_logic;

相关文档
最新文档