OpenCores
URL https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk

Subversion Repositories bluespec-h264

[/] [bluespec-h264/] [trunk/] [dc/] [Makefile] - Blame information for rev 100

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 jamey.hick
#=======================================================================
2
# 6.375 Makefile for dc-synth
3
#-----------------------------------------------------------------------
4 31 jamey.hick
# $Id: Makefile,v 1.2 2008-06-26 17:58:29 jamey.hicks Exp $
5 30 jamey.hick
#
6
# This makefile will use Synopsys Design Compiler to synthesize
7
# your RTL into a gate-level verilog netlist.
8
#
9
 
10
default : all
11
 
12
basedir  = ../..
13
 
14
#--------------------------------------------------------------------
15
# Sources
16
#--------------------------------------------------------------------
17
 
18
# bsvclib Verilog
19
 
20
bsvclibdir = $(MIT6375_HOME)/install/bsvclib
21
bsvclibsrcs = \
22
 
23
# Verilog from prelude
24
 
25
preludedir = $(BLUESPECDIR)/Verilog
26
preludesrcs = \
27
        $(preludedir)/FIFO2.v \
28
        $(preludedir)/RegFile.v \
29
        $(preludedir)/SizedFIFO.v \
30
 
31
# Verilog in source directory
32
 
33
vsrcdir = $(basedir)/src
34
vsrcs = \
35
 
36
# BSC generated verilog
37
 
38
bscdir = ../build
39
bscsrcs = \
40
        $(bsrcdir)/mkH264.v \
41
        $(bsrcdir)/mkEntropyDec.v \
42
        $(bsrcdir)/mkCalc_nC.v \
43
        $(bsrcdir)/mkInverseTrans.v \
44
        $(bsrcdir)/mkPrediction.v \
45
        $(bsrcdir)/mkDeblockFilter.v \
46
        $(bsrcdir)/mkBufferControl.v \
47 31 jamey.hick
        $(bsrcdir)/mkInterpolator.v \
48
        $(bsrcdir)/mkbSVector.v \
49 30 jamey.hick
        $(bsrcdir)/mkLeftVector.v \
50
        $(bsrcdir)/mkTopVector.v \
51
        $(bsrcdir)/mkWorkVectorHor.v \
52
        $(bsrcdir)/mkWorkVectorVer.v \
53
        $(bsrcdir)/module_cavlc_coeff_token.v \
54
        $(bsrcdir)/module_cavlc_level_prefix.v \
55
        $(bsrcdir)/module_cavlc_run_before.v \
56
        $(bsrcdir)/module_cavlc_total_zeros.v \
57
        $(bsrcdir)/module_expgolomb_coded_block_pattern.v \
58
        $(bsrcdir)/module_expgolomb_codenum.v \
59
        $(bsrcdir)/module_expgolomb_numbits.v \
60
        $(bsrcdir)/module_expgolomb_signed.v \
61
        $(bsrcdir)/module_expgolomb_unsigned.v \
62
        $(bsrcdir)/module_expgolomb_codenum32.v \
63
        $(bsrcdir)/module_expgolomb_numbits32.v \
64
        $(bsrcdir)/module_expgolomb_signed32.v \
65
        $(bsrcdir)/module_expgolomb_unsigned32.v \
66
 
67
# Specify what the toplevel verilog module is
68
 
69
toplevel = mkH264
70
 
71
# Specify any instantiations which should be marked don't touch
72
 
73
dont_touch = \
74
 
75
#--------------------------------------------------------------------
76
# Build rules
77
#--------------------------------------------------------------------
78
 
79
build_suffix   := $(shell date +%Y-%m-%d_%H-%M)
80
build_dir      := build-$(build_suffix)
81
curr_build_dir := current
82
curr_build_dir_tstamp := current/timestamp.txt
83
synth_verilog  := $(curr_build_dir)/synthesized.v
84
 
85
synth_tcl      := synth.tcl
86
libs_tcl       := libs.tcl
87
synth_sdc      := synth.sdc
88
scripts        := $(synth_tcl) $(libs_tcl) $(synth_sdc)
89
makegen_tcl    := make_generated_vars.tcl
90
 
91
libdir = $(MIT6375_HOME)/libs/tsl180/tsl18fs120
92
synth_vars = \
93
        set SEARCH_PATH      { $(bvclibdir) $(preludedir) ../$(vsrcdir) ../${bscdir} }; \
94
        set DONT_TOUCH       { $(dont_touch) }; \
95
        set LINK_DBS         $(libdir)/db/tsl18fs120_typ.db; \
96
        set TARGET_DBS       $(libdir)/db/tsl18fs120_typ.db; \
97
        set SYMBOL_SDBS      $(libdir)/sdb/tsl18fs120_icon.sdb; \
98
        set VERILOG_SRCS     { $(notdir $(bsvclibsrcs) $(preludesrcs) $(vsrcs) $(bscsrcs)) }; \
99
        set VERILOG_TOPLEVEL $(toplevel); \
100
 
101
define new-build-dir-cmds
102
        mkdir $(build_dir)
103
        rm -f $(curr_build_dir)
104
        ln -s $(build_dir) $(curr_build_dir)
105
        cp $(scripts) $(curr_build_dir)
106
        echo '$(synth_vars)' > $(curr_build_dir)/$(makegen_tcl)
107
endef
108
 
109
new-build-dir :
110
        $(new-build-dir-cmds)
111
 
112
$(synth_verilog) : $(vsrcs) $(vclibsrcs) $(scripts)
113
        $(new-build-dir-cmds)
114
        cd $(curr_build_dir); \
115
        dc_shell-xg-t -f $(synth_tcl) | tee dc.log; \
116
        cd ..
117
 
118
synth : $(synth_verilog)
119
 
120
junk +=
121
 
122
.PHONY : synth new-build-dir
123
 
124
#--------------------------------------------------------------------
125
# Default make target
126
#--------------------------------------------------------------------
127
 
128
all : synth
129
 
130
#--------------------------------------------------------------------
131
# Clean up
132
#--------------------------------------------------------------------
133
 
134
clean :
135
        rm -rf build-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]_[0-9][0-9]-[0-9][0-9] \
136
               current $(junk) *~ \#*

powered by: WebSVN 2.1.0

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