freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

可編程邏輯電路技術vhdl語言要素4hr(編輯修改稿)

2025-01-19 14:25 本頁面
 

【文章內容簡介】 H 。 SUBTYPE POSITIVE IS INTEGER RANGE 1 TO INTEGER39。HIGH 。 VHDL數(shù)據(jù)類型 39 (8) 實數(shù) (REAL)數(shù)據(jù)類型 ? 實數(shù)的取值范圍為 ~。 ? 通常僅能在 VHDL仿真器中使用,綜合器 不支持實數(shù) 。 ? 書寫時一定 要有小數(shù) ,例: 十進制浮點數(shù) 十進制浮點數(shù) = 8e+4 八進制浮點數(shù) 4 十進制浮點數(shù) VHDL數(shù)據(jù)類型 40 (9) 時間 (TIME)數(shù)據(jù)類型 VHDL 中 唯一 的預定義物理類型,完整的時間類型包括整數(shù)和物理量單位兩部分,整數(shù)和單位之間至少留一個空格,如: 55 ms, 20 ns VHDL數(shù)據(jù)類型 41 (10) 錯誤等級 (SEVERITY LEVEL) 仿真器中,錯誤等級用來指示設計系統(tǒng)的四種工作狀態(tài) : NOTE(注意 ) WARNING(警告 ) ERROR(出錯 ) FAILURE(失敗 ) 這四種值來提示當前的工作情況,其定義如下: TYPE severity_level IS (note, warning, error, failure) 。 VHDL數(shù)據(jù)類型 42 IEEE預定義標準邏輯位與矢量 在 IEEE庫的程序包 STD_LOGIC_1164中 , 定義了標準邏輯位 STD_LOGIC 和標準邏輯矢量STD_LOGIC_VECTOR兩個重要的數(shù)據(jù)類型 。 (1) 標準邏輯位 (STD_LOGIC)數(shù)據(jù)類型 TYPE STD_LOGIC IS (39。U39。, 39。X39。, 39。039。, 39。139。, 39。Z39。,39。W39。, 39。L39。, 39。H39。, 39。39。); 39。U39。未初始化的 , 39。X39。強未知的 , 39。039。強 0, 39。139。強 1,39。Z39。高阻態(tài) , 39。W39。弱未知的 , 39。L39。弱 0, 39。H39。弱 1, 39。39。忽略 。 VHDL數(shù)據(jù)類型 43 由于標準邏輯位數(shù)據(jù)類型的多值性 在編程時應當特別注意 , 在條件語句中如果未考慮到 所有可能的取值 情況 , 綜合器可能會插入不希望的鎖存器; 在程序中使用此數(shù)據(jù)類型前 , 需加入下面的語句: LIBRARY IEEE; USE ; STD_LOGIC 型數(shù)據(jù)能夠在數(shù)字器件中實現(xiàn)的只有-、 0、 1和 Z四種值,高阻態(tài)和忽略態(tài)可用于三態(tài)的描述,這九種值對于行為仿真都有重要意義。 VHDL數(shù)據(jù)類型 44 (2) 標準邏輯矢量 (STD_LOGIC_VECTOR)數(shù)據(jù)類型 TYPE STD_LOGIC_VECTOR IS ARRAY (NATURAL RANGE) OF STD_LOGIC; STD_LOGIC_VECTOR 數(shù)據(jù)類型是定義在STD_LOGIC_1164程序包中的標準一維數(shù)組 , 數(shù)組中的每一個元素的數(shù)據(jù)類型都是標準邏輯位STD_LOGIC。 使用時必須嚴格考慮位矢的寬度, 同位寬、同數(shù)據(jù)類型 的矢量間才能進行賦值。 VHDL數(shù)據(jù)類型 45 其它預定義標準數(shù)據(jù)類型 Synopsys 公司在 IEEE庫中加入的STD_LOGIC_ARITH程序包中定義了如下的數(shù)據(jù)類型: ?無符號型 (UNSIGNED) ?有符號型 (SIGNED) ?小整型 (SMALL_INT) 在使用之前加入下面的語句: LIBRARY IEEE 。 USE 。 VHDL數(shù)據(jù)類型 46 (1)無符號數(shù)據(jù)類型 (UNSIGNED) TYPE UNSIGNED IS array (NATURAL range ) OF STD_LOGIC 。 UNSIGNED 數(shù)據(jù)類型代表一個無符號的數(shù)值 ,在綜合器中這個數(shù)值被解釋為一個二進制數(shù) , 其最左位是最高位 。 例如十進制的 8可以作如下表示: UNSIGNED39。(1000) 例: VARIABLE var : UNSIGNED(0 TO 10) 。 不能用 UNSIGNED定義負數(shù) ! VHDL數(shù)據(jù)類型 47 (2)有符號數(shù)據(jù)類型 (SIGNED TYPE) SIGNED 數(shù)據(jù)類型表示一個有符號的數(shù)值,綜合器將其解釋為補碼,此數(shù)的最高位是符號位。 例: VARIABLE var SIGNED(0 TO 10) 。 其中變量 var 有 11位,最左位 var(0)是符號位。 VHDL數(shù)據(jù)類型 48 用戶自定義數(shù)據(jù)類型 VHDL允許用戶自行定義新的數(shù)據(jù)類型,如枚舉類型 (ENUMERATION TYPE)、整數(shù)類型(INTEGER TYPE)、數(shù)組類型 (ARRAY TYPE)、記錄類型 (RECORD TYPE)、時間類型 (TIME TYPE)、實數(shù)類型 (REAL TYPE)等。 用戶自定義數(shù)據(jù)類型是用類型定義語句 TYPE和子類型定義語句 SUBTYPE實現(xiàn)的。 VHDL數(shù)據(jù)類型 49 VHDL數(shù)據(jù)類型 ? TYPE語句用法 TYPE語句語法結構如下: TYPE 數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義 OF 基本數(shù)據(jù)類型 Type 數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義 ? 數(shù)據(jù)類型名由設計者自定; ? 數(shù)據(jù)類型定義部分用來描述表達方式和表達內容; ? 關鍵詞 OF后的基本數(shù)據(jù)類型是指數(shù)據(jù)類型所定義的元素的基本數(shù)據(jù)類型, 一般取預定義數(shù)據(jù)類型如BIT, STD_LOGIC或 INTEGER等。 50 VHDL數(shù)據(jù)類型 例如: TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC 。 TYPE week IS (sun mon tue wed thu fri sat) 。 TYPE byt IS STD_LOGIC(15 DOWNTO 0) 。錯誤 ? st1是一個具有 16個元素的數(shù)組型數(shù)據(jù)類型; ? week是由一組文字表示的,每一文字都代表一個具體的數(shù)值,如可令 sun = 1010 。 ? 第三句定義的方式是錯誤的 ,TYPE 定義的數(shù)據(jù)類型應該是一種全新的即 VHDL 預定義庫中未被定義過的數(shù)據(jù)類型,這里的 STD_LOGIC已被定義為標準位了。 51 VHDL數(shù)據(jù)類型 ? SUBTYPE 語句用法 子類型 SUBTYPE 只是由 TYPE 所定義的原數(shù)據(jù)類型的一個子集,它滿足原數(shù)據(jù)類型的所有約束條件,原數(shù)據(jù)類型稱為基本數(shù)據(jù)類型。 SUBTYPE 子類型名 IS 基本數(shù)據(jù)類型 RANGE 約束范圍 ? 子類型只在基本數(shù)據(jù)類型上作一些約束,并沒有定義新的數(shù)據(jù)類型,這是與 TYPE 最大的不同; ? 基本數(shù)據(jù)類型必須是 TYPE定義過的數(shù)據(jù)類型,包括 VHDL預定義程序包中定義過的類型 。 52 VHDL數(shù)據(jù)類型 例: SUBTYPE digits IS INTEGER RANGE( 0 to 9) 。 SUBTYPE dig1 IS STD_LOGIC_VECTOR(7 DOWNTO 0)。 SUBTYPE dig3 IS ARRAY(7 DOWNTO 0) of STD_LOGIC。 錯誤不能用來定義一種新的數(shù)據(jù)類型 由于子類型與其基本數(shù)據(jù)類型屬同一數(shù)據(jù)類型,因此屬于子類型的和屬于基本數(shù)據(jù)類型的數(shù)據(jù)對象間可以直接進行賦值,不必進行數(shù)據(jù)類型的轉換。 53 VHDL數(shù)據(jù)類型 ( 1)枚舉類型 枚舉數(shù)據(jù)類型是 用文字符號來表示一組二進制數(shù) 。例如,狀態(tài)機的每一狀態(tài)在實際電路中是以二進制數(shù)位的組合來表示的,但為了更于閱讀、編譯,往往將狀態(tài)用文字符號來代表。例如: TYPE m_state IS ( state1,state2,state3,state4,state5 ) 。 SIGNAL present_state, next_state : m_state 。 信號 present_state 和 next_state 的數(shù)據(jù)類型為 m_state,它們的取值范圍從 state1~ state5 共五種 。而這些狀態(tài)代表五組不同的二進制數(shù)值。 54 VHDL數(shù)據(jù)類型 BIT、布爾量、字符及 STD_LOGIC 等都是 程序包中定義的枚舉 數(shù)據(jù)類型。如 BIT 的取值是文字 0 和 1, 與數(shù)字 0 和 1 不一樣,不能進行數(shù)學運算,它們只代表一個數(shù)據(jù)對象的兩種可能的取值方向。 在綜合過程中將轉化成二進制代碼,當然枚舉類型也可以直接用數(shù)值來定義,但必須使用單引號 TYPE my_logic IS (?1?, ?Z? ,?U?, ?0? ) 。 SIGNAL s1 : my_logic 。 s1 = ?Z? 。 TYPE STD_LOGIC IS ( ?U?, ?X?, ?0? , ?1? ,?Z?, ?W?,?L? , ?H? ?? ) 。 SIGNAL sig : STD_LOGIC 。 sig = ?Z? 。 55 VHDL數(shù)據(jù)類型 在綜合過程中, 枚舉類型文字元素的編碼通常是自動的 ,一般將第一個枚舉量 (最左邊的量 )編碼為 0,以后的依次加 1。位矢的長度將取決于狀態(tài)數(shù)。如五個狀態(tài)的位矢長度應該為 3 ,編碼默認值: state1 = ‘000’state2 = ‘001’ state3 =‘010’ state4 =‘011’ state5 = ‘100’ 于是 state1 state2 state3 state4 state5 ,編碼方式因綜合器及綜合控制方式不同而不同, 編碼順序也可以人為設臵 。 56 VHDL數(shù)據(jù)類型 ( 2) 整數(shù)類型和實數(shù)類型 這兩種數(shù)據(jù)類型取值范圍太大,無法綜合, 必須由用戶根據(jù)需要重新定義 , 限定取值范圍 。 VHDL 仿真器通常將整數(shù)或實數(shù)類型作為有符號數(shù)處理,編碼方法是: 負數(shù) 編碼為二進制補碼 正數(shù) 編碼為二進制原碼 編碼的位數(shù)取決于用戶定義的數(shù)值的最大值。 數(shù)據(jù)類型定義 綜合結果 TYPE num2 IS range 10 to 100 7位二進制原碼 TYPE num3 IS range 100 to 100 8位二進制補碼 SUBTYPE num4 IS num3 RANGE 0 to 6 3位二進制原碼 57 VHDL數(shù)據(jù)類型 ( 3) 數(shù)組類型 ? 數(shù)組類型屬復合類型,是將一組 具有相同數(shù)據(jù)類型的 元素集合在一起,作為一個數(shù)據(jù)對象來處理。 ? 數(shù)組可以是一維 (每個元素只有一個下標 )數(shù)組或多維數(shù)組 (每個元素有多個下標 ) VHDL 仿真器支持多維數(shù)組,但 綜合器只支持一維數(shù)組 。 ? 兩種不同類型的數(shù)組: 限定性數(shù)組 和 非限定性 數(shù)組,
點擊復制文檔內容
化學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1