--- title: VLSI 2 --- # VLSI Computer-Aided Design for VLSI Design NTNU VLSI 電腦輔助設計 <style> .caption{ color:grey; font-size:2px; } </style> ##### [Back to Note Overview](https://reurl.cc/XXeYaE) ##### [Back to VLSI Computer-Aided Design for VLSI Design](https://hackmd.io/@NTNUCSIE112/VLSI110-1) {%hackmd @sophie8909/pink_theme %} ###### tags: `VLSI` `110-1` `CSIE` `選修` `NTNU` <!-- tag順序 [學校] [系 必選] or [學程 學程名(不含學程的 e.g. 大師創業)] [課程] [開課學期]--> <!-- 網址名稱 VLSI110-1_[] --> ## Ch2. VHDL-Basic Elements and Dataflow ### Identifiers and Data Objects #### Iderntifiers #### Data Objects - holds a value of a specified type - created bt means of an object declaration  - Every data object belongs to one of the following four classes 1. Constant - declaration - simple example - `constant BUS_WIDTH: INTER :=8;` 2. Varible - declaration - simple example - `varibale FOUND, DOWN: BOOLEAN;` 3. Signal - declaration - simple example ```vhdl= signal CLOCK: BIT; signal DATA_BUS: BIT_VECTOR(0 to 7); signal INIT_P: STD_LOGIC_VECTOR(7 downto 0); ``` 4. File ### Data Types of VHDL <!-- 縮起來好打 --> 1. Scalar Types - Enumeration - BOOLEAN (FALSE, TRUE) - BIT ('0', '1') - STD_LOGIC - not default, need `STD_LOGIC_1164` package - values | value | explain | | | ----- | --------------- | --- | | 'U' | Un-Initialed | | | 'X' | Forcing Unknown | | | '0' | Forcing 0 | | | '1' | Forcing 1 | | | 'Z' | High Impedance | | | 'W' | Week Unknown | | | 'L' | Week Low | | | 'H' | Week High | | | '-' | Don't Care | | - Integer - range: (0, 15), 4 bits - Physical <font class="caption">不常用</font> - Floating <font class="caption">不常用,高階語言的 floating 是由硬體算出來的所以在硬體這邊這堂課先不討論。</font> 2. Composite Types - Array ```vhdl= type ADDRESS_WORD is arr ```  - BIT_VECTOR - STRING - STD_LOGIC_VECTOR - Record <font class="caption">不常用</font> 3. Access Types 4. File Types <!-- 1015 大概講到 ARRAYhttps://moodle3.ntnu.edu.tw/ --> - Difference between downto and to - 沒聽清楚他說啥,但結論是建議用 downto - 因為多數工程師用 downto,若你用 to 合併可能會出問題 ### Operators and Attributes The predefined operators in the language are classified into the following 6 categories: 1. Logical operators 2. Relational operators 3. Shift operators 4. Adding operators 5. Multiplying operators 6. Miscellaneous operators ### Dataflow Model ### Entity Declaration and Architecture Body ### Concurrent Signal Assignment ### Conditional Signal Assignment ### Selected Signal Assignment
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.