---
# System prepended metadata

title: Spyglass
tags: [EDA tool, Verilog]

---

# Spyglass

## 1. 介紹

> [!Note] **Spyglass**
> - **是一套高階靜態 ==分析工具==**
> - **常用於 ==RTL 檢查== 與 ==品質分析==**

> [!Tip] **功能**
> 
> | 功能分類                          | 說明                                                  |
> |:--------------------------------- |:----------------------------------------------------- |
> | **==Lint== 分析**                 | **==檢查== RTL ==語法==、==風格==、==潛在邏輯錯誤==** |
> | **==CDC== 分析**                  | **==分析時脈跨域==（Clock Domain Crossing）問題**     |
> | **==DFT== 分析**                  | **==分析可測試性==（Design For Testability）**        |
> | **==Power== 分析**                | **靜態估算==功耗潛力==問題**                          |
> | **==Reset== 分析**                | **分析 Reset 是否==正確覆蓋==所有 FF**                |
> | **==Naming==/==Style== 規則檢查** | **幫助建立==良好 RTL 寫法規範==**                     |

> [!Important] **呼叫 Spyglass**
> - **指令：==注意!!== 要加上 ==&==，才能 ==同時== 使用 ==Spyglass==、==CMD==**
> >```robotframework
> >spyglass &
> >```

## 2. 讀取檔案

1. **加入檔案：==Add File(s)== > ==選擇要分析的電路== > ==Add== > ==OK==**
    <iframe src="https://drive.google.com/file/d/1rlirxluFmoRZUBJ2vF0uvADCpLI9Wu7o/preview" height="300"></iframe>
2. **讀取檔案：==Read Design== > ==Run Design Read== > ==可以看到程式碼==**
    <iframe src="https://drive.google.com/file/d/1BSwnFCJIJ3zHa00FoppT6kqKh2za_RAq/preview" height="400"></iframe>

## 3. Lint 分析

1. **分析設定：==Goal Setup== > ==打勾 lint== > ==Run Gola(s)==**
    <iframe src="https://drive.google.com/file/d/1Ozn9wpxm93TU0avJXc5wOYNdcK4xN-Nw/preview" height="300"></iframe>
2. **分析結果：可以在 ==Analyze Results== 看到**
    - **若有 ==錯誤==，==雙擊錯誤訊息== 可以看到 ==錯誤行==**
    - **這裡 ==錯誤訊息== 說明：==alu_out== 同時被 ==不同 block== 使用**
    <iframe src="https://drive.google.com/file/d/1ixx5Z3nPGCDVjFeFw7hqnEBpkzpM91wK/preview" height="500"></iframe>


---