EDA筆記(2)--保姆式講解混合輸入

本文主要講解演示下如何設計 底層VHDL語言設計,頂層原理圖設計的混合輸入方式

基於設計平臺:Quartus II 13.1

基於設計課題:0-9999加法計數器的設計,採用混合輸入方式

底層VHDL語言完成十進制計數器

1.創建工程文件,在工程文件下新建文件等編譯環境的搭建在這裏就不過多累贅講述

2.底層VHDL語言設計十進制計數器代碼如下:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
--聲明程序包
entity cnt10 is    
 port (clk,clr,ena: in std_logic;
   cq: out std_logic_vector(3 downto 0);
   co: out std_logic);
end cnt10;
--聲明實體
architecture bhv of cnt10 is
 signal cq1: std_logic_vector(3 downto 0);
 --定義保存計數值的信號cq1
 begin
 process(clk,clr,ena) is
 --計數控制進程
  begin
  if clr = '1' then cq1<="0000";
  --計數器異步復位
  elsif clk'event and clk = '1' then
  --檢測時鐘上升沿
   if ena = '1' then
   --檢測是否允許計數(同步使能)
    if cq1 = "1001" then
     cq1<="0000";
     --等於9,計數值清零
    else
     cq1<=cq1+'1';
     --允許計數
    end if;
   end if;
  end if;
 end process; 
 process(clk,cq1) is
 --進位控制進程
  begin
  if clk'event and clk = '1' then
   if cq1 < "1001" then
    co<='0';
   else
    co<='1';
    --計數大於9,輸出進位信號
   end if;
  end if;
 end process;
 cq<=cq1;
 --將計數的中間結果cq1,傳送到計數器cnt10的輸出端口cq
end bhv;

3.編譯程序,檢查是否報錯;無誤後,如果工程下面存在多個文件,將其針對使用的文件進行置頂操作,如下圖所示:

在這裏插入圖片描述

4.接下來進行將底層VHDL語言設計的器件導出符號文件,如下圖:

在這裏插入圖片描述
運行無誤即成功

頂層原理圖設計

5.在工程下面新建原理圖文件,如下圖所示:

在這裏插入圖片描述

6.放置底層語言設計導出的符號文件,如下圖所示:

在這裏插入圖片描述

7.然後,利用四個十進制計數器搭建成範圍是0~9999的加法計數器,如下圖所示:

在這裏插入圖片描述
可以用導線將端口對應連接,如果圖方便,簡潔,也可以隔空連接,如圖所示,在端口處連出一端導線,不連接另外一端,即形成叉號,然後將對應端口也連出一端導線,不連接另外一端,形成叉號,將對應兩端的導線命成相同的名字,即爲默認連接。
需要注意的是,輸出端口要有總線接出,在命名總線時,格式爲a[0…3],寫成[0…3]是錯誤的

8.設計好原理圖後,運行檢查是否報錯,如下圖:

注意這裏運行,需要將原理圖文件同樣進行置頂操作,操作如之前步驟一樣。
在這裏插入圖片描述

9.經過以上操作,頂層原理圖,底層語言文本設計就完成了,現在進行仿真操作,檢查是否實現功能,如圖下:

新建仿真文件
在這裏插入圖片描述

依次搭建仿真環境,鼠標右擊空白處
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
隨後依次點擊ok,ok即可

10.配置仿真條件,驗證仿真結果

在這裏插入圖片描述
可以進行0~9999十進制計數,功能實現

如有錯誤,請批評指正

碼字不易,你的支持是我創作的最大動力,給個點贊關注下吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章