色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是邏輯綜合?邏輯綜合的流程有哪些?

冬至子 ? 來源:簡矽 ? 作者:簡矽 ? 2023-09-15 15:22 ? 次閱讀

概述

邏輯綜合是將RTL描述的電路轉換成門級描述的電路,將HDL語言描述的電路轉換為性能、面積和時序等因素約束下的門級電路網表。綜合后的門級網表也是.v構成的Verilog代碼,但是里面并沒有我們所寫的always或者assign這種語句,而是將標準單元(Standard Cell)實例化并進行連接。

圖片

圖1 RTL網表轉為門級網表

常見的工具是synopsys公司的Design Compiler。

原因

綜合最重要的目的是對電路進行約束,從而在性能、面積和時序之間尋求平衡。

圖片

圖2 性能面積和時序的平衡關系

與DFT的關系: DFT插入的測試邏輯也要與Function的邏輯一起綜合,也受上述三個因素的制約,所以Synthesis與DFT關系密切。

流程

邏輯綜合的流程為:翻譯(Translation)、優化(Optimize)、映射(Mapping)。

圖片

圖3 綜合流程

1.翻譯: 綜合工具將RTL-level的邏輯電路用門級的邏輯來實現,DC工具用自帶的GTECH庫中的標準單元去搭建門級邏輯電路,最終形成一個初級的、未優化的門級電路。

(GTECH:Generic Technology, 是Synopsys公司提供的獨立于工藝的, 不包含約束的元件庫)

2.映射: 將門級邏輯電路映射到由制造商提供的工藝庫上。(工藝庫包含時序、面積、功耗等約束信息)

3.優化: 綜合工具對門級邏輯電路進行分析,去掉電路中的冗余單元,根據設計者添加的約束條件對電路進行優化。

步驟

(1)準備HDL文件和dc_synthesis.tcl運行腳本

對于DFT工程師,需要準備好插入DFT測試邏輯之后RTL-level的HDL 文件和dc_synthesis.tcl運行腳本

(2)設置路徑和庫文件

設置DC工作路徑和庫文件搜索路徑

define_design_lib work –path work

set search_path /project/dft/library/db

在dc_synthesis.tcl運行腳本中設置target_library(目標庫),和link_lbirary(鏈接庫)

set link_library [list adk.db memory.db pad.db]

set target_library [list adk.db memory.db pad.db]

(3)用analyze/elaborate命令讀入設計

讀入1st insertion和2nd insertion之后的所有RTL文件

*source ../inputs/use_in_synthesis.tcl *

分析HDL文件代碼檢查設計錯誤。

讀入1st insertion和2nd insertion之后的sdc文件

source ../../tsdb_outdir/dft_inserted_designs/{design_name}_{design_id}.dft_inserted_ design/${design_name}.sdc。

elaborate ${design_name} //建立HDL代碼的門級描述

link //將讀到DC中的模塊連接起來

current_design ${design_name} //設置當前設計名稱

check_design //設計規則檢查

(4) 設置約束條件

可以在constrait.tcl約束腳本里將約束條件設置好,再導入到dofile。也可以直接在dofile里設置。

*set preserve_instances [tessent_get_preserve_instances icl_extract]
*

set optimize_instances [tessent_get_optimize_instances icl_extract]

set_boundary_optimization $preserve_instances false

set_ungroup $preserve_instances false

set_boundary_optimization $optimize_instances true

preserve_instances表示不做邊界優化的instances

optimize_instances表示做邊界優化的instances

set_boundary_optimization表示對指定instance做邊界優化

boundary_optimization即邊界優化是一種優化策略, 指是否允許DC跨module的邊界優化, 允許的話, 有些沒用的端口會被去掉, 有些邏輯會被優化掉, 有些信號的名字也會丟失。對于DFT工程師不希望插入的邏輯被優化掉,所以要對插入的邏輯有選擇地進行邊界優化

set_ungroup表示對指定instance做ungroup

ungroup指的是打破設計的層次關系, 把hierarchical設計變成flat設計, 不需要層次關系的端口, 更有利于優化

圖片

圖4 ungroup過程

(5) 用compile命令對施加約束的門級網表進行編譯,生成優化的門級網表

(6) 用write/write_sdf/write_sdc/命令將優化后的門級網表以指定的格式保存到指定的路徑

write -f verilog -output ../outputs/${design_name}.synthesis.v

write_file -format ddc -output ../outputs/${design_name}.synthesis.ddc

write_sdc ../outputs/${design_name}.synthesis.sdc

write_sdf ../outputs/${design_name}.synthesis.sdf

圖片

圖5 綜合具體流程

約束

