1 |
2 |
mballance |
|
2 |
|
|
info commands
|
3 |
|
|
info procs
|
4 |
|
|
|
5 |
|
|
new_project \
|
6 |
|
|
-location libero/fwrisc_fpga \
|
7 |
|
|
-name fwrisc_fpga \
|
8 |
|
|
-hdl VERILOG \
|
9 |
|
|
-family SmartFusion2 \
|
10 |
|
|
-die "M2S025" \
|
11 |
|
|
-use_enhanced_constraint_flow 1
|
12 |
|
|
|
13 |
|
|
# open_project -file libero/fwrisc_fpga
|
14 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_alu.sv
|
15 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_comparator.sv
|
16 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_dbus_if.sv
|
17 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_regfile.sv
|
18 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_tracer.sv
|
19 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc.sv
|
20 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_defines.vh
|
21 |
|
|
import_files -hdl_source $env(FWRISC)/rtl/fwrisc_fpga_top.sv
|
22 |
|
|
|
23 |
|
|
set_root fwrisc_fpga_top
|
24 |
|
|
|
25 |
|
|
file copy $env(FWRISC)/rtl/regs.hex libero/fwrisc_fpga/synthesis/regs.hex
|
26 |
|
|
file copy sw/rom.hex libero/fwrisc_fpga/synthesis/rom.hex
|
27 |
|
|
|
28 |
|
|
run_tool -name {CONSTRAINT_MANAGEMENT}
|
29 |
|
|
import_files \
|
30 |
|
|
-io_pdc constraints/fwrisc_fpga_top.pdc
|
31 |
|
|
|
32 |
|
|
organize_tool_files -tool {PLACEROUTE} \
|
33 |
|
|
-file ./libero/fwrisc_fpga/constraint/io/fwrisc_fpga_top.pdc \
|
34 |
|
|
-module {fwrisc_fpga_top::work} \
|
35 |
|
|
-input_type constraint
|
36 |
|
|
|
37 |
|
|
import_files -sdc constraints/fwrisc_fpga_top.sdc
|
38 |
|
|
|
39 |
|
|
organize_tool_files -tool {SYNTHESIZE} \
|
40 |
|
|
-file ./libero/fwrisc_fpga/constraint/fwrisc_fpga_top.sdc \
|
41 |
|
|
-module {fwrisc_fpga_top::work} \
|
42 |
|
|
-input_type constraint
|
43 |
|
|
|
44 |
|
|
organize_tool_files -tool {PLACEROUTE} \
|
45 |
|
|
-file ./libero/fwrisc_fpga/constraint/io/fwrisc_fpga_top.pdc \
|
46 |
|
|
-file ./libero/fwrisc_fpga/constraint/fwrisc_fpga_top.sdc \
|
47 |
|
|
-module fwrisc_fpga_top::work \
|
48 |
|
|
-input_type {constraint}
|
49 |
|
|
|
50 |
|
|
organize_tool_files -tool {VERIFYTIMING} \
|
51 |
|
|
-file ./libero/fwrisc_fpga/constraint/fwrisc_fpga_top.sdc \
|
52 |
|
|
-module fwrisc_fpga_top::work \
|
53 |
|
|
-input_type {constraint}
|
54 |
|
|
|
55 |
|
|
save_project
|
56 |
|
|
|
57 |
|
|
# update_and_run_tool -name SYNTHESIZE
|
58 |
|
|
|
59 |
|
|
delete_files -file {./synthesis/fwrisc_fpga_top.edn} -from_disk
|
60 |
|
|
delete_files -file {./synthesis/fwrisc_fpga_top_sdc.sdc} -from_disk
|
61 |
|
|
|
62 |
|
|
set_device \
|
63 |
|
|
-family {SmartFusion2} -die {M2S025} -package {256 VF} \
|
64 |
|
|
-speed {-1} -die_voltage {1.2} -part_range {COM} \
|
65 |
|
|
-adv_options {IO_DEFT_STD:LVCMOS 2.5V} \
|
66 |
|
|
-adv_options {RESERVEMIGRATIONPINS:1} \
|
67 |
|
|
-adv_options {RESTRICTPROBEPINS:1} \
|
68 |
|
|
-adv_options {RESTRICTSPIPINS:0} \
|
69 |
|
|
-adv_options {TEMPR:COM} \
|
70 |
|
|
-adv_options {UNUSED_MSS_IO_RESISTOR_PULL:None} \
|
71 |
|
|
-adv_options {VCCI_1.2_VOLTR:COM} \
|
72 |
|
|
-adv_options {VCCI_1.5_VOLTR:COM} \
|
73 |
|
|
-adv_options {VCCI_1.8_VOLTR:COM} \
|
74 |
|
|
-adv_options {VCCI_2.5_VOLTR:COM} \
|
75 |
|
|
-adv_options {VCCI_3.3_VOLTR:COM} -adv_options {VOLTR:COM}
|
76 |
|
|
|
77 |
|
|
puts "**> SYNTHESIZE (1)"
|
78 |
|
|
run_tool -name {SYNTHESIZE}
|
79 |
|
|
puts "<** SYNTHESIZE (1)"
|
80 |
|
|
|
81 |
|
|
generate_sdc_constraint_coverage -tool {PLACEROUTE}
|
82 |
|
|
|
83 |
|
|
# generate_sdc_constraint_coverage -tool {PLACEROUTE}
|
84 |
|
|
|
85 |
|
|
puts "**> PLACEROUTE (1)"
|
86 |
|
|
run_tool -name {PLACEROUTE}
|
87 |
|
|
puts "<** PLACEROUTE (1)"
|
88 |
|
|
puts "**> GENERATEPROGRAMMINGDATA (1)"
|
89 |
|
|
run_tool -name {GENERATEPROGRAMMINGDATA}
|
90 |
|
|
puts "<** GENERATEPROGRAMMINGDATA (1)"
|
91 |
|
|
puts "**> GENERATEPROGRAMMINGFILE (1)"
|
92 |
|
|
run_tool -name {GENERATEPROGRAMMINGFILE}
|
93 |
|
|
puts "<** GENERATEPROGRAMMINGFILE (1)"
|
94 |
|
|
puts "**> SYNTHESIZE (2)"
|
95 |
|
|
run_tool -name {SYNTHESIZE}
|
96 |
|
|
puts "<**> SYNTHESIZE (2)"
|
97 |
|
|
generate_sdc_constraint_coverage -tool {PLACEROUTE}
|
98 |
|
|
|
99 |
|
|
# generate_sdc_constraint_coverage -tool {PLACEROUTE}
|
100 |
|
|
puts "**> PLACEROUTE (2)"
|
101 |
|
|
run_tool -name {PLACEROUTE}
|
102 |
|
|
puts "<** PLACEROUTE (2)"
|
103 |
|
|
puts "**> GENERATEPROGRAMMINGFILE (2)"
|
104 |
|
|
run_tool -name {GENERATEPROGRAMMINGFILE}
|
105 |
|
|
puts "<** GENERATEPROGRAMMINGFILE (2)"
|
106 |
|
|
|
107 |
|
|
|
108 |
|
|
puts "**> export_bitstream"
|
109 |
|
|
export_bitstream_file -trusted_facility_file 1 -trusted_facility_file_components {FABRIC}
|
110 |
|
|
puts "<** export_bitstream"
|
111 |
|
|
|
112 |
|
|
exit 0
|
113 |
|
|
|