syntese ved hjælp af kadencen

G

guzhal

Guest
1.can nogen give mig hele strømmen af pks_shell kadencen værktøj. Jeg skriver en vhdl fil og jeg kan gå op til den "build generiske" og optimere (der giver fejl: Gulvplan område ikke specificeret) og skrive det ind i et verilog netlist fil. hvis jeg giver denne verilog netlist fil som input til de støder på, er det som giver fejl i verilog fil.

2.Does støder værktøj tager input fra netlist i verilog format kun eller en vhdl netlist kan gives til det .....?<img src="images/smiles/icon_question.gif" alt="Spørgsmål" border="0" />guzhal

 
PKS er fysisk Knowledgable syntese.For at du skal Gulvplan oplysninger.Det betyder, at du er nødt til at gå ind i et værktøj som Encounter, skrive en DEF filen og gå tilbage til PKS.

Hvis du har andre spørgsmål, post dit nøjagtige fejlmeddelelser.

 
Hej,

Her
er hele flow for syntese herunder Scan-indsætningspunktet.Jeg
gjorde ikke omfatte PKS flow som jeg normalt gør P & R manuelt i SoC Encounter.Denne strøm vil få dig til produktionen verilog netlist.

SoC Encounter tager kun Verilog netlist og ikke læse VHDL filer / netlists.Du kan sammenfatte VHDL filer via PKS eller Build Gates og skrive en verilog netlist for P & R.

Her
er hele flow:

Code:# -------------------------------------------------

# Setup Lib og Dirs

# Ændre lib_dir til at pege på den sammenfattende bibliotek du bruger, og den mappestruktur du følger.sæt <lib_dir> ..

sæt tcl_dir $ lib_dir / tcl

sæt rtl_dir $ lib_dir / RTL

sæt lib_dir $ lib_dir / lib

sæt rep_dir $ lib_dir / RPT

sæt adb_dir $ lib_dir / adb# ------------------------------------------------# ------------------------------------------------

# Indstil Globalsset_global message_verbosity_level 8

set_global echo_commands sandt

set_global report_precision 5

set_global fix_multiport_nets sandt

set_global sdc_write_unambiguous_names falsk

set_global line_length 1000

# -----------------------------------------------# -----------------------------------------------

# Læs Tech libsread_tlf $ lib_dir/slow_4.3.tlf

read_tlf $ lib_dir/pllclk_slow_4.3.tlf

read_tlf $ lib_dir/ram_128x16A_slow_4.3.tlf

read_tlf $ lib_dir/ram_256x16A_slow_4.3.tlf

read_tlf $ lib_dir/rom_512x16A_slow_4.3.tlf

read_library_update $ lib_dir/tpz973gwc-lite_4.3.tlfset_global target_technology langsom# Rapport biblioteket

report_library

# -----------------------------------------------# -----------------------------------------------

# Læs kildefilerne (VHDL eller Verilog)read_verilog <path til file/filename.v>ellerread_vhdl <path til file/filename.vhd># Byg den generiske gate niveau netlist

do_build_generic# Kontroller netlist for fejl / advarsler

check_netlist-verbose

# -----------------------------------------------# -----------------------------------------------

# Indstil scanne påstande

issue_message-type info "Mapping test_control modul"set_current_module test_control

do_xform_map

set_dont_modify [find-hier-modul test_control]

set_current_module [find-modul dtmf_chip]issue_message-type info "Opsætning til scanning syntese i kæden mode"set_scan_style muxscan

set_global dft_scan_path_connect tieback

set_global dft_scan_avoid_control_buffering sandt

set_scan_mode IOPADS_INST / Pscanenip / C 1check_dft_rules# Ret fejl i DFT struktur

set_test_mode_setup test_mode 1

set_test_mode_setup nulstille 0

check_dft_rules

# ------------------------------------------------# ------------------------------------------------

# Indstil timing og syntese begrænsninger

# ----------------------------------------# Opsætning Hierarchical og timing Context "

issue_message-type info "-> Opsætning Hierarchical og timing Context ..."set_current_module dtmf_chip

set_top_timing_module dtmf_chip# Setting Ideal Ure "

issue_message-type info "-> Setting Ideal Ure ..."

set_clock vclk1-periode 6,0-bølgeform (0 3,0)

set_clock vclk2-periode 12,0-bølgeform (0 6,0)# Setting Primær Ure

issue_message-type info "-> Setting Primary Ure ..."

set_clock_root-ur vclk1 [find-port refclk]# Setting internt oparbejdet Ure

issue_message-type info "-> Setting Indre Ure ..."set_generated_clock-name vclk1_int1-fra DTMF_INST / TDSP_CORE_INST / DATA_BUS_MACH_INST / CLK-divide_by 2 DTMF_INST / TDSP_CORE_INST / DATA_BUS_MACH_INST / write_reg / Q

set_generated_clock-name vclk1_int2-fra DTMF_INST / DMA_INST / CLK-divide_by 2DTMF_INST / DMA_INST / write_reg / Qissue_message-type info "-> Setting Muxed Ure ..."

sæt clock_pin [find-hier-bens DTMF_INST / TEST_CONTROL_INST / m_clk]

sæt drive_pin [get_drive_pin-hier [get_info $ clock_pin netto]]

