/*
|
/*
|
* User defines for synthesizing GPIO IP core
|
* User defines for synthesizing GPIO IP core
|
*
|
*
|
*/
|
*/
|
TOPLEVEL = gpio
|
TOPLEVEL = gpio
|
include select_tech.inc
|
include select_tech.inc
|
CLK = clk_i
|
CLK = clk_i
|
ECLK = gpio_eclk
|
ECLK = gpio_eclk
|
RST = rst_i
|
RST = rst_i
|
CLK_PERIOD = 5 /* 200 MHz */
|
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 = yes /* yes, no */
|
DO_VERIFY = yes /* yes, no */
|
|
|
/* Starting timestamp */
|
/* Starting timestamp */
|
sh date
|
sh date
|
|
|
/* 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
|
|
|
/* 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
|
check_design > LOG_PATH + check_design_ + TOPLEVEL + .log
|
check_design > LOG_PATH + check_design_ + TOPLEVEL + .log
|
|
|
/* Apply constraints */
|
/* Apply 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
|
ungroup -all
|
}
|
}
|
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
|
|
|