Перейти к содержанию
    

honinbo

Свой
  • Постов

    307
  • Зарегистрирован

  • Посещение

Весь контент honinbo


  1. wire PB_idle = (PB_state == с); Здесь PB_idle присваивается начальное значение. При этом начальное значение PB_sync_1 не определено. Поэтому и PB_idle не определено. Непрерывное присваивание делается через оператор assign.
  2. И в наших реалиях, в отличии от ихних реалий, переход от ПЛИС к ASIC обычно downgrade, а не upgrade.
  3. А set_clock_propagated gowin понимает? Тогда бы и задержки брались автоматически для нужных углов. А synplify к gowin можно прикрутить?
  4. Главные критики - лог и репорты. Если софт считает, то что вам нужно, то и хорошо.
  5. create_generated_clock -name clk -source [get_ports {sys_clk_i}] -multiply_by 12 -divide_by 5 [get_pins {main_pll_inst/rpll_inst/CLKOUT}] create_generated_clock -name clk_o -source [get_clocks clk] -multiply_by 1 [get_pins {clk_o_obuf/O}] или create_generated_clock -name clk_o -source [get_pins {main_pll_inst/rpll_inst/CLKOUT}] -multiply_by 1 [get_pins {clk_o_obuf/O}] А если так. Софт не видит тактового сигнала на -source [get_pins {clk_oddr_inst/Q0}], хотя говорит об этом странно (Cannot get clock with name ''")
  6. upload/UTILITIES/eetop/eetop.cn_Cree_Wlfspd_ADS_v9p0.zip
  7. Да, и "включить" - это не галочку в меню поставить, это коррекция скрипта моделирования, включение дополнительных команд. И что значит "неприемлемо долго"? Я этим озаботился, когда моделирование с sdf после топологии шло неделю на сервере, а после "включения" многопроцессорности, с разбивкой всего на 4 части по дефолту, вполне успевало за 1 рабочий день на рабочем компе. Xcelium давал примерно такой же результат. Чтобы выжать больше надо уже заморачиваться как бить проект части для большего распараллеливания. И это только для прошло/не_прошло, если дебажить, то придется еще заморачиваться как единую диаграмму с сигналами получить. Доки "курить" однозначно.
  8. Да, включение многопроцессорности существенно ускоряет процесс, но это не зависит от Windows/Linux. Под Linux файловые операции быстрее, если в при моделировании много читается/пишется в файлы, то в Linux это быстрее.
  9. Лопата тоже древнее орудие, но с некоторыми задачами вполне справляется. =) Да, там разные версии одного продукта. Брать которую завести сможете (начиная со свежей).
  10. ../EDA/_Cadence_/CONFRML****/ Conformal ../EDA/_Synopsys_/fm_****/ Formality ../EDA/_Mentor_/FormalPro/ тут от ментора, но старое очень
  11. Посмотрите файл, он текстовый. Или запустите симуляцию заменив ключ -sdftyp на sdfmin или sdfmax.
  12. 4) В логе получаю # Loading timing data from <file>.sdo # ** Note: (vsim-3587) SDF Backannotation Successfully Completed. Может что еще скормить надо. А файл <file>.sdo содержит задержки typical? Там вполне могут быть только min и max или вообще одна из них. Questa запросто успешно накладывает ничего ))
  13. https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=83442&do=findComment&comment=845954
  14. MBIST только запускается через JTAG (если вы выбрали этот способ) и выдает результат теста. Алгоритмы (те, что вы выбрали из стандартных или описали свой) теста прошиты внутри MBIST.
  15. С Tessent когда-то у меня не опыт, а скорее проба была. Заняла неделю (неспешно) с 0 до моделирования нетлиста со вставленным MBIST. И еще время ушло на перегон части исходников (тех, где память вставляется и что задействуются для доступа к ней по иерархии до топа) с VHDL в verilog. Tessent вставляет свой код на verilog. Дальше обычный синтез с DFT или без. Управление MBIST можно через JTAG организовать, если есть.
  16. ATPG вместо MBIST - это как? Память у Вас в каком виде? На регистрах в исходниках и синтезируется вместе с остальным кодом? Или таки аналоговый IP? А разбраковывали как? 100% покрытие функциональными тестами или уже в приборе?
  17. Если пользуете скрипты напрямую, то читать лучше документацию на modelsim. Обычно в папке doc/pdfdocs. Reference manual - описание команд и их ключей. vlog dut.vo - компилит верилог нетлист модуля dut vsim -sdfmin /dut=dut_v.sdo - запускает симуляцию (какого модуля у вас опущено )) ) и подключает миинимальные задержки на модуль dut из файла dut_v.sdo (sdf-формат). ключ- sdfmin можно заменить на -sdfmax или -sdftyp, но при этом файл *.sdo должен содержать эти задержки, или заменить и имя файла на содержащие задержки. Задержки в sdf - три значения в круглых скобках, наличие всех трех необязательно, возможно и два (min и max) и одно (любое). Последовательность min, typ, max. Если поставите ключ -sdftyp, а в файле *.sdo есть только min и max, то ничего не наложится, задержки останутся теми, что указаны в библиотеке элементов. Так, что читать лог и смотреть что и куда подключилось/наложилось обязательно.
  18. Для полноты картины, это не верно. По умолчанию, значение для setup будет. Для hold все равно явно задавать надо. Иначе, да : Будет. Но позже, когда до расчета hold дело дойдет. В нашем эксперименте до него и не дошло еще.
  19. Видно, синтезатор оптимизирует логику только когда не вписывается в констрейны. Во 2 и 3 случаях логика сравнения вписывается в требования и в пути от flag к data то, что хотел видеть топикстартер. В его проекте видимо "собака порылась" где-то еще ))
  20. Раз уж ввязался - вот полный отчет об эксперименте. DC 2014.09 Репорт без multi_cycle_path **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:01:51 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: flag_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 flag_reg[3]/c (dfrrqx1) 0.00 0.00 r flag_reg[3]/q (dfrrqx1) <- 1.40 1.40 r U45/q (inx1) 0.18 1.59 f U43/q (inx1) 0.15 1.74 r U42/q (no2i1x1) 0.36 2.09 r U41/q (na2x1) 0.30 2.39 f U46/q (na2i1x1) 0.21 2.60 r data_reg/d (dfrrqx1) 0.00 2.60 r data arrival time 2.60 clock CLK (rise edge) 4.00 4.00 clock network delay (propagated) 0.00 4.00 data_reg/c (dfrrqx1) 0.00 4.00 r library setup time -0.29 3.71 data required time 3.71 ----------------------------------------------------------- data required time 3.71 data arrival time -2.60 ----------------------------------------------------------- slack (MET) 1.10 1 report_timing -to data_reg/d -from *data_a_reg[3]/q **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:01:51 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: data_a_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 data_a_reg[3]/c (dfrrqx1) 0.00 0.00 r data_a_reg[3]/q (dfrrqx1) <- 1.62 1.62 f U22/q (eo2x1) 0.45 2.07 f U30/q (or8x1) 0.95 3.03 f U44/q (no2x1) 0.33 3.36 r U41/q (na2x1) 0.30 3.66 f U46/q (na2i1x1) 0.21 3.87 r data_reg/d (dfrrqx1) 0.00 3.87 r data arrival time 3.87 clock CLK (rise edge) 4.00 4.00 clock network delay (propagated) 0.00 4.00 data_reg/c (dfrrqx1) 0.00 4.00 r library setup time -0.29 3.71 data required time 3.71 ----------------------------------------------------------- data required time 3.71 data arrival time -3.87 ----------------------------------------------------------- slack (VIOLATED) -0.16 1 Репорт с multicycle_path create_clock -name CLK -period 4 -waveform "0 2" [get_ports clk] 1 set_input_delay -max -clock CLK 1 [remove_from_collection [all_inputs] [get_ports "clk"]] 1 set_input_delay -min -clock CLK 0 [remove_from_collection [all_inputs] [get_ports "clk"]] 1 set_output_delay -max -clock CLK 1 [all_outputs] 1 set_input_transition -max 2 [all_inputs] 1 set_input_transition -min 0 [all_inputs] 1 set_load 0.4 [all_outputs] 1 set_multicycle_path 4 -end -setup -from CLK -thr {\data_a_reg*} -to CLK 1 set_multicycle_path 4 -end -setup -from CLK -thr {\data_b_reg*} -to CLK 1 set_multicycle_path 3 -end -hold -from CLK -thr {\data_a_reg*} -to CLK 1 set_multicycle_path 3 -end -hold -from CLK -thr {\data_b_reg*} -to CLK 1 set_propagated_clock [all_clocks] Information: set_input_delay values are added to the propagated clock skew. (TIM-113) 1 compile -map_effort high -incr ... Optimization Complete --------------------- 1 report_timing -to data_reg/d -from *flag_reg[3]/q **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:04:02 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: flag_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 flag_reg[3]/c (dfrrqx1) 0.00 0.00 r flag_reg[3]/q (dfrrqx1) <- 1.40 1.40 r C164/q (and2x1) 0.44 1.84 r C163/q (or2x1) 0.31 2.15 r data_reg/d (dfrrqx4) 0.00 2.15 r data arrival time 2.15 clock CLK (rise edge) 4.00 4.00 clock network delay (propagated) 0.00 4.00 data_reg/c (dfrrqx4) 0.00 4.00 r library setup time -0.29 3.71 data required time 3.71 ----------------------------------------------------------- data required time 3.71 data arrival time -2.15 ----------------------------------------------------------- slack (MET) 1.56 1 report_timing -to data_reg/d -from *data_a_reg[3]/q **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:04:02 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: data_a_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 data_a_reg[3]/c (dfrrqx1) 0.00 0.00 r data_a_reg[3]/q (dfrrqx1) <- 1.62 1.62 f U22/q (eo2x1) 0.45 2.07 f U30/q (or8x1) 0.96 3.03 f U40/q (no3x1) 0.47 3.50 r C164/q (and2x1) 0.47 3.97 r C163/q (or2x1) 0.31 4.28 r data_reg/d (dfrrqx4) 0.00 4.28 r data arrival time 4.28 clock CLK (rise edge) 16.00 16.00 clock network delay (propagated) 0.00 16.00 data_reg/c (dfrrqx4) 0.00 16.00 r library setup time -0.29 15.71 data required time 15.71 ----------------------------------------------------------- data required time 15.71 data arrival time -4.28 ----------------------------------------------------------- slack (MET) 11.43 1 Репорт с пониженной частотой create_clock -name CLK -period 8 -waveform "0 4" [get_ports clk] 1 set_input_delay -max -clock CLK 1 [remove_from_collection [all_inputs] [get_ports "clk"]] 1 set_input_delay -min -clock CLK 0 [remove_from_collection [all_inputs] [get_ports "clk"]] 1 set_output_delay -max -clock CLK 1 [all_outputs] 1 set_input_transition -max 2 [all_inputs] 1 set_input_transition -min 0 [all_inputs] 1 set_load 0.4 [all_outputs] 1 #set_multicycle_path 4 -end -setup -from CLK -thr {\data_a_reg*} -to CLK #set_multicycle_path 4 -end -setup -from CLK -thr {\data_b_reg*} -to CLK #set_multicycle_path 3 -end -hold -from CLK -thr {\data_a_reg*} -to CLK #set_multicycle_path 3 -end -hold -from CLK -thr {\data_b_reg*} -to CLK set_propagated_clock [all_clocks] Information: set_input_delay values are added to the propagated clock skew. (TIM-113) 1 compile -map_effort high -incr Optimization Complete --------------------- 1 report_timing -to data_reg/d -from *flag_reg[3]/q Information: Updating design information... (UID-85) Information: Input delay ('fall') on clock port 'CLK' will be added to the clock's propagated skew. (TIM-112) Information: Input delay ('rise') on clock port 'CLK' will be added to the clock's propagated skew. (TIM-112) **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:22:41 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: flag_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 flag_reg[3]/c (dfrrqx1) 0.00 0.00 r flag_reg[3]/q (dfrrqx1) <- 1.40 1.40 r C164/q (and2x1) 0.44 1.84 r C163/q (or2x1) 0.31 2.15 r data_reg/d (dfrrqx4) 0.00 2.15 r data arrival time 2.15 clock CLK (rise edge) 8.00 8.00 clock network delay (propagated) 0.00 8.00 data_reg/c (dfrrqx4) 0.00 8.00 r library setup time -0.29 7.71 data required time 7.71 ----------------------------------------------------------- data required time 7.71 data arrival time -2.15 ----------------------------------------------------------- slack (MET) 5.56 1 report_timing -to data_reg/d -from *data_a_reg[3]/q **************************************** Report : timing -path full -delay max -max_paths 1 Design : test Version: J-2014.09-SP3 Date : Fri Feb 8 15:22:41 2019 **************************************** Operating Conditions: slow Library: BMK_040_slow Wire Load Model Mode: top Startpoint: data_a_reg[3] (rising edge-triggered flip-flop clocked by CLK) Endpoint: data_reg (rising edge-triggered flip-flop clocked by CLK) Path Group: CLK Path Type: max Point Incr Path ----------------------------------------------------------- clock CLK (rise edge) 0.00 0.00 clock network delay (propagated) 0.00 0.00 data_a_reg[3]/c (dfrrqx1) 0.00 0.00 r data_a_reg[3]/q (dfrrqx1) <- 1.62 1.62 f U22/q (eo2x1) 0.45 2.07 f U30/q (or8x1) 0.96 3.03 f U40/q (no3x1) 0.47 3.50 r C164/q (and2x1) 0.47 3.97 r C163/q (or2x1) 0.31 4.28 r data_reg/d (dfrrqx4) 0.00 4.28 r data arrival time 4.28 clock CLK (rise edge) 8.00 8.00 clock network delay (propagated) 0.00 8.00 data_reg/c (dfrrqx4) 0.00 8.00 r library setup time -0.29 7.71 data required time 7.71 ----------------------------------------------------------- data required time 7.71 data arrival time -4.28 ----------------------------------------------------------- slack (MET) 3.43 1
  21. виноват, у меня без ключа -setup было. По умолчанию это 4 для setup и 3 для hold.
×
×
  • Создать...