® Особенности статического временного анализа и разработки файлов SDC для комплексной системы на кристалле с множественными асинхронными тактовыми доменами И.П. Филимонова, П.Н. Дергачев, П.А. Шевченко ЗАО НТЦ «Модуль» VIDEO Особенности разработки комплексных систем на кристалле AUDIO Интерфейс HDMI с поддержкой HDCP Видео процессор Аудио процессор Блок масштабирования 16-бит DDR2 память Блок налож слоев Декодер H.264 Деинтерл MPEG-2 16-бит DDR2 память I2S S/PDIF I2C NMC3 128KB NMC3 128KB UART L2 Cache 128 KB VDU Cache VC-1 DMA SPI GPIO Системная шина AMBA3.0 DDR NAND DVB процессор TS DEMUX DVB-CI DVB-CSA2.1/3.0 Центральный процессор Smart Card IF CRYPTO ARM 1176JZF-S AES 256 OTP ROM DVB processor Интерфейсы DES/3DES L2 Cache 128 KB USB Host MEM 256KB ETHERNET BOOT ROM SDIO Блок-схема СБИС ЦОТС CPU МЭС-2014 СБИС ЦОТС является примером сложной комплексной системы с множеством асинхронных доменов тактовых сигналов, более 100 доменов тактовых сигналов: HLB блоки: DVB процессор, Видео и Аудио процессор; IP блоки: Центральный процессор, SDRAM DDR2, USB PHY, HDMI PHY, CRG (PLL: до 40 доменов). Контроль временных параметров осуществляется с помощью статического временного анализатора (STA); Временные ограничения заданы в файле SDC. 2 Маршрут проектирования современной СнК SDC IP1 блока SDC IP2 блока Библиотеки .lib .lir RTL код / Netlist IP блоков ... SDC IPn блока RTL Compiler, скрипт TCL Сгенерированный prelayout SDC файл системы Оптимизированный prelayout netlist STA CCD НЕТ Верификация без учета задержек НЕТ ДА ДА CTS TEST logic Оптимизированный postlayout netlist Postlayout SDC файл системы STA CCD НЕТ Верификация c учетом задержек ДА НЕТ SDC файл используется для процесса логического синтеза, физического синтеза и верификации временных характеристик системы от начала логического синтеза до отправки проекта на производство Отладка SDC файла включает в себя три этапа: Формальная проверка; Проверка полноты формирования ограничений (САПР Cadence: RTL Compiler, Conformal Constraint Design, Encounter Timing system); Проверка правильности спецификации временных параметров: логическое моделирование системы. ДА Готовая топология МЭС-2014 3 Метод построения файла временных ограничений SDC Путь между двумя регистрами Комбинационная логика REG Комбинационная логика REG IN Путь между регистром и выходом OUT Комбинационная логика Путь между входом и регистром IN OUT Путь между входом и выходом SDC файл состоит из следующих частей: спецификации тактовых сигналов системы; create_clock / create_generated_clock + set_clock_uncertainty спецификации внешних задержек для входов и выходов системы; set_input/output_delay спецификации исключений для временных путей системы. set_false_path / set_multicycle_path (-setup/hold) / set_max/min_delay МЭС-2014 4 Задание временных ограничений на асинхронные тактовые домены Использование команды «set_multicycle_path» для контроля длин путей между асинхронными тактовыми доменами 1 2 3 4 5 6 7 clka Пересечение путей между асинхронными тактовыми доменами clka <―> clkb UFF0/D D1 HOLD D2 DATA NOT VALID SETUP clkb UFF1/D UFF2/D UFF1/EN D1 UFF3/D D2 DATA NOT VALID TimeGen МЭС-2014 5 Проблемы при статическом временном анализе Задержка на дереве асинхронных тактовых сигналов начинает оказывать влияние на время, в которое должен уложится путь при передачи данных с одного регистра на другой. Данные ограничения задаются в спецификации (SDC файле): Tsu / Thold -> 0 1 2 3 4 clka clkb SKEW clka <after CTS> SKEW HOLD clkb <after CTS> Thold Tsu TimeGen Tlaunch (or Tcapture) = Tclk_del_buf + SKEW (Tpll_jitter, OCV, oth req) Расчетный параметр Параметр явно не определен МЭС-2014 6 Метод задания временных ограничений на асинхронные домены тактовых сигналов Цель метода: 1 2 3 4 Задавать временные ограничения на пути между асинхронными тактовыми доменами. Исключить задержку на дереве тактовых сигналов из временного анализа путей между асинхронными доменами . Метод должен быть максимально автоматизирован. 5 clka_cdc UFF0/D D1 D2 ... SETUP HOLD Tsu / Thold - фиксированная величина clkb_cdc D1 UFF3/D D2 Tsu МЭС-2014 TimeGen 7 Алгоритм реализации Задание реальных тактовых сигналов: create_clock –name clkb –period 10.0 [get_ports clka], (1) create_clock –name clkb –period (2) 5.0 [get_ports clkb], Задание синхронных и асинхронных доменов тактовых сигналов: set_clock_groups –async –group {clka} –group {clkb}, (3) Задание дубликатов тактовых сигналов с исключением задержки на дереве при STA: create_clock –name clka_cdc –period 10.0 [get_ports clka], (4) create_clock –name clkb_cdc –period 5.0 [get_ports clkb], (5) remove_propagated_clock [get_clocks *_cdc], (6) Исключение из временного анализа путей внутри асинхронного домена, тактируемых ‘cdc’ дублером: foreach_in_collection cdcclk [get_clocks *_cdc] {set_false_path [get_clock $cdcclk] –to [get_clock $cdcclk]}, –from (7) Устранение влияния доменов идеальных тактовых сигналов «_cdc» на реальные: set_clock_groups –physically exclusive [get_clocks *] [get_clocks *_cdc]] -group [remove_from_collection -group [get_clock *_cdc], (8) Задание временных ограничений на пути между асинхронными доменами дубликатов тактовых сигналов: set_multicycle_path –from [get_clock clka_cdc] –setup –end 2, –to [get_clock clkb_cdc] (9) set_multicycle_path –from [get_clock clka_cdc] –hold –end 1. –to [get_clock clkb_cdc] (10) МЭС-2014 8 Результаты STA: синхронные домены тактовых сигналов Clock Name Source Period (ps) Prop y DSP_CLK148_5 theHLB_DSP/theCRG_DSP/clk_200_reg/Q 6732.0000 DSPCLK_297 theCRG11VIDEO_wrapper/theVIDEOCRG/uCRG11_nopll/uCRG11_main/uCR_ WLPC/uCR_LPOC2/uGCB0/uCELL/GCLK 3366.0000 y ############################################################### #Design: СБИС ЦОТС #Command: report_timing -clock_from DSPCLK_297 -clock_to DSP_CLK148_5 -path_exceptions applied ############################################################### Path 1: MET Setup Check with Pin theHLB_DSP/theaxi_wrp/adr_cnt_reg_11_/CLK Endpoint: theHLB_DSP/theaxi_wrp/adr_cnt_reg_11_/EN (v) checked with leading edge of 'DSP_CLK148_5‘ Beginpoint: theHLB_DSP/theNM_TOP_0/DMAC_BSU/sw_m/MQ/AR_ADDR_reg_1_/Q (^) triggered by leading edge of 'DSPCLK_297‘ Other End Arrival Time 3235.2190 - Setup 235.5000 Учет задержки на дереве тактовых + Phase Shift 3366.0000 + CPPR Adjustment 526.6267 сигналов + Cycle Adjustment 3366.0000 - Uncertainty 150.0000 Задание временных ограничений на = Required Time 10108.3457 пути м/у синхронными доменами - Arrival Time 6670.3281 тактовых сигналов через mcp = Slack Time 3438.0176 Clock Rise Edge 0.0000 From To Late (setup) + Clock Network Latency (Prop) 3985.7415 DSPCLK_297 DSP_CLK148_5 cycles 2 = Beginpoint Arrival Time 3985.7415 ############################################################### #Design: СБИС ЦОТС #Command: report_timing -clock_from DSPCLK_297_CDC -clock_to DSP_CLK148_5_CDC -path_exceptions applied ############################################################### No constrained timing paths with given description found. МЭС-2014 9 Результаты STA: aсинхронные домены тактовых сигналов Clock Name Source Period (ps) Prop CLK_AXI200_CDC theCRG_wrapper/theARMCRG/uCRG11_nopll/uCRG11_main/uCR_ WDVS/U3/YB 5000.0000 n DDR2CLKO400_EM0_CDC theHLB_DDR2_EM0/theclk_divider2/theclk_out_reg/Q 2500.0000 n ############################################################### #Design: СБИС ЦОТС #Command: report_timing -clock_from CLK_AXI200_CDC -clock_to DDR2CLKO400_EM0_CDC ############################################################### Path 1: MET Setup Check with Pin theHLB_DDR2_EM0/thepl341_dmc/u_memif/u_bank_config/u_bank_fsm_b4c1/bank_count_one_reg/CLK Endpoint: theHLB_DDR2_EM0/thepl341_dmc/u_memif/u_bank_config/u_bank_fsm_b4c1/bank_count_one_reg/DATA (^) checked with leading edge of 'DDR2CLKO400_EM0_CDC‘ Beginpoint: theHLB_DDR2_EM0/thepl341_dmc/u_apb/u_reg_block/u_reg_fixed/t_wr_int_reg_1_/Q (^) triggered by leading edge of 'CLK_AXI200_CDC‘ Other End Arrival Time 0.0000 Нет учета задержки на дереве Setup 52.0000 тактовых сигналов + Phase Shift 2500.0000 + CPPR Adjustment 0.0000 Задание временных ограничений на + Cycle Adjustment 2500.0000 пути м/у асинхронными доменами Uncertainty 400.0000 тактовых сигналов через mcp = Required Time 4548.0000 - Arrival Time 3447.0249 From Late (setup) = Slack Time 1100.9751 Clock Rise Edge 0.0000 theHLB_DDR2_EM0/thepl341_dmc/u_apb/u_r cycles 2 + Clock Network Latency (Ideal) 0.0000 eg_block/u_reg_fixed/t_wr_int_reg_1_/CLK = Beginpoint Arrival Time 0.0000 ############################################################### #Design: СБИС ЦОТС #Command: report_timing -clock_from CLK_AXI200 -clock_to DDR2CLKO400_EM0 ############################################################### 10 No constrained timing paths with given description found. Реализация автоматического написания файлов временных ограничений SDC SDC IP1 блока SDC IP2 блока Библиотеки .lib .lir RTL код / Netlist IP блоков ... SDC IPn блока RTL Compiler, скрипт TCL Сгенерированный SDC файл системы средствами EDA Таблица асинхронности тактовых доменов Оптимизированный prelayout netlist Верификация без учета задержек НЕТ ДА STA CCD НЕТ ДА PERL скрипт CTS TEST logic Автоматические SDC1, SDC2, SDC3 файлы системы Оптимизированный postlayout netlist STA CCD ДА Готовая топология Верификация c учетом задержек ДА НЕТ МЭС-2014 НЕТ SDC1 файл определяет временные ограничения для всех путей синхронных доменов, проверяются пути между реальными тактовыми сигналами. Является файлом задания временных ограничений, созданным на этапе логического синтеза средствами EDA. SDC2 файл определяет временные ограничения для всех асинхронных доменов, проверяются пути между идеальными «cdc» тактовыми сигналами. Файл автоматически получается на базе SDC1 файла путем переименования реальных тактовых сигналов. SDC3 файл определяет на базе таблицы асинхронности отношения между множеством доменов тактовых сигналов системы, содержит необходимую информацию о дубликатах «cdc» тактовых сигналов.11 Основные достигнутые результаты Контроль путей асинхронных тактовых доменов; СБИС ЦОТС: Общее число доменов тактовых сигналов – 119; Число асинхронных доменов тактовых сигналов – 44. Максимально автоматизированный временных ограничений SDC; процесс написания файлов Общий объем SDC1 и SDC2 файла – 2,83 Мб; Общий объем SDC3 файла – 92,5 Кб; Время разработки топологии при использовании описанного метода может быть значительно сокращенно; МЭС-2014 12 Контактная информация • internet www.module.ru • тел. +7 499 152-96-98 • факс +7 499 152-46-61 • адрес 125190, Москва, 4-я ул. 8-го Марта д.3, а/я 166 Спасибо за внимание! МЭС-2014 13