blob: d549ad49280b2344049605db49f1850c4ebe5424 [file] [log] [blame]
# //////////////////////////////////////////////////////////////////////////////
# // SPDX-FileCopyrightText: 2021, Dinesh Annayya
# //
# // Licensed under the Apache License, Version 2.0 (the "License");
# // you may not use this file except in compliance with the License.
# // You may obtain a copy of the License at
# //
# // http://www.apache.org/licenses/LICENSE-2.0
# //
# // Unless required by applicable law or agreed to in writing, software
# // distributed under the License is distributed on an "AS IS" BASIS,
# // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# // See the License for the specific language governing permissions and
# // limitations under the License.
# // SPDX-License-Identifier: Apache-2.0
# // SPDX-FileContributor: Dinesh Annayya <dinesha@opencores.org>
# // //////////////////////////////////////////////////////////////////////////
#####################################################
# Clean up old file and freshly create the directory
####################################################
\rm -rf pyfive.sv
\rm -rf ./tmp
\rm -rf ./reports
\rm -rf ./netlist
mkdir -p ./tmp/synthesis
mkdir -p ./reports
mkdir -p ./netlist
################################################
# yosys has issue in propgating the golbal parameter from one file to other file
# to fix this issue, we have concatinated all the rtl file into single file before starting synthesis
# only memory are exclded from this list
################################################
cat ../src/core/pipeline/scr1_pipe_top.sv > pyfive.sv
cat ../src/core/scr1_core_top.sv >> pyfive.sv
cat ../src/core/scr1_dm.sv >> pyfive.sv
cat ../src/core/scr1_tapc_synchronizer.sv >> pyfive.sv
cat ../src/core/scr1_clk_ctrl.sv >> pyfive.sv
cat ../src/core/scr1_scu.sv >> pyfive.sv
cat ../src/core/scr1_tapc.sv >> pyfive.sv
cat ../src/core/scr1_tapc_shift_reg.sv >> pyfive.sv
cat ../src/core/scr1_dmi.sv >> pyfive.sv
cat ../src/core/primitives/scr1_reset_cells.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_ifu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_idu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_exu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_mprf.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_csr.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_ialu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_lsu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_hdu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_pipe_tdu.sv >> pyfive.sv
cat ../src/core/pipeline/scr1_ipic.sv >> pyfive.sv
cat ../src/top/scr1_dmem_router.sv >> pyfive.sv
cat ../src/top/scr1_imem_router.sv >> pyfive.sv
#cat ../src/top/scr1_dp_memory.sv >> pyfive.sv
cat ../src/top/scr1_tcm.sv >> pyfive.sv
cat ../src/top/scr1_timer.sv >> pyfive.sv
cat ../src/top/scr1_dmem_ahb.sv >> pyfive.sv
cat ../src/top/scr1_imem_ahb.sv >> pyfive.sv
cat ../src/top/scr1_top_axi.sv >> pyfive.sv
cat ../src/top/scr1_mem_axi.sv>> pyfive.sv
yosys -g -c synth.tcl -l synth.log