1 |
2 |
arif_endro |
#- ------------------------------------------------------------------------
|
2 |
|
|
#- Copyright (C) 2010 Arif Endro Nugroho
|
3 |
|
|
#- All rights reserved.
|
4 |
|
|
#-
|
5 |
|
|
#- Redistribution and use in source and binary forms, with or without
|
6 |
|
|
#- modification, are permitted provided that the following conditions
|
7 |
|
|
#- are met:
|
8 |
|
|
#-
|
9 |
|
|
#- 1. Redistributions of source code must retain the above copyright
|
10 |
|
|
#- notice, this list of conditions and the following disclaimer.
|
11 |
|
|
#- 2. Redistributions in binary form must reproduce the above copyright
|
12 |
|
|
#- notice, this list of conditions and the following disclaimer in the
|
13 |
|
|
#- documentation and/or other materials provided with the distribution.
|
14 |
|
|
#-
|
15 |
|
|
#- THIS SOFTWARE IS PROVIDED BY ARIF ENDRO NUGROHO "AS IS" AND ANY EXPRESS
|
16 |
|
|
#- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
17 |
|
|
#- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
18 |
|
|
#- DISCLAIMED. IN NO EVENT SHALL ARIF ENDRO NUGROHO BE LIABLE FOR ANY
|
19 |
|
|
#- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
20 |
|
|
#- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
21 |
|
|
#- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22 |
|
|
#- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
23 |
|
|
#- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
24 |
|
|
#- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
25 |
|
|
#- POSSIBILITY OF SUCH DAMAGE.
|
26 |
|
|
#-
|
27 |
|
|
#- End Of License.
|
28 |
|
|
#- ------------------------------------------------------------------------
|
29 |
|
|
#
|
30 |
|
|
# Need to FLATTENING the design before OCP and NERO
|
31 |
|
|
# Use x2y vst vst
|
32 |
|
|
# then flatlo -r
|
33 |
|
|
# this two sequence will remove most warning/error message when
|
34 |
|
|
# performing LOON on the netlist.
|
35 |
|
|
#
|
36 |
|
|
# BOOM will optimize the logic
|
37 |
|
|
# BOOG will optimize/convert the logic into netlist
|
38 |
|
|
# LOON will optimize the netlist (this will report area/timing)
|
39 |
|
|
#
|
40 |
|
|
# VST is a circuit netlist file
|
41 |
|
|
# AP is a circuit placement file (OCP/NERO create this file)
|
42 |
|
|
# VBE is alliance VHDL Behavioral Description file
|
43 |
|
|
|
44 |
|
|
VASYFLAGS = -V -B -I vhdl -a -p -o
|
45 |
|
|
BOOMFLAGS = -VP
|
46 |
|
|
BOOGFLAGS =
|
47 |
|
|
LOONFLAGS =
|
48 |
|
|
OCPFLAGS = -v
|
49 |
|
|
NEROFLAGS = -V -G -6 -p
|
50 |
|
|
DRUCFLAGS =
|
51 |
|
|
S2RFLAGS = -v
|
52 |
|
|
OCP = ocp
|
53 |
|
|
NERO = nero
|
54 |
|
|
DRUC = druc
|
55 |
|
|
S2R = s2r
|
56 |
|
|
VASY = vasy
|
57 |
|
|
BOOM = boom
|
58 |
|
|
GENPAT = genpat -v
|
59 |
|
|
BOOG = boog
|
60 |
|
|
LOON = loon
|
61 |
|
|
RM = /bin/rm -vf
|
62 |
|
|
X2Y = x2y
|
63 |
|
|
FLATLO = flatlo
|
64 |
|
|
X2YFLAGS = vst vst
|
65 |
|
|
FLATLOFLAGS = -r
|
66 |
|
|
TOUCH = touch
|
67 |
|
|
|
68 |
|
|
# Set-up TARGET variable respectively
|
69 |
|
|
%.ap: TARGET = $(subst .ap,, $@)
|
70 |
|
|
%.pat: TARGET = $(subst .pat,, $@)
|
71 |
|
|
%.cif: TARGET = $(subst .cif,, $@)
|
72 |
|
|
%.vst: TARGET = $(subst .vst,, $@)
|
73 |
|
|
%.flt: TARGET = $(subst .flt,, $@)
|
74 |
|
|
%.sflt: TARGET = $(subst .sflt,, $@)
|
75 |
|
|
%.flatten: TARGET = $(subst .flatten,, $@)
|
76 |
|
|
|
77 |
|
|
all:
|
78 |
|
|
|
79 |
|
|
%.vbe: %.vhdl
|
80 |
|
|
@$(VASY) $(VASYFLAGS) $<
|
81 |
|
|
|
82 |
|
|
%.vst: %.vbe
|
83 |
|
|
@$(BOOM) $(BOOMFLAGS) $(TARGET) $(TARGET)_o
|
84 |
|
|
@$(BOOG) $(BOOGFLAGS) $(TARGET)_o
|
85 |
|
|
@$(LOON) $(LOONFLAGS) $(TARGET)_o $(TARGET)
|
86 |
|
|
-$(RM) $(TARGET)_o.*
|
87 |
|
|
|
88 |
|
|
%.sflt: %.vbe
|
89 |
|
|
# @$(BOOM) $(BOOMFLAGS) $(TARGET)_model $(TARGET)_model_o
|
90 |
|
|
@$(BOOG) $(BOOGFLAGS) $(TARGET)_model
|
91 |
|
|
# @$(BOOG) $(BOOGFLAGS) $(TARGET)_model_o
|
92 |
|
|
# @$(LOON) $(LOONFLAGS) $(TARGET)_model_o $(TARGET)_model
|
93 |
|
|
-$(RM) $(TARGET)_model_o.*
|
94 |
|
|
@$(X2Y) $(X2YFLAGS) $(TARGET) $(TARGET)_m
|
95 |
|
|
@$(FLATLO) $(FLATLOFLAGS) $(TARGET)_m $(TARGET)
|
96 |
|
|
# @$(FLATLO) $(FLATLOFLAGS) $(TARGET)_m $(TARGET)_o
|
97 |
|
|
# @$(LOON) $(LOONFLAGS) $(TARGET)_o $(TARGET)
|
98 |
|
|
-$(RM) $(TARGET){_o,m}.*
|
99 |
|
|
@$(TOUCH) $@
|
100 |
|
|
|
101 |
|
|
%.flt: %.vbe
|
102 |
|
|
@$(BOOM) $(BOOMFLAGS) $(TARGET)_model $(TARGET)_model_o
|
103 |
|
|
@$(BOOG) $(BOOGFLAGS) $(TARGET)_model_o
|
104 |
|
|
@$(LOON) $(LOONFLAGS) $(TARGET)_model_o $(TARGET)_model
|
105 |
|
|
-$(RM) $(TARGET)_model_o.*
|
106 |
|
|
@$(X2Y) $(X2YFLAGS) $(TARGET) $(TARGET)_m
|
107 |
|
|
@$(FLATLO) $(FLATLOFLAGS) $(TARGET)_m $(TARGET)_o
|
108 |
|
|
@$(LOON) $(LOONFLAGS) $(TARGET)_o $(TARGET)
|
109 |
|
|
-$(RM) $(TARGET){_o,m}.*
|
110 |
|
|
@$(TOUCH) $@
|
111 |
|
|
|
112 |
|
|
%.flatten: %.vst
|
113 |
|
|
@$(X2Y) $(X2YFLAGS) $(TARGET) $(TARGET)_m
|
114 |
|
|
@$(FLATLO) $(FLATLOFLAGS) $(TARGET)_m $(TARGET)_o
|
115 |
|
|
@$(LOON) $(LOONFLAGS) $(TARGET)_o $(TARGET)
|
116 |
|
|
-$(RM) $(TARGET){_o,m}.*
|
117 |
|
|
|
118 |
|
|
clean:
|
119 |
|
|
@rm -vf *.dat *.gpl *.vhd *.vbe *.boom *.vst *.xsc *.ap *.cif *.drc done.* *.flt
|