OpenCores
URL https://opencores.org/ocsvn/nfcc/nfcc/trunk

Subversion Repositories nfcc

[/] [nfcc/] [trunk/] [snow/] [Makefile] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
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   # source is a result from x2y
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 *.sflt *_syn.pat *_sim.pat

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.