-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcore_build_flow.tcl
More file actions
70 lines (53 loc) · 2.16 KB
/
core_build_flow.tcl
File metadata and controls
70 lines (53 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#run with: vivado -mode batch -nolog -nojournal -source core_build_flow.tcl
set outputDir ./build_core/slow
file mkdir $outputDir
set_param general.maxThreads 4
read_vhdl src/rgb2gray.vhd
read_vhdl src/gauss_top.vhd
read_vhdl src/sobel_top.vhd
read_vhdl src/sobel_kernel.vhd
read_vhdl src/gauss_kernel.vhd
read_vhdl src/types_lib.vhd
read_vhdl src/linebuffer.vhd
read_vhdl src/kernel_top.vhd
read_vhdl src/sys_top.vhd
read_vhdl src/edgedetect_top.vhd
read_vhdl src/VGAcontrol.vhd
read_xdc NexysA7_Core.xdc
## Min. Utilization Design with Pixel Clock 25.175 MHz for VGA (640x480) at 60 Hz
## Disables pipelining generic and enables synthesis / p&r directives for min area
set_property generic {pipeline=0} [current_fileset]
synth_design -top sys_top -part xc7a100tcsg324-1 -directive AreaOptimized_high
# Pixel Clock 25.175 MHz (VGA 640x480 60 Hz)
create_clock -add -name sys_clk_pin -period 39.722 -waveform {0 5} [get_ports { clk }];
write_checkpoint -force $outputDir/post_synth.dcp
report_clocks
opt_design -directive ExploreWithRemap
place_design
write_checkpoint -force $outputDir/post_place.dcp
route_design
write_checkpoint -force $outputDir/post_route.dcp
write_bitstream -force $outputDir/sys_top_slow.bit
check_timing
report_utilization -file $outputDir/post_pr_util.rpt
report_timing_summary -file $outputDir/post_pr_timing.rpt
## Max. Performance Design with Pixel Clock 148.5 MHz for 1080p at 60 Hz
## Enables pipelining generic and synthesis / p&r directives for max performance
set outputDir ./build_core/fast
file mkdir $outputDir
set_property generic {pipeline=1} [current_fileset]
synth_design -top sys_top -part xc7a100tcsg324-1 -directive AlternateRoutability
# Pixel Clock 148.5 MHz (1080p 60Hz)
create_clock -add -name sys_clk_pin -period 6.734 -waveform {0 5} [get_ports { clk }];
write_checkpoint -force $outputDir/post_synth.dcp
report_clocks
opt_design
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place.dcp
route_design
write_checkpoint -force $outputDir/post_route.dcp
write_bitstream -force $outputDir/sys_top_fast.bit
check_timing
report_utilization -file $outputDir/post_pr_util.rpt
report_timing_summary -file $outputDir/post_pr_timing.rpt