2021-10-12 15:31:42 -05:00
|
|
|
// SPDX-FileCopyrightText: 2020 Efabless Corporation
|
|
|
|
//
|
|
|
|
// 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
|
|
|
|
|
|
|
|
`timescale 1 ns / 1 ps
|
|
|
|
|
|
|
|
`define UNIT_DELAY #1
|
|
|
|
`define USE_POWER_PINS
|
|
|
|
|
|
|
|
`ifdef SIM
|
|
|
|
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "defines.v"
|
|
|
|
`include "user_defines.v"
|
|
|
|
`include "pads.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
|
2021-10-25 14:08:13 -05:00
|
|
|
/* NOTE: Need to pass the PDK root directory to iverilog with option -I */
|
|
|
|
`ifdef EF_STYLE // efabless style pdk installation; mainly for open galaxy users
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "libs.ref/verilog/sky130_fd_io/sky130_fd_io.v"
|
|
|
|
`include "libs.ref/verilog/sky130_fd_io/sky130_ef_io.v"
|
|
|
|
|
|
|
|
`include "libs.ref/verilog/sky130_fd_sc_hd/primitives.v"
|
|
|
|
`include "libs.ref/verilog/sky130_fd_sc_hd/sky130_fd_sc_hd.v"
|
|
|
|
`include "libs.ref/verilog/sky130_fd_sc_hvl/primitives.v"
|
|
|
|
`include "libs.ref/verilog/sky130_fd_sc_hvl/sky130_fd_sc_hvl.v"
|
2021-11-22 08:46:21 -06:00
|
|
|
`include "libs.ref/verilog/sky130_sram_macros/sky130_sram_2kbyte_1rw1r_32x512_8.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`else
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "libs.ref/sky130_fd_io/verilog/sky130_fd_io.v"
|
|
|
|
`include "libs.ref/sky130_fd_io/verilog/sky130_ef_io.v"
|
|
|
|
|
|
|
|
`include "libs.ref/sky130_fd_sc_hd/verilog/primitives.v"
|
|
|
|
`include "libs.ref/sky130_fd_sc_hd/verilog/sky130_fd_sc_hd.v"
|
|
|
|
`include "libs.ref/sky130_fd_sc_hvl/verilog/primitives.v"
|
|
|
|
`include "libs.ref/sky130_fd_sc_hvl/verilog/sky130_fd_sc_hvl.v"
|
2021-11-22 08:46:21 -06:00
|
|
|
`include "libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`endif
|
2021-10-12 15:31:42 -05:00
|
|
|
|
2021-10-25 14:08:13 -05:00
|
|
|
`ifdef GL
|
|
|
|
// Assume default net type to be wire because GL netlists don't have the wire
|
|
|
|
// definitions
|
|
|
|
`default_nettype wire
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gl/digital_pll.v"
|
2021-12-03 16:13:53 -06:00
|
|
|
`include "gl/caravel_clocking.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gl/user_id_programming.v"
|
|
|
|
`include "gl/chip_io_alt.v"
|
2021-12-03 16:13:53 -06:00
|
|
|
`include "gl/housekeeping.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gl/mprj_logic_high.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "gl/mprj2_logic_high.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gl/mgmt_protect.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "gl/mgmt_protect_hv.v"
|
2022-09-20 16:49:08 -05:00
|
|
|
`include "gl/constant_block.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gl/gpio_control_block.v"
|
2021-10-23 16:18:30 -05:00
|
|
|
`include "gl/gpio_defaults_block.v"
|
2021-12-03 16:13:53 -06:00
|
|
|
`include "gl/gpio_defaults_block_0403.v"
|
|
|
|
`include "gl/gpio_defaults_block_1803.v"
|
2022-10-05 09:02:24 -05:00
|
|
|
`include "gl/gpio_defaults_block_0801.v"
|
2022-10-13 12:29:27 -05:00
|
|
|
`include "gl/gpio_signal_buffering_alt.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "gl/gpio_logic_high.v"
|
2021-10-31 20:43:09 -05:00
|
|
|
`include "gl/xres_buf.v"
|
2021-11-24 08:23:22 -06:00
|
|
|
`include "gl/spare_logic_block.v"
|
2021-12-24 10:46:34 -06:00
|
|
|
`include "gl/mgmt_defines.v"
|
2021-11-24 08:23:22 -06:00
|
|
|
`include "gl/mgmt_core_wrapper.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "gl/caravan.v"
|
|
|
|
`else
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "digital_pll.v"
|
2021-12-07 08:14:59 -06:00
|
|
|
`include "digital_pll_controller.v"
|
|
|
|
`include "ring_osc2x13.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "caravel_clocking.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "user_id_programming.v"
|
|
|
|
`include "clock_div.v"
|
|
|
|
`include "mprj_io.v"
|
|
|
|
`include "chip_io_alt.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "housekeeping_spi.v"
|
|
|
|
`include "housekeeping.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "mprj_logic_high.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "mprj2_logic_high.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "mgmt_protect.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "mgmt_protect_hv.v"
|
2022-09-20 16:49:08 -05:00
|
|
|
`include "constant_block.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gpio_control_block.v"
|
2021-10-23 16:18:30 -05:00
|
|
|
`include "gpio_defaults_block.v"
|
2022-10-13 12:29:27 -05:00
|
|
|
`include "gpio_signal_buffering_alt.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
`include "gpio_logic_high.v"
|
2021-10-31 20:43:09 -05:00
|
|
|
`include "xres_buf.v"
|
2021-11-24 08:23:22 -06:00
|
|
|
`include "spare_logic_block.v"
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "mgmt_core_wrapper.v"
|
|
|
|
`include "caravan.v"
|
|
|
|
`endif
|
2021-10-12 15:31:42 -05:00
|
|
|
|
2021-10-25 14:08:13 -05:00
|
|
|
`include "simple_por.v"
|
2021-10-12 15:31:42 -05:00
|
|
|
|
|
|
|
`endif
|