DC綜合流程中設置約束的種類有:時序約束、面積約束。時序約束:包括時鐘約束、輸入/輸出接口約束和時序例外約束。時序約束是通過約束各類延遲信息,保證門級電路能夠正常工作。

圖片

圖6 約束的分類

1. 時鐘約束: 是對主時鐘進行約束定義,幫助時序分析工具定義時序路徑分析的一個時間零點,時鐘傳輸過程中的延時和不確定性也都會基于這個時間零點進行計算和分析。

主時鐘 是指由外部輸入模塊內部的時鐘,或是內部模塊產生的時鐘。

約束的命令為:

create_clock -name clk -period 10 -waveform {0 5}

該命令用于定義有特定周期和波形的時鐘

create_clock用于定義一個時鐘

-name用于指定時鐘名

-period用于指定時鐘周期

-waveform用于指定上升沿和下降沿的時刻

圖片

圖7 時鐘約束1

圖片

圖8 時鐘約束2

set_clock_latency –source 3 [get_clks CLK]

上述命令用于對時鐘源延時進行約束

set_clock_latency 1 [get_clks CLK]

上述命令用于對時鐘網絡延時進行約束

set_clock_uncertainty -setup -hold

上述命令用于對時鐘的偏移和抖動進行約束

可通過*-setup -hold*參數設置建立時間和保持時間的偏移值

set_clock_transition -max 3 [get_clks CLK]

上述命令用于對時鐘的轉換時間進行建模。默認的上轉換時間為從電壓的20%上升至80%的時間,下轉換時間為從電壓的80%下降至20%的時間

可通過*-rise -fall*參數設置上轉換時間和下轉換時間:

set_clock_transition -rise 2 -fall 3 [get_clks CLK]

圖片

圖9 時鐘約束3

2. IO約束: 指定input信號和output信號輸入或輸出模塊的延遲時間。

set_input_delay

用于指定輸入數據的路徑延時, 分析從外部輸入到內部寄存器的延遲, 需滿足內部寄存器的建立/保持時間。

set_output_delay

用于指定輸出數據的路徑延時, 分析從內部寄存器到外部輸出的延遲,需滿足外部寄存器的建立/保持時間。

圖片

圖10 IO約束

3.時序例外約束: 可以對某些路徑放寬時序要求, 減少對布局布線資源的占用, 從而盡可能多地釋放出寶貴的資源給時序約束要求較高的關鍵路徑,合理分配資源,能夠更好地確保整個系統的時序收斂。

對時序例外進行約束的命令有:

set_multicycle_path

在2個時鐘域之間傳輸數據,指定從起始時鐘沿到目標時鐘沿所需的時鐘周期數。允許數據在多個周期后穩定并接收, 時序要求寬松。

set_false_path

指定在設計中不做分析的時序路徑,即最低優先級的路徑。

圖片

圖11 時序例外約束

4.面積約束: 就是告訴DC工具, 綜合完成后的電路面積不能超過多少。

set_max_area 100

指定綜合完成后的最大面積為100(單位與工藝庫的要求一致)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5357

    瀏覽量

    120659
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59850
  • SDC
    SDC
    +關注

    關注

    0

    文章

    49

    瀏覽量

    15560
  • DFT算法
    +關注

    關注

    0

    文章

    27

    瀏覽量

    7555
  • HDL語言
    +關注

    關注

    0

    文章

    47

    瀏覽量

    8935
