###### tags: `數位系統設計`
:::info
[回共筆首頁](https://hackmd.io/zrsmsRtEQ-OrnGslDxT0NQ)
[回科目首頁](https://hackmd.io/vXoSKbhKRV2nufoPIyxgyQ)
:::
[上課投影片](https://moodle2.ntust.edu.tw/pluginfile.php/237264/mod_resource/content/1/L06_flow.pdf)
[TOC]
# Lecture06: Digital System Design Flow
## Example of a Complex Digital System

- 設計系統最困難的部分,往往是在系統整合
- 台灣在這塊的能力相較於國外是比較弱的
- 因為台灣的學生比較不敢去 Challenge 既有的設計,沿用前輩留下來的成果,進一步優化、改良、研發。
## Design a Grading System 前段
- 需求

- 先設計邏輯,但是是 Combinational Circuit,大部分的 Digital System 是 Sequential Circuit,所以會把他們分成階段性的工作 => **Data Flow**

- 分成六個階段,同一個時脈去控制。

- 從中間綠色的圈圈可以發現,做五個 OR,可以只用一個 OR Gate 達成,因為這五次是在不同的階段,所以可以簡化設計的規則
:::warning
現在是用肉眼、人腦去簡化,在茲勳工程的幫助下,我們可以用演算法找出可以簡化的部分。
:::
## Design a Grading System 後段
:::info
IP (intellectual property) => 智慧財產
:::
- Floorplanning
- 把我需要的邏輯閘規劃要如何擺放
- 考慮需要用幾個 row 擺放,還有很多其他需要考慮的問題
- 考慮的大方向
1. **線路的複雜程度**,太複雜可能會接不出來,或是線變長 delay 時間變長,Performance 變差。
2. **空間浪費程度**,浪費較少,可能會犧牲掉簡單的電路設計。

- Routing
- 選擇好要規劃的 Floorplanning,就可以接線
- 原本的線叫做**飛線**(Flying line)
- 實際的線路只有垂直跟水平的,步驟過程叫做 **Routing**

## CAD
- CAD - Computer-Aided Design
- Design entry
- 邏輯閘設計圖
- HDL 硬體描述語言
- Verilog, VHDL
- Simulation 模擬
- Physical realization 實際設計電路
- ASIC, FPGA, PLD
## 研發流程

- 一般來說,設計前段會使用 Top-Down 的方式設計,而且是使用硬體描述語言。
## Traditional Waterfall Model

## Spiral SOC Design Flow

- 目前主流的 Design Flow