/*
|
/*
|
* User defines for synthesizing RTC IP core
|
* User defines for synthesizing RTC IP core
|
*
|
*
|
*/
|
*/
|
TOPLEVEL = TOP
|
TOPLEVEL = TOP
|
include select_tech.inc
|
include select_tech.inc
|
PCI_CLK = CLK
|
PCI_CLK = CLK
|
WB_CLK = CLK_I
|
WB_CLK = CLK_I
|
RST = RST_I
|
RST = RST_I
|
PCI_CLK_PERIOD = 15 /* 66 MHz */
|
PCI_CLK_PERIOD = 15 /* 66 MHz */
|
WB_CLK_PERIOD = 5 /* 200 MHz */
|
WB_CLK_PERIOD = 5 /* 200 MHz */
|
MAX_AREA = 0 /* Push hard */
|
MAX_AREA = 0 /* Push hard */
|
DO_UNGROUP = yes /* yes, no */
|
DO_UNGROUP = yes /* yes, no */
|
DO_VERIFY = no /* yes, no */
|
DO_VERIFY = no /* yes, no */
|
CHECK = no /* yes, no */
|
CHECK = no /* yes, no */
|
|
|
/* Set some basic variables related to environment */
|
/* Set some basic variables related to environment */
|
include set_env.inc
|
include set_env.inc
|
STAGE = final
|
STAGE = final
|
|
|
/* Load libraries */
|
/* Load libraries */
|
include tech_ + TECH + .inc
|
include tech_ + TECH + .inc
|
|
|
/* Load HDL source files */
|
/* Load HDL source files */
|
/*include read_design.inc > LOG_PATH + read_design_ + TOPLEVEL + .log*/
|
/*include read_design.inc > LOG_PATH + read_design_ + TOPLEVEL + .log*/
|
include analyze_design.inc > LOG_PATH + analyze_design_ + TOPLEVEL + .log
|
include analyze_design.inc > LOG_PATH + analyze_design_ + TOPLEVEL + .log
|
include elaborate_design.inc > LOG_PATH + elaborate_design_ + TOPLEVEL + .log
|
include elaborate_design.inc > LOG_PATH + elaborate_design_ + TOPLEVEL + .log
|
|
|
/* Set design top */
|
/* Set design top */
|
current_design TOPLEVEL
|
current_design TOPLEVEL
|
|
|
/* Link all blocks and uniquify them */
|
/* Link all blocks and uniquify them */
|
link
|
link
|
uniquify
|
uniquify
|
|
|
if (CHECK == "yes"){
|
if (CHECK == "yes"){
|
check_design > LOG_PATH + check_design_ + TOPLEVEL + .log
|
check_design > LOG_PATH + check_design_ + TOPLEVEL + .log
|
}
|
}
|
|
|
create_clock WB_CLK -period WB_CLK_PERIOD
|
create_clock WB_CLK -period WB_CLK_PERIOD
|
create_clock PCI_CLK -period PCI_CLK_PERIOD
|
create_clock PCI_CLK -period PCI_CLK_PERIOD
|
|
|
/* Apply PCI constraints */
|
/* Apply PCI constraints */
|
include cons_pci_ports.inc
|
include cons_pci_ports.inc
|
include cons_wb_ports.inc
|
include cons_wb_ports.inc
|
|
|
/* Apply technology constraints */
|
/* Apply technology constraints */
|
if (TECH == "vs_umc18") {
|
if (TECH == "vs_umc18") {
|
include cons_vs_umc18.inc
|
include cons_vs_umc18.inc
|
} else if (TECH == "art_umc18") {
|
} else if (TECH == "art_umc18") {
|
include cons_art_umc18.inc
|
include cons_art_umc18.inc
|
} else {
|
} else {
|
echo "Error: Unsupported technology"
|
echo "Error: Unsupported technology"
|
exit
|
exit
|
}
|
}
|
|
|
/* Lets do basic synthesis */
|
/* Lets do basic synthesis */
|
if (DO_UNGROUP == "yes") {
|
if (DO_UNGROUP == "yes") {
|
ungroup -all -flatten
|
ungroup -all -flatten
|
}
|
}
|
compile -boundary_optimization -map_effort low
|
compile -boundary_optimization -map_effort low
|
|
|
/* Dump gate-level from incremental synthesis */
|
/* Dump gate-level from incremental synthesis */
|
include save_design.inc
|
include save_design.inc
|
|
|
/* Generate reports for incremental synthesis */
|
/* Generate reports for incremental synthesis */
|
include reports.inc
|
include reports.inc
|
|
|
/* Verify design */
|
/* Verify design */
|
if (DO_VERIFY == "yes") {
|
if (DO_VERIFY == "yes") {
|
compile -no_map -verify > LOG_PATH + verify_ + TOPLEVEL + .log
|
compile -no_map -verify > LOG_PATH + verify_ + TOPLEVEL + .log
|
}
|
}
|
|
|
/* Finish */
|
/* Finish */
|
sh date
|
sh date
|
exit
|
exit
|
|
|