asic
設計流程
專案策劃
形成專案任務書
(專案進度,週期管理等)。
流程:【市場需求
--調研
--可行性研究
--論證
--決策
--任務書】。
系統說明及行為描述
確定設計物件和目標,進一步明確晶元功能、內外部效能要求,引數指標
,論證各種可行方案,選擇最佳方式,加工廠家,工藝水準。系統說明是晶元設計到邏輯和布局的第一步。它是在設計付諸實踐之前來進行的,抽象地描述了被設計的數位電路的功能、埠以及整體的結構。然後根據系統說明進行行為描述來分析電路設計的功能、效能、服從的標準以及其它高階問題
rtl描述
首先,設計者需要制定所要設計數位電路的工作流程或結構框圖,然後把整個任務劃分為幾個模組,分模組建模,採用
hdl語言進行結構設計。
工具:ultraedit,vi
**除錯
對設計輸入的檔案做**除錯,語法檢查。
工具: debussy。
前**
功能**.
工具: mentor
公司的modelsim
、synopsys
公司的vcs
和vss
、aldec
公司的active
、cadense
公司的ncsim.
邏輯綜合
邏輯綜合是將邏輯級的行為描述轉換成邏輯級的結構描述,即邏輯門級網表。邏輯級的行為描述可以是狀態轉移圖、有限狀態機,也可以是布林方程、真值表或硬體描述語言。邏輯綜合過程還包括一些優化步驟,如資源共享、連線優化和時鐘分配等。優化目標是面積最小,速度最快,功耗最低或他們之間的某種折衷。
工具:
有mentor
公司的leonardospectrum
、synopsys
公司的dc
、synplicity
公司的synplify。
前端結束
資料準備。
對於cdn
的silicon ensemble
而言後端設計所需的資料主要有是
foundry
廠提供的標準單元、巨集單元和
i/o pad
的庫檔案,它包括物理庫、時序庫及網表庫,分別以
.lef
、.tlf和.v
的形式給出。前端的晶元設計經過綜合後生成的門級網表,具有時序約束和時鐘定義的指令碼檔案和由此產生的
.gcf
約束檔案以及定義電源
pad的
def(
design exchange format
)檔案。(對
synopsys
的astro
而言,經過綜合後生成的門級網表,時序約束檔案
sdc
是一樣的
,pad
的定義檔案
--tdf,.tf
檔案technology file,foundry
廠提供的標準單元、巨集單元和
i/o pad
的庫檔案就與
fram, cell view, lm view
形式給出
(milkway
參考庫and db, lib file)
進入後端
布局和佈線
(floorplan and routing)
物理綜合也稱版圖綜合
(layoutsynthesis)
,它的任務是將門級網表自動轉換成版圖,即完成布圖。布圖規劃
(floorplan)
是對設計進行物理劃分,同時對設計的布局進行規劃和分析。
在這個過程中:
布局規劃。
主要是標準單元、
i/o pad
和巨集單元的布局。
i/o pad
預先給出了位置,而巨集單元則根據時序要求進行擺放,標準單元則是給出了一定的區域由工具自動擺放。布局規劃後,晶元的大小,
core
的面積,
row的形式、電源及地線的
ring
和strip
都確定下來了。如果必要在自動放置標準單元和巨集單元之後,你可以先做一次
pna(power network analysis
)--ir drop and em.
placement
-自動放置標準單元。布局規劃後,巨集單元、
i/o pad
的位置和放置標準單元的區域都已確定,這些資訊se(
silicon ensemble
)會通過
def檔案傳遞給
pc(physical compiler),pc
根據由綜合給出的
.db檔案獲得網表和時序約束資訊進行自動放置標準單元,同時進行時序檢查和單元放置優化。如果你用的是
pc +astro
那你可用
write_milkway, read_milkway
傳遞資料。
時鐘樹生成
(cts clock tree synthesis)
。晶元中的時鐘網路要驅動電路中所有的時序單元,所以時鐘源端門單元帶載很多,其負載延時很大並且不平衡,需要插入緩衝器減小負載和平衡延時。時鐘網路及其上的緩衝器構成了時鐘樹。一般要反覆幾次才可以做出乙個比較理想的時鐘樹。
---clock skew.
sta
靜態時序分析和後**。
時鐘樹插入後,每個單元的位置都確定下來了,工具可以提出
global route
形式的連線寄生引數,此時對延時引數的提取就比較準確了。se把
.v和.sdf
檔案傳遞給
primetime
做靜態時序分析。確認沒有時序違規後,將這來兩個檔案傳遞給前端人員做後**。對
astro
而言,在
detail routing 之後,
用starrc xt
引數提取,生成的
e.v和
.sdf
檔案傳遞給
primetime
做靜態時序分析,那將會更準確。
eco(
engineering change order)
。針對靜態時序分析和後****現的問題,對電路和單元布局進行小範圍的改動.
filler
的插入(pad fliier, cell filler)
。filler
指的是標準單元庫和
i/o pad
庫中定義的與邏輯無關的填充物,用來填充標準單元和標準單元之間,
i/o pad
和i/o pad
之間的間隙,它主要是把擴散層連線起來,滿足
drc規則和設計需要。
佈線(routing)
。global route-- track assign --detail routing--routing optimization
佈線是指在滿足工藝規則和佈線層數限制、線寬、線間距限制和各線網可靠絕緣的電效能約束的條件下,根據電路的連線關係將各單元和
i/o pad
用互連線連線起來,這些是在時序驅動
(timing driven )
的條件下進行的,保證關鍵時序路徑上的連線長度能夠最小。
--timing report clear
drc和lvs
drc是對晶元版圖中的各層物理圖形進行設計規則檢查
(spacing,width)
,它也包括天線效應的檢查,以確保晶元正常流片。
lvs主要是將版圖和電路網表進行比較,來保證流片出來的版圖電路和實際需要的電路一致。 工具
synopsyhercules/ mentor calibre/ cdn dracula
進行的.astro also include lvs/drc check commands
tape out
在所有檢查和驗證都正確無誤的情況下把最後的版圖
gdsⅱ
檔案傳遞給
foundry
廠進行掩膜製造
formality
任何時候對乙個電路設計進行了改動之後,都可以使用
formaliyt
來驗證這種改動是否影響或者改變了該設計的邏輯功能。如果證實了改動後的設計和源設計是等價的之後,就可以把修改後的設計作為下一次驗證時的
「源設計
」。由於結構相似的設計所需要的比較時間較短,這樣也就節省了花費在驗證上的時間。
ASIC開發設計流程
zz asic開發設計流程 1.使用語言 vhdl verilog hdl 2.各階段典型軟體介紹 a 輸入工具 summit summit 公司 b 工具 vcs,vss synopsys 公司 c 綜合器 designcompile,bc compile synopsys 公司 d 布局佈線工具...
ASIC開發設計流程
asic開發設計流程 1.使用語言 vhdl verilog hdl 2.各階段典型軟體介紹 a 輸入工具 summit summit 公司 b 工具 vcs,vss synopsys 公司 c 綜合器 designcompile,bc compile synopsys 公司 d 布局佈線工具 dr...
ASIC開發設計流程
asic開發設計流程 1.使用語言 vhdl verilog hdl 2.各階段典型軟體介紹 a 輸入工具 summit summit 公司 b 工具 vcs,vss synopsys 公司 c 綜合器 designcompile,bc compile synopsys 公司 d 布局佈線工具 dr...