欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

VHDL 庫的使用

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年11月07日   【字體:


       當使用庫時,需要說明使用的庫名稱,同時需要說明庫中包集合的名稱及范圍;  每個實體都應獨立進行庫的說明;庫的說明應該在實體之前;經過說明后,實體和結構體就可以自動調用庫中的資源.
      首先說明總庫,語句格式 library  庫名,例如 :  library ieee;
      其次調用總庫中的子庫,用 use調取,格式:USE 庫名范圍(或項目名);    如use ieee.std_logic_1164.all。
      VHDL中庫的主要種類:    IEEE庫 、STD庫 、ASIC庫、 work庫 、用戶定義庫 和IEEE庫:   含有IEEE的標準包集合“STD_LOGIC_1164”以及一些大公司提供的包集合;使用前必須說明; 例: library ieee;  use ieee.std_logic_1164.all;  使用標準邏輯量的定義和運算; use ieee.std_logic_unsigned.all; 無符號數算術運算的定義; use ieee.std_logic_arith.all;  使用符號數算術運算的定義。
       STD庫:  含有“STANDARD”包集合和“TEXTIO”包集合,使用前者時無需說明;
       ASIC庫:  由各公司提供,存放與邏輯門一一對應的實體,用于ASIC設計的門級仿真,使用時需加以說明; 例  library altera; use altera.maxplus2.all;     library lpm;  use lpm.lpm_components.all;
       WORK庫:  WORK庫為現行作業庫,位于當前使用時設計文件的指定保存目錄;  WORK使用時通常無須說明;但在結構設計中進行元件的宏調用時需要說明; 例:use work.all;
      用戶定義庫:  由用戶自定義生成,使用時需說明(指定庫所在的路徑);
      package  包集合:用于羅列VHDL語言中使用的類型定義、信號定義、常數定義、元件定義、函數定義和過程定義等(類似于C語言中的include語句),方便不同模塊的設計中公共定義的共享。
      數字電路設計中經常使用的包集合: ieee.std_logic_1164 .all;邏輯量的定義 ieee.std_logic_arith.all; 數據轉換,邏輯判斷 ieee.std_logic_unsigned ;算術運算  std.textio ;
     文本數據輸入/輸出格式     包集合在使用前必須采用use語句進行說明(在設計程序的最前面);  包集合可以由用戶自定義;   包的結構與定義:(用戶自定義的包集合)    包集合標題+(包集合體) 包集合標題:  package 包集合名 is        說明語句;   (只有名稱)  end 包集合名;      包集合體:  package body包集合名 is        說明語句;  (完整定義)  end 包集合名;  例:( 函數取自p.279 表4-38 ) library ieee;  use ieee.std_logic_1164.all; packge upac is  constant k: integer := 4;  subtype cpu_bus is std_logic_vector(k-1downto 0); function conv_integer (x:std_logic_vector) return integer; end upac;    packge body upac is  function conv_integer (x: std_logic_vector) return integer is variable result: integer; begin    result := 0;     for I in x'range loop     result :=result*2;     case x(i) is      when '0'|'L' => null;      when '1'|'H' => result := result+1;      when others   => null;     end case;    end loop;    return result;  end conv_integer; end upac;  用戶自行編寫的包集合將自動存放于WORK庫中,使用時可采用下列語句調用   use work.upac.all;   configuration  配置  在一個實體內可以編寫多種不同的構造體,通過配置語句來進行選擇; 配置語句格式:    configuration 配置名 of 實體名 is      for 選擇的構造體名      end for;   end 配置名;  此語句可以為設計增加更大的靈活性,可以對不同構造體進行比較。    
 

關閉窗口

相關文章