set_clock_info_change-ur vclk1-pos $ drive_pin

set_clock_insertion_delay-bens $ drive_pin 2,0foretrukne ur (m_rcc_clk m_spi_clk m_dsram_clk m_ram_clk m_digit_clk) (

sæt clock_pin [find-hier-bens DTMF_INST / TEST_CONTROL_INST / $ ur]

sæt drive_pin [get_drive_pin-hier [get_info $ clock_pin netto]]

set_clock_info_change-ur vclk2-pos $ drive_pin

set_clock_insertion_delay-bens $ drive_pin 2,0

)set_clock_uncertainty 0,25# Setting Input / Output havne begrænsninger "

issue_message-type info "-> Setting Input / Output havne begrænsninger ..."

set_input_delay-ur vclk1 0,5 [get_names [find-input-no_clocks]]

set_external_delay-ur vclk1 0,5 [get_names [find-output port *]]

set_external_delay-ur vclk1 0,5 [get_names [find-udgange tdigit *]]# Setting Multicycle og falske Paths

issue_message-type info "-> Setting Multicycle og falske Paths ..."

set_cycle_addition-til DTMF_INST / TDSP_CORE_INST / EXECUTE_INST / acc_reg * 1

set_cycle_addition-til DTMF_INST / TDSP_CORE_INST / EXECUTE_INST / p_reg * 1

set_cycle_addition-til DTMF_INST / TDSP_CORE_INST / EXECUTE_INST / ov_flag_reg * 1set_false_path-fra nulstilleset_constant_for_timing 0 test_mode

set_constant_for_timing 0 scan_en# Setting Konstruktionsregler

issue_message-type info "-> Setting Desgin Regler ..."

set_slew_time_limit 2.3 [find-havne-noclocks *]

set_global fanout_load_limit 15set_drive_cell-celle PDO04CDG [find-input-noclocks *]

set_port_capacitance [expr [get_cell_pin_load-celle PDIDGZ-bens PAD] * 2.0] [find-output *]# Setting wire belastning modeller

issue_message-type info "-> Setting wire belastning ..."

set_wire_load TSMC18_Conservative

set_wire_load_mode omgivet

set_wire_load_selection_table WireAreaCon

# --------------------------------------------# Kontroller begrænsninger

check_timing-detaljer# Oprettelse gruppe stier

set_path_group-navn i-fra [find-input-noclocks *]

set_path_group_options IN-target_slack 0,2-all_end_pointsset_path_group-name OUT-til [find-output *]

set_path_group_options OUT-target_slack 0,5-all_end_pointsset_path_group-name vclk2_group-clock_from vclk2

set_path_group_options vclk2_group-target_slack 0,0-all_end_pointsset_path_group-name vclk1_group-clock_from vclk1

set_path_group_options vclk1_group-target_slack -1,0-all_end_points# Optimer

do_optimize# Rapport analyse dækning

report_analysis_coverage> $ rep_dir / report_analysis_coverage.rpt

report_analysis_coverage-check_type setup-sortere slack> $ rep_dir / setup.rpt# Opret timing og området rapporter

report_timing> $ rep_dir / setup_timing.rpt

report_area> $ rep_dir / area.rpt# Skriv optimeret netlist og database

write_verilog-hierarkisk $ adb_dir / dtmf_chip_opt.vs

write_adb $ adb_dir / dtmf_chip_opt.adb# Slut scanne kæden. Tidligere scanningen i har været bundet

# Til scanning på hver flop. Dette vil krog scanne i at scanne ud

# Af en tidligere flop. Det tcl script omfatter omdanne

set_number_of_scan_chains 3set_scan_data (IOPADS_INST/Ptdspip00/C) (IOPADS_INST/Ptdspop00/I)-shared_out

set_scan_data (IOPADS_INST/Ptdspip01/C) (IOPADS_INST/Ptdspop01/I)-shared_out

set_scan_data (IOPADS_INST/Ptdspip02/C) (IOPADS_INST/Ptdspop02/I)-shared_outset_dft_compatible_clock_domain-sameclock

set_global dft_scan_path_connect kædedo_xform_connect_scan# tjekke timing efter scanning indsætningspunktet

report_timing-sen> $ rep_dir / setup_scan_timing.rpt# Incremental timing optimeringsforslag

set_path_group_options vclk1_group-target_slack 0,0-all_end_points

do_optimize-incremental-dont_reclaim_area# Opret ny timing og området rapporter

report_timing-sen nworst 5> $ rep_dir / setup_scan_incr_opt_timing.rpt

report_timing-tidlig> $ rep_dir / hold_timing.rpt# Skriv det nye netlist og database

write_verilog-hierarkisk $ adb_dir / dtmf_chip.scan.vs

write_adb $ adb_dir / dtmf_chip.scan.adb# Skriv begrænsninger i Synopsys begrænsninger format (SDC)

write_sdc sdc_out.tcl# Læs begrænsninger i Synopsys begrænsninger format

read_dc_script-rammerne bg_constraints.tcl-write_only sdc_out.tcl# Afslut

exit
 
hvorfor cant du bruger kadencen RTLCompiler syntese værktøj.som er meget bedre end PKS og bg.

 

Welcome to EDABoard.com

Sponsor

Back
Top