[DATA] Add digital user project wrapper

This commit is contained in:
manarabdelaty 2021-11-17 13:13:11 +02:00
parent d7ae2e1ac1
commit 1b300d7b59
11 changed files with 16016 additions and 994 deletions

8278
def/user_project_wrapper.def Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

6412
lef/user_project_wrapper.lef Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
# 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
set script_dir [file dirname [file normalize [info script]]]
source $script_dir/fixed_wrapper_cfgs.tcl
source $script_dir/default_wrapper_cfgs.tcl
set ::env(DESIGN_NAME) user_project_wrapper
set ::env(FP_PDN_CHECK_NODES) 0
set ::env(FP_PDN_ENABLE_RAILS) 0
set ::env(GLB_RT_OBS) "met1 0 0 $::env(DIE_AREA),\
met2 0 0 $::env(DIE_AREA),\
met3 0 0 $::env(DIE_AREA),\
met4 0 0 $::env(DIE_AREA),\
met5 0 0 $::env(DIE_AREA)"
set ::env(CLOCK_PORT) "user_clock2"
set ::env(CLOCK_NET) "mprj.clk"
set ::env(CLOCK_PERIOD) "10"
set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
set ::env(DIODE_INSERTION_STRATEGY) 0
set ::env(MAGIC_WRITE_FULL_LEF) 0
set ::env(VERILOG_FILES) "\
$script_dir/../../verilog/rtl/defines.v \
$script_dir/../../verilog/rtl/__user_project_wrapper.v"

View File

@ -0,0 +1,24 @@
# 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
# THE FOLLOWING SECTIONS CAN BE CHANGED IF NEEDED
# PDN Pitch
set ::env(FP_PDN_VPITCH) 180
set ::env(FP_PDN_HPITCH) $::env(FP_PDN_VPITCH)
# PDN Offset
set ::env(FP_PDN_VOFFSET) 5
set ::env(FP_PDN_HOFFSET) $::env(FP_PDN_VOFFSET)

View File

@ -0,0 +1,57 @@
# 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
# DON'T TOUCH THE FOLLOWING SECTIONS
set script_dir [file dirname [file normalize [info script]]]
# This makes sure that the core rings are outside the boundaries
# of your block.
set ::env(MAGIC_ZEROIZE_ORIGIN) 0
# Area Configurations. DON'T TOUCH.
set ::env(FP_SIZING) absolute
set ::env(DIE_AREA) "0 0 2920 3520"
set ::env(RUN_CVC) 0
# Pin Configurations. DON'T TOUCH
set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
set ::unit 2.4
set ::env(FP_IO_VEXTEND) [expr 2*$::unit]
set ::env(FP_IO_HEXTEND) [expr 2*$::unit]
set ::env(FP_IO_VLENGTH) $::unit
set ::env(FP_IO_HLENGTH) $::unit
set ::env(FP_IO_VTHICKNESS_MULT) 4
set ::env(FP_IO_HTHICKNESS_MULT) 4
# Power & Pin Configurations. DON'T TOUCH.
set ::env(FP_PDN_CORE_RING) 1
set ::env(FP_PDN_CORE_RING_VWIDTH) 3.1
set ::env(FP_PDN_CORE_RING_HWIDTH) 3.1
set ::env(FP_PDN_CORE_RING_VOFFSET) 14
set ::env(FP_PDN_CORE_RING_HOFFSET) $::env(FP_PDN_CORE_RING_VOFFSET)
set ::env(FP_PDN_CORE_RING_VSPACING) 1.7
set ::env(FP_PDN_CORE_RING_HSPACING) $::env(FP_PDN_CORE_RING_VSPACING)
set ::env(FP_PDN_VWIDTH) 3.1
set ::env(FP_PDN_HWIDTH) 3.1
set ::env(FP_PDN_VSPACING) [expr 5*$::env(FP_PDN_CORE_RING_VWIDTH)]
set ::env(FP_PDN_HSPACING) [expr 5*$::env(FP_PDN_CORE_RING_HWIDTH)]
set ::env(VDD_NETS) [list {vccd1} {vccd2} {vdda1} {vdda2}]
set ::env(GND_NETS) [list {vssd1} {vssd2} {vssa1} {vssa2}]
set ::env(SYNTH_USE_PG_PINS_DEFINES) "USE_POWER_PINS"

View File