收藏 人收藏

    評論

    相關推薦

    邏輯綜合流程和命令簡析

    綜合就是把Verilog、VHDL轉換成網表的過程。綜合按照是否考慮物理布局信息可分為邏輯綜合和物理綜合
    的頭像 發表于 08-09 09:51 ?975次閱讀
    <b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>的<b class='flag-5'>流程</b>和命令簡析

    淺談IC設計中邏輯綜合

    淺談IC設計中邏輯綜合引言在IC設計流程中,邏輯綜合是后端設計中很重要的一個環節。綜合就是指使用
    發表于 05-16 20:02

    [啟芯工作室]邏輯綜合 06 Timing Analysis

    本課程主要介紹通過邏輯綜合工具,將Verilog RTL 代碼轉換成門級網表的方式,以滿足設計的時序要求。學習本課程可以熟悉邏輯綜合工具的使用。啟芯SoC年度培訓計劃,可加入啟芯QQ群
    發表于 03-23 20:55

    FPGA的邏輯仿真以及邏輯綜合的一些原則

    apex20ke_atoms.v編譯到其中。2:在圖形界面中的Load Design對話框中裝入仿真設計時,在Verilog 標簽下指定預編譯庫的完整路徑。(見下圖)邏輯綜合目前可用的FPGA綜合工具
    發表于 05-15 07:00

    求一套手工邏輯綜合的方法和綜合步驟?

    手工綜合RTL級代碼的理論依據和實用方法時序邏輯綜合的實現方法
    發表于 04-08 06:06

    DC邏輯綜合詳解

    DC邏輯綜合詳解DC軟件簡介邏輯綜合DC命令DC軟件簡介DC( Design Compiler )為Synopsys公司邏輯合成工具。DC得
    發表于 07-29 08:07

    什么是邏輯綜合

    DC軟件怎么樣?什么是邏輯綜合
    發表于 11-02 06:41

    DC邏輯綜合

    芯片綜合的過程:芯片的規格說明,芯片設計的劃分,預布局,RTL 邏輯單元的綜合,各邏輯單元的集成,測試,布局規劃,布局布線,最終驗證等步驟。設計流程
    發表于 12-29 16:28 ?25次下載
    DC<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>

    ASIC邏輯綜合及Synopsys Design Compiler 的使用資料說明

    本文檔的主要內容詳細介紹的是ASIC邏輯綜合及Synopsys Design Compiler 的使用資料說明包括了:1、邏輯綜合基本概念 a) Synopsys
    發表于 10-23 08:00 ?5次下載
    ASIC<b class='flag-5'>邏輯</b><b class='flag-5'>綜合</b>及Synopsys  Design Compiler 的使用資料說明

    芯片設計之ASIC設計流程邏輯綜合

    邏輯綜合(Logic Synth.)過程需要約束(Stat. Wire Model)以產生規定條件下的電路。具體電路設計完成后,需進行門級仿真(Gate-Lev.Sim),以檢查電路設計是否出現失誤。
    的頭像 發表于 08-12 15:06 ?5149次閱讀

    芯片設計之邏輯綜合過程

    邏輯綜合操作(Compile design),根據芯片的復雜程度,邏輯綜合操作的時間可能是幾秒,也可能是半個月。如果設計環境和約束設置不當,邏輯
    的頭像 發表于 08-12 15:10 ?3888次閱讀

    邏輯綜合工具的工作流程

    執行算法邏輯(加、減、乘、除及復雜的組合運算)優化。例如,乘法器多種實現方式, 相應地會產生多種時序、功耗及面積,如何根據目標設定選出最合適的結構將對最后的綜合結果有重大影響。
    發表于 08-24 14:51 ?1250次閱讀

    邏輯綜合與物理綜合

    利用工具將RTL代碼轉化為門級網表的過程稱為邏輯綜合綜合一個設計的過程,從讀取RTL代碼開始,通過時序約束關系,映射產生一個門級網表。
    的頭像 發表于 11-28 16:02 ?2749次閱讀

    EDA邏輯綜合概念 邏輯綜合三個步驟

    邏輯綜合是電子設計自動化(EDA)中的一個重要步驟,用于將高級語言或硬件描述語言(HDL)表示的電路描述轉換為門級電路的過程。
    發表于 06-19 17:06 ?3471次閱讀

    eda綜合哪些類型 邏輯綜合的原理

     EDA(Electronic Design Automation,電子設計自動化)綜合是指在集成電路設計過程中將高級描述語言(HDL)代碼轉換為邏輯網表的過程。
    發表于 06-26 14:05 ?2223次閱讀
    主站蜘蛛池模板: 国内精品自线在拍2020不卡| 99视频精品国产在线视频| 亚洲精品一卡二卡三卡四卡2021| 一级毛片美国| xxx日本黄色| 久久伊人久久| 午夜影院美女| www国产av偷拍在线播放| 黑粗硬大欧美在线视频| 久久精品国产96精品亚洲| 台湾18成人影院| 2020精品国产视| 大香网伊人久久综合观看| 嫩草影院一区| 亚洲中文有码字幕日本| 国产一区二区内射最近更新| 美女隐私黄www视频| 诱人的女邻居9中文观看| 久久热最新网站获取3| 亚洲视频在线观看不卡| 辣文肉高h粗暴| 亚洲免费久久| 成人在线观看国产| 俄罗斯mm| 乌克兰xxxxx| 国产精品一区二区欧美视频| 男人大臿蕉香蕉大视频| 99国产精品久久人妻无码| 欧美精品XXXXBBBB| 成人国产一区| 又大又硬又爽免费视频| 恋夜秀场支持安卓版全部视频国产| 中文字幕在线观看网址| 日本夜夜夜| 精品国产乱码久久久久久免费流畅| 亚洲国产精品久久人人爱 | 久久内在线视频精品mp4| 97在线视频免费播放| 色情在线avav| 好湿好滑好硬好爽好深视频| 99re8久久热在线视频|