日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VHDL学习:利用Quartus自带库3步快速完成状态机

發布時間:2024/9/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VHDL学习:利用Quartus自带库3步快速完成状态机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Quartus自帶庫里面有各種編程語言的模板,供開發者參考。
初學者利用VHDL實現狀態機比較生疏的情況下,可以調出該模板,適當修改即可。
本文將描述如何利用Quartus自帶庫調出狀態機模板,并適當修改完成狀態機。

=========================================================

  • step one
    新建VHDL文檔,右鍵選擇Insert Template
  • step two
    在列表中選擇狀態機,點擊Insert。這里以Mearly型狀態機為例
  • step three
    修改具體代碼。
    生成的代碼如下:
library ieee; use ieee.std_logic_1164.all;-- 在這里修改器件名稱/輸入輸出 entity four_state_mealy_state_machine isport(clk : in std_logic;input : in std_logic;reset : in std_logic;output : out std_logic_vector(1 downto 0));end entity;architecture rtl of four_state_mealy_state_machine is-- 在這里修改狀態名稱 可以直接利用replace進行替換type state_type is (s0, s1, s2, s3);signal state : state_type;begin-- 在clk的邊沿跟新狀態機的狀態-- 在這里修改跳轉條件process (clk, reset)beginif reset = '1' thenstate <= s0;elsif (rising_edge(clk)) then-- state為現在的狀態,下面的list為現態分別為s0,s1,s2,s3跳轉到其他狀態的條件case state iswhen s0=>-- 當現態為s0,跳轉到其他狀態的條件-- 列出s0所有可能出現的狀態轉移,在這里用if語句描述即可-- 其他狀態類似if input = '1' thenstate <= s1;elsestate <= s0;end if;......end case;end if;end process;-- 由于我們選的是Mearly型狀態機,根據現態輸出-- 在這里修改不同的狀態的輸出process (state, input)begincase state is-- 若現在狀態為s0 且輸入為1 則輸出00-- 這里可以修改為其他的條件,描述現態為s0時需要處理的內容-- 其他狀態類似when s0=>if input = '1' thenoutput <= "00";elseoutput <= "01";end if;......end case;end process;end rtl;

轉載于:https://www.cnblogs.com/he11o-liu/p/7503251.html

總結

以上是生活随笔為你收集整理的VHDL学习:利用Quartus自带库3步快速完成状态机的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。