@ -0,0 +1,48 @@
# 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
package require openlane
set script_dir [file dirname [file normalize [info script]]]
prep -design $script_dir -tag user_project_wrapper -overwrite
set save_path $script_dir/../..
verilog_elaborate
set ::env(CURRENT_SDC) $::env(BASE_SDC_FILE)
init_floorplan
# making it "empty"
remove_nets -input $::env(CURRENT_DEF)
remove_components -input $::env(CURRENT_DEF)
place_io_ol
apply_route_obs
run_power_grid_generation
run_magic
run_magic_drc
save_views -lef_path $::env(magic_result_file_tag).lef \
-def_path $::env(CURRENT_DEF) \
-gds_path $::env(magic_result_file_tag).gds \
-mag_path $::env(magic_result_file_tag).mag \
-spice_path $::env(magic_result_file_tag).spice \
-save_path $save_path \
-tag $::env(RUN_TAG)

View File

@ -0,0 +1,156 @@
#BUS_SORT
#NR
analog_io\[8\]
io_in\[15\]
io_out\[15\]
io_oeb\[15\]
analog_io\[9\]
io_in\[16\]
io_out\[16\]
io_oeb\[16\]
analog_io\[10\]
io_in\[17\]
io_out\[17\]
io_oeb\[17\]
analog_io\[11\]
io_in\[18\]
io_out\[18\]
io_oeb\[18\]
analog_io\[12\]
io_in\[19\]
io_out\[19\]
io_oeb\[19\]
analog_io\[13\]
io_in\[20\]
io_out\[20\]
io_oeb\[20\]
analog_io\[14\]
io_in\[21\]
io_out\[21\]
io_oeb\[21\]
analog_io\[15\]
io_in\[22\]
io_out\[22\]
io_oeb\[22\]
analog_io\[16\]
io_in\[23\]
io_out\[23\]
io_oeb\[23\]
#S
wb_.*
wbs_.*
la_.*
user_clock2
user_irq.*
#E
io_in\[0\]
io_out\[0\]
io_oeb\[0\]
io_in\[1\]
io_out\[1\]
io_oeb\[1\]
io_in\[2\]
io_out\[2\]
io_oeb\[2\]
io_in\[3\]
io_out\[3\]
io_oeb\[3\]
io_in\[4\]
io_out\[4\]
io_oeb\[4\]
io_in\[5\]
io_out\[5\]
io_oeb\[5\]
io_in\[6\]
io_out\[6\]
io_oeb\[6\]
analog_io\[0\]
io_in\[7\]
io_out\[7\]
io_oeb\[7\]
analog_io\[1\]
io_in\[8\]
io_out\[8\]
io_oeb\[8\]
analog_io\[2\]
io_in\[9\]
io_out\[9\]
io_oeb\[9\]
analog_io\[3\]
io_in\[10\]
io_out\[10\]
io_oeb\[10\]
analog_io\[4\]
io_in\[11\]
io_out\[11\]
io_oeb\[11\]
analog_io\[5\]
io_in\[12\]
io_out\[12\]
io_oeb\[12\]
analog_io\[6\]
io_in\[13\]
io_out\[13\]
io_oeb\[13\]
analog_io\[7\]
io_in\[14\]
io_out\[14\]
io_oeb\[14\]
#WR
analog_io\[17\]
io_in\[24\]
io_out\[24\]
io_oeb\[24\]
analog_io\[18\]
io_in\[25\]
io_out\[25\]
io_oeb\[25\]
analog_io\[19\]
io_in\[26\]
io_out\[26\]
io_oeb\[26\]
analog_io\[20\]
io_in\[27\]
io_out\[27\]
io_oeb\[27\]
analog_io\[21\]
io_in\[28\]
io_out\[28\]
io_oeb\[28\]
analog_io\[22\]
io_in\[29\]
io_out\[29\]
io_oeb\[29\]
analog_io\[23\]
io_in\[30\]
io_out\[30\]
io_oeb\[30\]
analog_io\[24\]
io_in\[31\]
io_out\[31\]
io_oeb\[31\]
analog_io\[25\]
io_in\[32\]
io_out\[32\]
io_oeb\[32\]
analog_io\[26\]
io_in\[33\]
io_out\[33\]
io_oeb\[33\]
analog_io\[27\]
io_in\[34\]
io_out\[34\]
io_oeb\[34\]
analog_io\[28\]
io_in\[35\]
io_out\[35\]
io_oeb\[35\]
io_in\[36\]
io_out\[36\]
io_oeb\[36\]
io_in\[37\]
io_out\[37\]
io_oeb\[37\]

View File

@ -0,0 +1 @@
openlane 2021.09.09_03.00.48-70-g9ab04e4

View File

@ -0,0 +1,3 @@
openlane cbb562bd43c5c410b1b498604803c3dd88a44856
skywater-pdk c094b6e83a4f9298e47f696ec5a7fd53535ec5eb
open_pdks c5730b574461889c82858b08d12ba42423d9c2cb