當前位置:首頁 > EDA > 電子設計自動化
[導讀]程序設計與仿真。 1. 出租車計價器VHDL程序 --文件名:taxi.hd --功能:出租車計價器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; enti

程序設計與仿真。
1. 出租車計價器VHDL程序
--文件名:taxi.hd
--功能:出租車計價器
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity taxi is
port ( clk_240  :in std_logic;                           --頻率為240Hz的時鐘                        
       start :in std_logic;                               --計價使能信號
       stop:in std_logic;                                --等待信號
       fin:in std_logic;                                 --公里脈沖信號
       cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費用數(shù)據
       km1,km0:out std_logic_vector(3 downto 0);          --公里數(shù)據           
       min1,min0: out std_logic_vector(3 downto 0));       --等待時間  
end taxi;
architecture behav of taxi is
signal f_15,f_16,f_1:std_logic;                       --頻率為15Hz,16Hz,1Hz的信號
signal q_15:integer range 0 to 15;                     --分頻器
signal q_16:integer range 0 to 14;                     --分頻器
signal q_1:integer range 0 to 239;                     --分頻器
signal w:integer range 0 to 59;                        --秒計數(shù)器
signal c3,c2,c1,c0:std_logic_vector(3 downto 0);         --制費用計數(shù)器
signal k1,k0:std_logic_vector(3 downto 0);              --公里計數(shù)器
signal m1:std_logic_vector(2 downto 0);                --分的十位計數(shù)器
signal m0:std_logic_vector(3 downto 0);                --分的個位計數(shù)器
signal en1,en0,f:std_logic;                            --使能信號
begin
feipin:process(clk_240,start)
begin
  if clk_240'event and clk_240='1' then
    if start='0' then q_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';
    else
      if q_15=15 then q_15<=0;f_15<='1';          --此語句得到頻率為15Hz的信號
      else q_15<=q_15+1;f_15<='0';
      end if;
      if q_16=14 then q_16<=0;f_16<='1';          --此語句得到頻率為16Hz的信號
      else q_16<=q_16+1;f_16<='0';
      end if;
      if q_1=239 then q_1<=0;f_1<='1';            --此語句得到頻率為1Hz的信號
      else q_1<=q_1+1;f_1<='0';
      end if;
      if en1='1' then f<=f_15;                    --此語句得到計費脈沖f
      elsif en0='1' then f<=f_16;
      else f<='0';
      end if;
    end if;
  end if;
end process;
process(f_1)
begin
  if f_1'event and f_1='1' then
    if start='0' then
w<=0;en1<='0';en0<='0';m1<="000";m0<="0000";k1<="0000";k0<="0000";
    elsif stop='1' then
      if w=59 then w<=0;                             --此語句完成等待計時
        if m0="1001" then m0<="0000";                --此語句完成分計數(shù)
          if m1<="101" then m1<="000";
          else m1<=m1+1;
          end if;
        else m0<=m0+1;
        end if;
        if m1&m0>"0000001"then en1<='1';             --此語句得到en1使能信號
        else en1<='0';
        end if;
      else w<=w+1;en1<='0';
      end if;
    elsif fin='1' then
      if k0="1001" then k0<="0000";                    --此語句完成公里脈沖計數(shù)
        if k1="1001" then k1<="0000";
        else k1<=k1+1;
        end if;
      else k0<=k0+1;
      end if;
      if k1&k0>"00000010" then en0<='1';               --此語句得到en0使能信號
      else en0<='0';
      end if;       
    else en1<='0';en0<='0';
    end if;
cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0;                   --費用數(shù)據輸出
km1<=k1;km0<=k0;min1<='0'&m1;min0<=m0;              --公里數(shù)據、分鐘數(shù)據輸出
  end if;
end process;
process(f,start)
begin
  if start='0' then c3<="0000";c2<="0001";c1<="0000";c0<="0000";
  elsif f'event and f='1' then
    if c0="1001" then c0<="0000";                       --此語句完成對費用的計數(shù)
      if c1="1001" then c1<="0000";
        if c2="1001" then c2<="0000";
          if c3<="1001" then c3<="0000";
          else c3<=c3+1;
          end if;
        else c2<=c2+1;
        end if;
      else c1<=c1+1;
      end if;
    else c0<=c0+1;
    end if;
  end if;
end process;
end behav;  

2. 程序仿真圖

注:1. 仿真圖中秒跟分的關系為3進制,即w為2時就歸0;

2. 出租車總行駛5公里,等待累計時間為4分鐘,總費用為16.2元。


圖8.22.3 出租計價器程序仿真全圖
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