From b95ce03b8c909aa5aefde88157868e9bc60ba3ec Mon Sep 17 00:00:00 2001 From: Peter Gadfort Date: Thu, 2 Nov 2023 20:13:52 -0400 Subject: [PATCH] package lib for pypi cleanup --- .flake8 | 4 ++ .github/workflows/ci.yml | 33 ++++++++++++ .github/workflows/wheels.yml | 50 +++++++++++++++++++ .gitignore | 3 ++ lambdalib/__init__.py | 22 ++++++++ {iolib => lambdalib/iolib}/rtl/la_ioanalog.v | 0 {iolib => lambdalib/iolib}/rtl/la_iobidir.v | 0 {iolib => lambdalib/iolib}/rtl/la_ioclamp.v | 0 {iolib => lambdalib/iolib}/rtl/la_iocorner.v | 0 {iolib => lambdalib/iolib}/rtl/la_iocut.v | 0 {iolib => lambdalib/iolib}/rtl/la_ioinput.v | 0 {iolib => lambdalib/iolib}/rtl/la_iopoc.v | 0 {iolib => lambdalib/iolib}/rtl/la_ioshort.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovdd.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovdda.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovddio.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovss.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovssa.v | 0 {iolib => lambdalib/iolib}/rtl/la_iovssio.v | 0 {iolib => lambdalib/iolib}/rtl/la_ioxtal.v | 0 {iolib => lambdalib/iolib}/rtl/la_pt.v | 0 lambdalib/lambdalib.py | 37 ++++++++++---- .../padring}/floorplan/la_iopadring.py | 3 +- {padring => lambdalib/padring}/padring.py | 2 +- .../padring}/rtl/la_iopadring.v | 0 .../padring}/rtl/la_iopadring.vh | 0 .../padring}/rtl/la_ioside.v | 0 .../padring}/testbench/build.sh | 0 .../padring}/testbench/tb_la_iopadring.v | 0 .../ramlib}/rtl/la_asyncfifo.v | 0 {ramlib => lambdalib/ramlib}/rtl/la_dpram.v | 0 {ramlib => lambdalib/ramlib}/rtl/la_spram.v | 0 .../ramlib}/rtl/la_spregfile.v | 0 .../ramlib}/rtl/la_syncfifo.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_and2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_and3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_and4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_antenna.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao21.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao211.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao22.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao221.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao222.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao31.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao311.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao32.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_ao33.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi21.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi211.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi22.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi221.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi222.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi31.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi311.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi32.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_aoi33.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_buf.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkand2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkbuf.v | 0 .../stdlib}/rtl/la_clkicgand.v | 0 .../stdlib}/rtl/la_clkicgor.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkinv.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkmux2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkmux4.v | 0 .../stdlib}/rtl/la_clknand2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clknor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkor4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_clkxor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_csa32.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_csa42.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_decap.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_delay.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffnq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffrq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffrqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffsq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dffsqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux5.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux6.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux7.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dmux8.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_drsync.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_dsync.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_footer.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_header.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_iddr.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_inv.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_isohi.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_isolo.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_keeper.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_latnq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_latq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_mux2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_mux3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_mux4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_muxi2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_muxi3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_muxi4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nand2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nand3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nand4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nor3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_nor4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa21.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa211.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa22.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa221.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa222.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa31.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa311.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa32.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oa33.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai21.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai22.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai221.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai222.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai31.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai311.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai32.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oai33.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_oddr.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_or2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_or3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_or4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_pwrbuf.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_rsync.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffrq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffrqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffsq.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_sdffsqn.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_tbuf.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_tiehi.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_tielo.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xnor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xnor3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xnor4.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xor2.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xor3.v | 0 {stdlib => lambdalib/stdlib}/rtl/la_xor4.v | 0 {syslib => lambdalib/syslib}/rtl/la_eth.v | 0 {syslib => lambdalib/syslib}/rtl/la_gpio.v | 0 {syslib => lambdalib/syslib}/rtl/la_i2c.v | 0 {syslib => lambdalib/syslib}/rtl/la_jtag.v | 0 {syslib => lambdalib/syslib}/rtl/la_qspi.v | 0 {syslib => lambdalib/syslib}/rtl/la_sd.v | 0 {syslib => lambdalib/syslib}/rtl/la_spi.v | 0 {syslib => lambdalib/syslib}/rtl/la_uart.v | 0 {syslib => lambdalib/syslib}/rtl/la_usb.v | 0 .../vectorlib}/rtl/la_vbuf.v | 0 .../vectorlib}/rtl/la_vinv.v | 0 .../vectorlib}/rtl/la_visohi.v | 0 .../vectorlib}/rtl/la_visolo.v | 0 .../vectorlib}/rtl/la_vmux.v | 0 .../vectorlib}/rtl/la_vmux2.v | 0 .../vectorlib}/rtl/la_vmux3.v | 0 .../vectorlib}/rtl/la_vmux4.v | 0 .../vectorlib}/rtl/la_vmux5.v | 0 .../vectorlib}/rtl/la_vmux6.v | 0 .../vectorlib}/rtl/la_vmux7.v | 0 .../vectorlib}/rtl/la_vmux8.v | 0 pyproject.toml | 37 ++++++++++++++ tests/test_local_detect.py | 8 +++ tests/test_paths.py | 9 ++++ tests/test_setup.py | 24 +++++++++ 173 files changed, 218 insertions(+), 14 deletions(-) create mode 100644 .flake8 create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/wheels.yml create mode 100644 lambdalib/__init__.py rename {iolib => lambdalib/iolib}/rtl/la_ioanalog.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iobidir.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_ioclamp.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iocorner.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iocut.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_ioinput.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iopoc.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_ioshort.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovdd.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovdda.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovddio.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovss.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovssa.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_iovssio.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_ioxtal.v (100%) rename {iolib => lambdalib/iolib}/rtl/la_pt.v (100%) rename {padring => lambdalib/padring}/floorplan/la_iopadring.py (90%) rename {padring => lambdalib/padring}/padring.py (100%) rename {padring => lambdalib/padring}/rtl/la_iopadring.v (100%) rename {padring => lambdalib/padring}/rtl/la_iopadring.vh (100%) rename {padring => lambdalib/padring}/rtl/la_ioside.v (100%) rename {padring => lambdalib/padring}/testbench/build.sh (100%) rename {padring => lambdalib/padring}/testbench/tb_la_iopadring.v (100%) rename {ramlib => lambdalib/ramlib}/rtl/la_asyncfifo.v (100%) rename {ramlib => lambdalib/ramlib}/rtl/la_dpram.v (100%) rename {ramlib => lambdalib/ramlib}/rtl/la_spram.v (100%) rename {ramlib => lambdalib/ramlib}/rtl/la_spregfile.v (100%) rename {ramlib => lambdalib/ramlib}/rtl/la_syncfifo.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_and2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_and3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_and4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_antenna.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao21.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao211.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao22.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao221.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao222.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao31.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao311.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao32.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_ao33.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi21.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi211.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi22.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi221.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi222.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi31.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi311.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi32.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_aoi33.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_buf.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkand2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkbuf.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkicgand.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkicgor.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkinv.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkmux2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkmux4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clknand2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clknor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkor4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_clkxor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_csa32.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_csa42.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_decap.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_delay.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffnq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffrq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffrqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffsq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dffsqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux5.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux6.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux7.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dmux8.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_drsync.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_dsync.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_footer.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_header.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_iddr.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_inv.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_isohi.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_isolo.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_keeper.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_latnq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_latq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_mux2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_mux3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_mux4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_muxi2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_muxi3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_muxi4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nand2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nand3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nand4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nor3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_nor4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa21.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa211.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa22.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa221.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa222.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa31.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa311.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa32.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oa33.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai21.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai22.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai221.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai222.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai31.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai311.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai32.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oai33.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_oddr.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_or2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_or3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_or4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_pwrbuf.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_rsync.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffrq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffrqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffsq.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_sdffsqn.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_tbuf.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_tiehi.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_tielo.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xnor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xnor3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xnor4.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xor2.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xor3.v (100%) rename {stdlib => lambdalib/stdlib}/rtl/la_xor4.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_eth.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_gpio.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_i2c.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_jtag.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_qspi.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_sd.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_spi.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_uart.v (100%) rename {syslib => lambdalib/syslib}/rtl/la_usb.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vbuf.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vinv.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_visohi.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_visolo.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux2.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux3.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux4.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux5.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux6.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux7.v (100%) rename {vectorlib => lambdalib/vectorlib}/rtl/la_vmux8.v (100%) create mode 100644 pyproject.toml create mode 100644 tests/test_local_detect.py create mode 100644 tests/test_paths.py create mode 100644 tests/test_setup.py diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..1c24b0c --- /dev/null +++ b/.flake8 @@ -0,0 +1,4 @@ +[flake8] +max-line-length = 100 +extend-exclude = build +extend-ignore = diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9b2e058 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI +on: + # Runs on all pushes to branches + push: + # Runs on all PRs + pull_request: + # Manual Dispatch + workflow_dispatch: + +jobs: + lint_python: + name: Lint Python Code + runs-on: ubuntu-latest + steps: + - name: Check out Git repository + uses: actions/checkout@v4 + - name: Lint with Flake8 + run: | + pip install --upgrade pip + pip install .[dev] + flake8 --statistics . + + check_paths: + name: Run CI + runs-on: ubuntu-latest + steps: + - name: Check out Git repository + uses: actions/checkout@v4 + - name: Run tests + run: | + pip install --upgrade pip + pip install -e .[dev] + pytest diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml new file mode 100644 index 0000000..d9e86b7 --- /dev/null +++ b/.github/workflows/wheels.yml @@ -0,0 +1,50 @@ +name: Wheels + +on: + workflow_dispatch: + push: + release: + types: + - published + +jobs: + build_wheels: + name: Wheels lambdalib + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: hynek/build-and-inspect-python-package@v1 + + publish: + needs: [build_wheels] + runs-on: ubuntu-latest + permissions: + id-token: write + if: github.event_name == 'release' && github.event.action == 'published' + + steps: + - uses: actions/download-artifact@v3 + with: + name: Packages + path: dist + + - name: Publish + uses: pypa/gh-action-pypi-publish@v1.8.11 + + save: + needs: [publish] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v3 + with: + name: Packages + path: dist + + - name: Add wheels to GitHub release artifacts + uses: softprops/action-gh-release@v1 + with: + files: dist/*.whl diff --git a/.gitignore b/.gitignore index 7b98d1c..4ebccc5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,6 @@ a.out # Byte-compiled / optimized / DLL files __pycache__/ +lambdalib.egg-info/ +build/ +dist/ diff --git a/lambdalib/__init__.py b/lambdalib/__init__.py new file mode 100644 index 0000000..2af3aaa --- /dev/null +++ b/lambdalib/__init__.py @@ -0,0 +1,22 @@ +import os +import pkg_resources +try: + __version__ = pkg_resources.get_distribution('lambdalib').version +except: # noqa E722 + __version__ = None + + +def register_data_source(chip): + # check if local + root_path = os.path.dirname(os.path.dirname(__file__)) + test_path = os.path.join(root_path, 'lambdalib', 'iolib', 'rtl', 'la_ioanalog.v') + if os.path.exists(test_path): + path = root_path + ref = None + else: + path = 'git+https://github.com/siliconcompiler/lambdalib.git' + ref = f'v{__version__}' + + chip.register_package_source(name='lambdalib', + path=path, + ref=ref) diff --git a/iolib/rtl/la_ioanalog.v b/lambdalib/iolib/rtl/la_ioanalog.v similarity index 100% rename from iolib/rtl/la_ioanalog.v rename to lambdalib/iolib/rtl/la_ioanalog.v diff --git a/iolib/rtl/la_iobidir.v b/lambdalib/iolib/rtl/la_iobidir.v similarity index 100% rename from iolib/rtl/la_iobidir.v rename to lambdalib/iolib/rtl/la_iobidir.v diff --git a/iolib/rtl/la_ioclamp.v b/lambdalib/iolib/rtl/la_ioclamp.v similarity index 100% rename from iolib/rtl/la_ioclamp.v rename to lambdalib/iolib/rtl/la_ioclamp.v diff --git a/iolib/rtl/la_iocorner.v b/lambdalib/iolib/rtl/la_iocorner.v similarity index 100% rename from iolib/rtl/la_iocorner.v rename to lambdalib/iolib/rtl/la_iocorner.v diff --git a/iolib/rtl/la_iocut.v b/lambdalib/iolib/rtl/la_iocut.v similarity index 100% rename from iolib/rtl/la_iocut.v rename to lambdalib/iolib/rtl/la_iocut.v diff --git a/iolib/rtl/la_ioinput.v b/lambdalib/iolib/rtl/la_ioinput.v similarity index 100% rename from iolib/rtl/la_ioinput.v rename to lambdalib/iolib/rtl/la_ioinput.v diff --git a/iolib/rtl/la_iopoc.v b/lambdalib/iolib/rtl/la_iopoc.v similarity index 100% rename from iolib/rtl/la_iopoc.v rename to lambdalib/iolib/rtl/la_iopoc.v diff --git a/iolib/rtl/la_ioshort.v b/lambdalib/iolib/rtl/la_ioshort.v similarity index 100% rename from iolib/rtl/la_ioshort.v rename to lambdalib/iolib/rtl/la_ioshort.v diff --git a/iolib/rtl/la_iovdd.v b/lambdalib/iolib/rtl/la_iovdd.v similarity index 100% rename from iolib/rtl/la_iovdd.v rename to lambdalib/iolib/rtl/la_iovdd.v diff --git a/iolib/rtl/la_iovdda.v b/lambdalib/iolib/rtl/la_iovdda.v similarity index 100% rename from iolib/rtl/la_iovdda.v rename to lambdalib/iolib/rtl/la_iovdda.v diff --git a/iolib/rtl/la_iovddio.v b/lambdalib/iolib/rtl/la_iovddio.v similarity index 100% rename from iolib/rtl/la_iovddio.v rename to lambdalib/iolib/rtl/la_iovddio.v diff --git a/iolib/rtl/la_iovss.v b/lambdalib/iolib/rtl/la_iovss.v similarity index 100% rename from iolib/rtl/la_iovss.v rename to lambdalib/iolib/rtl/la_iovss.v diff --git a/iolib/rtl/la_iovssa.v b/lambdalib/iolib/rtl/la_iovssa.v similarity index 100% rename from iolib/rtl/la_iovssa.v rename to lambdalib/iolib/rtl/la_iovssa.v diff --git a/iolib/rtl/la_iovssio.v b/lambdalib/iolib/rtl/la_iovssio.v similarity index 100% rename from iolib/rtl/la_iovssio.v rename to lambdalib/iolib/rtl/la_iovssio.v diff --git a/iolib/rtl/la_ioxtal.v b/lambdalib/iolib/rtl/la_ioxtal.v similarity index 100% rename from iolib/rtl/la_ioxtal.v rename to lambdalib/iolib/rtl/la_ioxtal.v diff --git a/iolib/rtl/la_pt.v b/lambdalib/iolib/rtl/la_pt.v similarity index 100% rename from iolib/rtl/la_pt.v rename to lambdalib/iolib/rtl/la_pt.v diff --git a/lambdalib/lambdalib.py b/lambdalib/lambdalib.py index 69a0884..584dedd 100644 --- a/lambdalib/lambdalib.py +++ b/lambdalib/lambdalib.py @@ -1,22 +1,37 @@ -import siliconcompiler +from lambdalib import register_data_source +from siliconcompiler import Library import os + ######################## # SiliconCompiler Setup ######################## - -def setup(target=None): +def setup(chip): '''Lambdalib library setup script''' - # Create chip object - chip = siliconcompiler.Chip('lambdalib') - # Project sources - root = os.path.realpath(os.path.join(os.path.dirname(__file__), '..')) + root = os.path.dirname(__file__) + + dependencies = { + 'iolib': ['stdlib'], + 'stdlib': [], + 'ramlib': ['stdlib'], + 'padring': ['stdlib'], + 'syslib': ['stdlib'], + 'vectorlib': ['stdlib'] + } + register_data_source(chip) + + libs = [] # Iterate over all libs - for item in ['iolib', 'stdlib', 'ramlib', 'padring']: - chip.add('option', 'ydir', f"{root}/{item}/rtl") - chip.add('option', 'idir', f"{root}/{item}/rtl") + for name, dep in dependencies.items(): + lib = Library(chip, f'la_{name}', package='lambdalib') + + for path in [name, *dep]: + lib.add('option', 'ydir', f"{root}/{path}/rtl") + lib.add('option', 'idir', f"{root}/{path}/rtl") + + libs.append(lib) - return chip + return libs diff --git a/padring/floorplan/la_iopadring.py b/lambdalib/padring/floorplan/la_iopadring.py similarity index 90% rename from padring/floorplan/la_iopadring.py rename to lambdalib/padring/floorplan/la_iopadring.py index 282ce35..cad43a3 100644 --- a/padring/floorplan/la_iopadring.py +++ b/lambdalib/padring/floorplan/la_iopadring.py @@ -1,5 +1,4 @@ import os -import re import siliconcompiler @@ -15,5 +14,5 @@ chip.add('option', 'ydir', f'{root}/submodules/openpdks/pdks/sky130/libs/sky130io/bb') chip.set('option', 'relax', True) chip.set('option', 'steplist', ['import', 'syn', 'floorplan']) -chip.set('asic', 'diearea', [(0,0), (2000,2000)]) +chip.set('asic', 'diearea', [(0, 0), (2000, 2000)]) chip.run() diff --git a/padring/padring.py b/lambdalib/padring/padring.py similarity index 100% rename from padring/padring.py rename to lambdalib/padring/padring.py index 4ee89cd..9b11b9c 100644 --- a/padring/padring.py +++ b/lambdalib/padring/padring.py @@ -1,10 +1,10 @@ import siliconcompiler import os + ######################## # SiliconCompiler Setup ######################## - def setup(target=None): '''Lambdalib Padring Setup''' diff --git a/padring/rtl/la_iopadring.v b/lambdalib/padring/rtl/la_iopadring.v similarity index 100% rename from padring/rtl/la_iopadring.v rename to lambdalib/padring/rtl/la_iopadring.v diff --git a/padring/rtl/la_iopadring.vh b/lambdalib/padring/rtl/la_iopadring.vh similarity index 100% rename from padring/rtl/la_iopadring.vh rename to lambdalib/padring/rtl/la_iopadring.vh diff --git a/padring/rtl/la_ioside.v b/lambdalib/padring/rtl/la_ioside.v similarity index 100% rename from padring/rtl/la_ioside.v rename to lambdalib/padring/rtl/la_ioside.v diff --git a/padring/testbench/build.sh b/lambdalib/padring/testbench/build.sh similarity index 100% rename from padring/testbench/build.sh rename to lambdalib/padring/testbench/build.sh diff --git a/padring/testbench/tb_la_iopadring.v b/lambdalib/padring/testbench/tb_la_iopadring.v similarity index 100% rename from padring/testbench/tb_la_iopadring.v rename to lambdalib/padring/testbench/tb_la_iopadring.v diff --git a/ramlib/rtl/la_asyncfifo.v b/lambdalib/ramlib/rtl/la_asyncfifo.v similarity index 100% rename from ramlib/rtl/la_asyncfifo.v rename to lambdalib/ramlib/rtl/la_asyncfifo.v diff --git a/ramlib/rtl/la_dpram.v b/lambdalib/ramlib/rtl/la_dpram.v similarity index 100% rename from ramlib/rtl/la_dpram.v rename to lambdalib/ramlib/rtl/la_dpram.v diff --git a/ramlib/rtl/la_spram.v b/lambdalib/ramlib/rtl/la_spram.v similarity index 100% rename from ramlib/rtl/la_spram.v rename to lambdalib/ramlib/rtl/la_spram.v diff --git a/ramlib/rtl/la_spregfile.v b/lambdalib/ramlib/rtl/la_spregfile.v similarity index 100% rename from ramlib/rtl/la_spregfile.v rename to lambdalib/ramlib/rtl/la_spregfile.v diff --git a/ramlib/rtl/la_syncfifo.v b/lambdalib/ramlib/rtl/la_syncfifo.v similarity index 100% rename from ramlib/rtl/la_syncfifo.v rename to lambdalib/ramlib/rtl/la_syncfifo.v diff --git a/stdlib/rtl/la_and2.v b/lambdalib/stdlib/rtl/la_and2.v similarity index 100% rename from stdlib/rtl/la_and2.v rename to lambdalib/stdlib/rtl/la_and2.v diff --git a/stdlib/rtl/la_and3.v b/lambdalib/stdlib/rtl/la_and3.v similarity index 100% rename from stdlib/rtl/la_and3.v rename to lambdalib/stdlib/rtl/la_and3.v diff --git a/stdlib/rtl/la_and4.v b/lambdalib/stdlib/rtl/la_and4.v similarity index 100% rename from stdlib/rtl/la_and4.v rename to lambdalib/stdlib/rtl/la_and4.v diff --git a/stdlib/rtl/la_antenna.v b/lambdalib/stdlib/rtl/la_antenna.v similarity index 100% rename from stdlib/rtl/la_antenna.v rename to lambdalib/stdlib/rtl/la_antenna.v diff --git a/stdlib/rtl/la_ao21.v b/lambdalib/stdlib/rtl/la_ao21.v similarity index 100% rename from stdlib/rtl/la_ao21.v rename to lambdalib/stdlib/rtl/la_ao21.v diff --git a/stdlib/rtl/la_ao211.v b/lambdalib/stdlib/rtl/la_ao211.v similarity index 100% rename from stdlib/rtl/la_ao211.v rename to lambdalib/stdlib/rtl/la_ao211.v diff --git a/stdlib/rtl/la_ao22.v b/lambdalib/stdlib/rtl/la_ao22.v similarity index 100% rename from stdlib/rtl/la_ao22.v rename to lambdalib/stdlib/rtl/la_ao22.v diff --git a/stdlib/rtl/la_ao221.v b/lambdalib/stdlib/rtl/la_ao221.v similarity index 100% rename from stdlib/rtl/la_ao221.v rename to lambdalib/stdlib/rtl/la_ao221.v diff --git a/stdlib/rtl/la_ao222.v b/lambdalib/stdlib/rtl/la_ao222.v similarity index 100% rename from stdlib/rtl/la_ao222.v rename to lambdalib/stdlib/rtl/la_ao222.v diff --git a/stdlib/rtl/la_ao31.v b/lambdalib/stdlib/rtl/la_ao31.v similarity index 100% rename from stdlib/rtl/la_ao31.v rename to lambdalib/stdlib/rtl/la_ao31.v diff --git a/stdlib/rtl/la_ao311.v b/lambdalib/stdlib/rtl/la_ao311.v similarity index 100% rename from stdlib/rtl/la_ao311.v rename to lambdalib/stdlib/rtl/la_ao311.v diff --git a/stdlib/rtl/la_ao32.v b/lambdalib/stdlib/rtl/la_ao32.v similarity index 100% rename from stdlib/rtl/la_ao32.v rename to lambdalib/stdlib/rtl/la_ao32.v diff --git a/stdlib/rtl/la_ao33.v b/lambdalib/stdlib/rtl/la_ao33.v similarity index 100% rename from stdlib/rtl/la_ao33.v rename to lambdalib/stdlib/rtl/la_ao33.v diff --git a/stdlib/rtl/la_aoi21.v b/lambdalib/stdlib/rtl/la_aoi21.v similarity index 100% rename from stdlib/rtl/la_aoi21.v rename to lambdalib/stdlib/rtl/la_aoi21.v diff --git a/stdlib/rtl/la_aoi211.v b/lambdalib/stdlib/rtl/la_aoi211.v similarity index 100% rename from stdlib/rtl/la_aoi211.v rename to lambdalib/stdlib/rtl/la_aoi211.v diff --git a/stdlib/rtl/la_aoi22.v b/lambdalib/stdlib/rtl/la_aoi22.v similarity index 100% rename from stdlib/rtl/la_aoi22.v rename to lambdalib/stdlib/rtl/la_aoi22.v diff --git a/stdlib/rtl/la_aoi221.v b/lambdalib/stdlib/rtl/la_aoi221.v similarity index 100% rename from stdlib/rtl/la_aoi221.v rename to lambdalib/stdlib/rtl/la_aoi221.v diff --git a/stdlib/rtl/la_aoi222.v b/lambdalib/stdlib/rtl/la_aoi222.v similarity index 100% rename from stdlib/rtl/la_aoi222.v rename to lambdalib/stdlib/rtl/la_aoi222.v diff --git a/stdlib/rtl/la_aoi31.v b/lambdalib/stdlib/rtl/la_aoi31.v similarity index 100% rename from stdlib/rtl/la_aoi31.v rename to lambdalib/stdlib/rtl/la_aoi31.v diff --git a/stdlib/rtl/la_aoi311.v b/lambdalib/stdlib/rtl/la_aoi311.v similarity index 100% rename from stdlib/rtl/la_aoi311.v rename to lambdalib/stdlib/rtl/la_aoi311.v diff --git a/stdlib/rtl/la_aoi32.v b/lambdalib/stdlib/rtl/la_aoi32.v similarity index 100% rename from stdlib/rtl/la_aoi32.v rename to lambdalib/stdlib/rtl/la_aoi32.v diff --git a/stdlib/rtl/la_aoi33.v b/lambdalib/stdlib/rtl/la_aoi33.v similarity index 100% rename from stdlib/rtl/la_aoi33.v rename to lambdalib/stdlib/rtl/la_aoi33.v diff --git a/stdlib/rtl/la_buf.v b/lambdalib/stdlib/rtl/la_buf.v similarity index 100% rename from stdlib/rtl/la_buf.v rename to lambdalib/stdlib/rtl/la_buf.v diff --git a/stdlib/rtl/la_clkand2.v b/lambdalib/stdlib/rtl/la_clkand2.v similarity index 100% rename from stdlib/rtl/la_clkand2.v rename to lambdalib/stdlib/rtl/la_clkand2.v diff --git a/stdlib/rtl/la_clkbuf.v b/lambdalib/stdlib/rtl/la_clkbuf.v similarity index 100% rename from stdlib/rtl/la_clkbuf.v rename to lambdalib/stdlib/rtl/la_clkbuf.v diff --git a/stdlib/rtl/la_clkicgand.v b/lambdalib/stdlib/rtl/la_clkicgand.v similarity index 100% rename from stdlib/rtl/la_clkicgand.v rename to lambdalib/stdlib/rtl/la_clkicgand.v diff --git a/stdlib/rtl/la_clkicgor.v b/lambdalib/stdlib/rtl/la_clkicgor.v similarity index 100% rename from stdlib/rtl/la_clkicgor.v rename to lambdalib/stdlib/rtl/la_clkicgor.v diff --git a/stdlib/rtl/la_clkinv.v b/lambdalib/stdlib/rtl/la_clkinv.v similarity index 100% rename from stdlib/rtl/la_clkinv.v rename to lambdalib/stdlib/rtl/la_clkinv.v diff --git a/stdlib/rtl/la_clkmux2.v b/lambdalib/stdlib/rtl/la_clkmux2.v similarity index 100% rename from stdlib/rtl/la_clkmux2.v rename to lambdalib/stdlib/rtl/la_clkmux2.v diff --git a/stdlib/rtl/la_clkmux4.v b/lambdalib/stdlib/rtl/la_clkmux4.v similarity index 100% rename from stdlib/rtl/la_clkmux4.v rename to lambdalib/stdlib/rtl/la_clkmux4.v diff --git a/stdlib/rtl/la_clknand2.v b/lambdalib/stdlib/rtl/la_clknand2.v similarity index 100% rename from stdlib/rtl/la_clknand2.v rename to lambdalib/stdlib/rtl/la_clknand2.v diff --git a/stdlib/rtl/la_clknor2.v b/lambdalib/stdlib/rtl/la_clknor2.v similarity index 100% rename from stdlib/rtl/la_clknor2.v rename to lambdalib/stdlib/rtl/la_clknor2.v diff --git a/stdlib/rtl/la_clkor2.v b/lambdalib/stdlib/rtl/la_clkor2.v similarity index 100% rename from stdlib/rtl/la_clkor2.v rename to lambdalib/stdlib/rtl/la_clkor2.v diff --git a/stdlib/rtl/la_clkor4.v b/lambdalib/stdlib/rtl/la_clkor4.v similarity index 100% rename from stdlib/rtl/la_clkor4.v rename to lambdalib/stdlib/rtl/la_clkor4.v diff --git a/stdlib/rtl/la_clkxor2.v b/lambdalib/stdlib/rtl/la_clkxor2.v similarity index 100% rename from stdlib/rtl/la_clkxor2.v rename to lambdalib/stdlib/rtl/la_clkxor2.v diff --git a/stdlib/rtl/la_csa32.v b/lambdalib/stdlib/rtl/la_csa32.v similarity index 100% rename from stdlib/rtl/la_csa32.v rename to lambdalib/stdlib/rtl/la_csa32.v diff --git a/stdlib/rtl/la_csa42.v b/lambdalib/stdlib/rtl/la_csa42.v similarity index 100% rename from stdlib/rtl/la_csa42.v rename to lambdalib/stdlib/rtl/la_csa42.v diff --git a/stdlib/rtl/la_decap.v b/lambdalib/stdlib/rtl/la_decap.v similarity index 100% rename from stdlib/rtl/la_decap.v rename to lambdalib/stdlib/rtl/la_decap.v diff --git a/stdlib/rtl/la_delay.v b/lambdalib/stdlib/rtl/la_delay.v similarity index 100% rename from stdlib/rtl/la_delay.v rename to lambdalib/stdlib/rtl/la_delay.v diff --git a/stdlib/rtl/la_dffnq.v b/lambdalib/stdlib/rtl/la_dffnq.v similarity index 100% rename from stdlib/rtl/la_dffnq.v rename to lambdalib/stdlib/rtl/la_dffnq.v diff --git a/stdlib/rtl/la_dffq.v b/lambdalib/stdlib/rtl/la_dffq.v similarity index 100% rename from stdlib/rtl/la_dffq.v rename to lambdalib/stdlib/rtl/la_dffq.v diff --git a/stdlib/rtl/la_dffqn.v b/lambdalib/stdlib/rtl/la_dffqn.v similarity index 100% rename from stdlib/rtl/la_dffqn.v rename to lambdalib/stdlib/rtl/la_dffqn.v diff --git a/stdlib/rtl/la_dffrq.v b/lambdalib/stdlib/rtl/la_dffrq.v similarity index 100% rename from stdlib/rtl/la_dffrq.v rename to lambdalib/stdlib/rtl/la_dffrq.v diff --git a/stdlib/rtl/la_dffrqn.v b/lambdalib/stdlib/rtl/la_dffrqn.v similarity index 100% rename from stdlib/rtl/la_dffrqn.v rename to lambdalib/stdlib/rtl/la_dffrqn.v diff --git a/stdlib/rtl/la_dffsq.v b/lambdalib/stdlib/rtl/la_dffsq.v similarity index 100% rename from stdlib/rtl/la_dffsq.v rename to lambdalib/stdlib/rtl/la_dffsq.v diff --git a/stdlib/rtl/la_dffsqn.v b/lambdalib/stdlib/rtl/la_dffsqn.v similarity index 100% rename from stdlib/rtl/la_dffsqn.v rename to lambdalib/stdlib/rtl/la_dffsqn.v diff --git a/stdlib/rtl/la_dmux2.v b/lambdalib/stdlib/rtl/la_dmux2.v similarity index 100% rename from stdlib/rtl/la_dmux2.v rename to lambdalib/stdlib/rtl/la_dmux2.v diff --git a/stdlib/rtl/la_dmux3.v b/lambdalib/stdlib/rtl/la_dmux3.v similarity index 100% rename from stdlib/rtl/la_dmux3.v rename to lambdalib/stdlib/rtl/la_dmux3.v diff --git a/stdlib/rtl/la_dmux4.v b/lambdalib/stdlib/rtl/la_dmux4.v similarity index 100% rename from stdlib/rtl/la_dmux4.v rename to lambdalib/stdlib/rtl/la_dmux4.v diff --git a/stdlib/rtl/la_dmux5.v b/lambdalib/stdlib/rtl/la_dmux5.v similarity index 100% rename from stdlib/rtl/la_dmux5.v rename to lambdalib/stdlib/rtl/la_dmux5.v diff --git a/stdlib/rtl/la_dmux6.v b/lambdalib/stdlib/rtl/la_dmux6.v similarity index 100% rename from stdlib/rtl/la_dmux6.v rename to lambdalib/stdlib/rtl/la_dmux6.v diff --git a/stdlib/rtl/la_dmux7.v b/lambdalib/stdlib/rtl/la_dmux7.v similarity index 100% rename from stdlib/rtl/la_dmux7.v rename to lambdalib/stdlib/rtl/la_dmux7.v diff --git a/stdlib/rtl/la_dmux8.v b/lambdalib/stdlib/rtl/la_dmux8.v similarity index 100% rename from stdlib/rtl/la_dmux8.v rename to lambdalib/stdlib/rtl/la_dmux8.v diff --git a/stdlib/rtl/la_drsync.v b/lambdalib/stdlib/rtl/la_drsync.v similarity index 100% rename from stdlib/rtl/la_drsync.v rename to lambdalib/stdlib/rtl/la_drsync.v diff --git a/stdlib/rtl/la_dsync.v b/lambdalib/stdlib/rtl/la_dsync.v similarity index 100% rename from stdlib/rtl/la_dsync.v rename to lambdalib/stdlib/rtl/la_dsync.v diff --git a/stdlib/rtl/la_footer.v b/lambdalib/stdlib/rtl/la_footer.v similarity index 100% rename from stdlib/rtl/la_footer.v rename to lambdalib/stdlib/rtl/la_footer.v diff --git a/stdlib/rtl/la_header.v b/lambdalib/stdlib/rtl/la_header.v similarity index 100% rename from stdlib/rtl/la_header.v rename to lambdalib/stdlib/rtl/la_header.v diff --git a/stdlib/rtl/la_iddr.v b/lambdalib/stdlib/rtl/la_iddr.v similarity index 100% rename from stdlib/rtl/la_iddr.v rename to lambdalib/stdlib/rtl/la_iddr.v diff --git a/stdlib/rtl/la_inv.v b/lambdalib/stdlib/rtl/la_inv.v similarity index 100% rename from stdlib/rtl/la_inv.v rename to lambdalib/stdlib/rtl/la_inv.v diff --git a/stdlib/rtl/la_isohi.v b/lambdalib/stdlib/rtl/la_isohi.v similarity index 100% rename from stdlib/rtl/la_isohi.v rename to lambdalib/stdlib/rtl/la_isohi.v diff --git a/stdlib/rtl/la_isolo.v b/lambdalib/stdlib/rtl/la_isolo.v similarity index 100% rename from stdlib/rtl/la_isolo.v rename to lambdalib/stdlib/rtl/la_isolo.v diff --git a/stdlib/rtl/la_keeper.v b/lambdalib/stdlib/rtl/la_keeper.v similarity index 100% rename from stdlib/rtl/la_keeper.v rename to lambdalib/stdlib/rtl/la_keeper.v diff --git a/stdlib/rtl/la_latnq.v b/lambdalib/stdlib/rtl/la_latnq.v similarity index 100% rename from stdlib/rtl/la_latnq.v rename to lambdalib/stdlib/rtl/la_latnq.v diff --git a/stdlib/rtl/la_latq.v b/lambdalib/stdlib/rtl/la_latq.v similarity index 100% rename from stdlib/rtl/la_latq.v rename to lambdalib/stdlib/rtl/la_latq.v diff --git a/stdlib/rtl/la_mux2.v b/lambdalib/stdlib/rtl/la_mux2.v similarity index 100% rename from stdlib/rtl/la_mux2.v rename to lambdalib/stdlib/rtl/la_mux2.v diff --git a/stdlib/rtl/la_mux3.v b/lambdalib/stdlib/rtl/la_mux3.v similarity index 100% rename from stdlib/rtl/la_mux3.v rename to lambdalib/stdlib/rtl/la_mux3.v diff --git a/stdlib/rtl/la_mux4.v b/lambdalib/stdlib/rtl/la_mux4.v similarity index 100% rename from stdlib/rtl/la_mux4.v rename to lambdalib/stdlib/rtl/la_mux4.v diff --git a/stdlib/rtl/la_muxi2.v b/lambdalib/stdlib/rtl/la_muxi2.v similarity index 100% rename from stdlib/rtl/la_muxi2.v rename to lambdalib/stdlib/rtl/la_muxi2.v diff --git a/stdlib/rtl/la_muxi3.v b/lambdalib/stdlib/rtl/la_muxi3.v similarity index 100% rename from stdlib/rtl/la_muxi3.v rename to lambdalib/stdlib/rtl/la_muxi3.v diff --git a/stdlib/rtl/la_muxi4.v b/lambdalib/stdlib/rtl/la_muxi4.v similarity index 100% rename from stdlib/rtl/la_muxi4.v rename to lambdalib/stdlib/rtl/la_muxi4.v diff --git a/stdlib/rtl/la_nand2.v b/lambdalib/stdlib/rtl/la_nand2.v similarity index 100% rename from stdlib/rtl/la_nand2.v rename to lambdalib/stdlib/rtl/la_nand2.v diff --git a/stdlib/rtl/la_nand3.v b/lambdalib/stdlib/rtl/la_nand3.v similarity index 100% rename from stdlib/rtl/la_nand3.v rename to lambdalib/stdlib/rtl/la_nand3.v diff --git a/stdlib/rtl/la_nand4.v b/lambdalib/stdlib/rtl/la_nand4.v similarity index 100% rename from stdlib/rtl/la_nand4.v rename to lambdalib/stdlib/rtl/la_nand4.v diff --git a/stdlib/rtl/la_nor2.v b/lambdalib/stdlib/rtl/la_nor2.v similarity index 100% rename from stdlib/rtl/la_nor2.v rename to lambdalib/stdlib/rtl/la_nor2.v diff --git a/stdlib/rtl/la_nor3.v b/lambdalib/stdlib/rtl/la_nor3.v similarity index 100% rename from stdlib/rtl/la_nor3.v rename to lambdalib/stdlib/rtl/la_nor3.v diff --git a/stdlib/rtl/la_nor4.v b/lambdalib/stdlib/rtl/la_nor4.v similarity index 100% rename from stdlib/rtl/la_nor4.v rename to lambdalib/stdlib/rtl/la_nor4.v diff --git a/stdlib/rtl/la_oa21.v b/lambdalib/stdlib/rtl/la_oa21.v similarity index 100% rename from stdlib/rtl/la_oa21.v rename to lambdalib/stdlib/rtl/la_oa21.v diff --git a/stdlib/rtl/la_oa211.v b/lambdalib/stdlib/rtl/la_oa211.v similarity index 100% rename from stdlib/rtl/la_oa211.v rename to lambdalib/stdlib/rtl/la_oa211.v diff --git a/stdlib/rtl/la_oa22.v b/lambdalib/stdlib/rtl/la_oa22.v similarity index 100% rename from stdlib/rtl/la_oa22.v rename to lambdalib/stdlib/rtl/la_oa22.v diff --git a/stdlib/rtl/la_oa221.v b/lambdalib/stdlib/rtl/la_oa221.v similarity index 100% rename from stdlib/rtl/la_oa221.v rename to lambdalib/stdlib/rtl/la_oa221.v diff --git a/stdlib/rtl/la_oa222.v b/lambdalib/stdlib/rtl/la_oa222.v similarity index 100% rename from stdlib/rtl/la_oa222.v rename to lambdalib/stdlib/rtl/la_oa222.v diff --git a/stdlib/rtl/la_oa31.v b/lambdalib/stdlib/rtl/la_oa31.v similarity index 100% rename from stdlib/rtl/la_oa31.v rename to lambdalib/stdlib/rtl/la_oa31.v diff --git a/stdlib/rtl/la_oa311.v b/lambdalib/stdlib/rtl/la_oa311.v similarity index 100% rename from stdlib/rtl/la_oa311.v rename to lambdalib/stdlib/rtl/la_oa311.v diff --git a/stdlib/rtl/la_oa32.v b/lambdalib/stdlib/rtl/la_oa32.v similarity index 100% rename from stdlib/rtl/la_oa32.v rename to lambdalib/stdlib/rtl/la_oa32.v diff --git a/stdlib/rtl/la_oa33.v b/lambdalib/stdlib/rtl/la_oa33.v similarity index 100% rename from stdlib/rtl/la_oa33.v rename to lambdalib/stdlib/rtl/la_oa33.v diff --git a/stdlib/rtl/la_oai21.v b/lambdalib/stdlib/rtl/la_oai21.v similarity index 100% rename from stdlib/rtl/la_oai21.v rename to lambdalib/stdlib/rtl/la_oai21.v diff --git a/stdlib/rtl/la_oai22.v b/lambdalib/stdlib/rtl/la_oai22.v similarity index 100% rename from stdlib/rtl/la_oai22.v rename to lambdalib/stdlib/rtl/la_oai22.v diff --git a/stdlib/rtl/la_oai221.v b/lambdalib/stdlib/rtl/la_oai221.v similarity index 100% rename from stdlib/rtl/la_oai221.v rename to lambdalib/stdlib/rtl/la_oai221.v diff --git a/stdlib/rtl/la_oai222.v b/lambdalib/stdlib/rtl/la_oai222.v similarity index 100% rename from stdlib/rtl/la_oai222.v rename to lambdalib/stdlib/rtl/la_oai222.v diff --git a/stdlib/rtl/la_oai31.v b/lambdalib/stdlib/rtl/la_oai31.v similarity index 100% rename from stdlib/rtl/la_oai31.v rename to lambdalib/stdlib/rtl/la_oai31.v diff --git a/stdlib/rtl/la_oai311.v b/lambdalib/stdlib/rtl/la_oai311.v similarity index 100% rename from stdlib/rtl/la_oai311.v rename to lambdalib/stdlib/rtl/la_oai311.v diff --git a/stdlib/rtl/la_oai32.v b/lambdalib/stdlib/rtl/la_oai32.v similarity index 100% rename from stdlib/rtl/la_oai32.v rename to lambdalib/stdlib/rtl/la_oai32.v diff --git a/stdlib/rtl/la_oai33.v b/lambdalib/stdlib/rtl/la_oai33.v similarity index 100% rename from stdlib/rtl/la_oai33.v rename to lambdalib/stdlib/rtl/la_oai33.v diff --git a/stdlib/rtl/la_oddr.v b/lambdalib/stdlib/rtl/la_oddr.v similarity index 100% rename from stdlib/rtl/la_oddr.v rename to lambdalib/stdlib/rtl/la_oddr.v diff --git a/stdlib/rtl/la_or2.v b/lambdalib/stdlib/rtl/la_or2.v similarity index 100% rename from stdlib/rtl/la_or2.v rename to lambdalib/stdlib/rtl/la_or2.v diff --git a/stdlib/rtl/la_or3.v b/lambdalib/stdlib/rtl/la_or3.v similarity index 100% rename from stdlib/rtl/la_or3.v rename to lambdalib/stdlib/rtl/la_or3.v diff --git a/stdlib/rtl/la_or4.v b/lambdalib/stdlib/rtl/la_or4.v similarity index 100% rename from stdlib/rtl/la_or4.v rename to lambdalib/stdlib/rtl/la_or4.v diff --git a/stdlib/rtl/la_pwrbuf.v b/lambdalib/stdlib/rtl/la_pwrbuf.v similarity index 100% rename from stdlib/rtl/la_pwrbuf.v rename to lambdalib/stdlib/rtl/la_pwrbuf.v diff --git a/stdlib/rtl/la_rsync.v b/lambdalib/stdlib/rtl/la_rsync.v similarity index 100% rename from stdlib/rtl/la_rsync.v rename to lambdalib/stdlib/rtl/la_rsync.v diff --git a/stdlib/rtl/la_sdffq.v b/lambdalib/stdlib/rtl/la_sdffq.v similarity index 100% rename from stdlib/rtl/la_sdffq.v rename to lambdalib/stdlib/rtl/la_sdffq.v diff --git a/stdlib/rtl/la_sdffqn.v b/lambdalib/stdlib/rtl/la_sdffqn.v similarity index 100% rename from stdlib/rtl/la_sdffqn.v rename to lambdalib/stdlib/rtl/la_sdffqn.v diff --git a/stdlib/rtl/la_sdffrq.v b/lambdalib/stdlib/rtl/la_sdffrq.v similarity index 100% rename from stdlib/rtl/la_sdffrq.v rename to lambdalib/stdlib/rtl/la_sdffrq.v diff --git a/stdlib/rtl/la_sdffrqn.v b/lambdalib/stdlib/rtl/la_sdffrqn.v similarity index 100% rename from stdlib/rtl/la_sdffrqn.v rename to lambdalib/stdlib/rtl/la_sdffrqn.v diff --git a/stdlib/rtl/la_sdffsq.v b/lambdalib/stdlib/rtl/la_sdffsq.v similarity index 100% rename from stdlib/rtl/la_sdffsq.v rename to lambdalib/stdlib/rtl/la_sdffsq.v diff --git a/stdlib/rtl/la_sdffsqn.v b/lambdalib/stdlib/rtl/la_sdffsqn.v similarity index 100% rename from stdlib/rtl/la_sdffsqn.v rename to lambdalib/stdlib/rtl/la_sdffsqn.v diff --git a/stdlib/rtl/la_tbuf.v b/lambdalib/stdlib/rtl/la_tbuf.v similarity index 100% rename from stdlib/rtl/la_tbuf.v rename to lambdalib/stdlib/rtl/la_tbuf.v diff --git a/stdlib/rtl/la_tiehi.v b/lambdalib/stdlib/rtl/la_tiehi.v similarity index 100% rename from stdlib/rtl/la_tiehi.v rename to lambdalib/stdlib/rtl/la_tiehi.v diff --git a/stdlib/rtl/la_tielo.v b/lambdalib/stdlib/rtl/la_tielo.v similarity index 100% rename from stdlib/rtl/la_tielo.v rename to lambdalib/stdlib/rtl/la_tielo.v diff --git a/stdlib/rtl/la_xnor2.v b/lambdalib/stdlib/rtl/la_xnor2.v similarity index 100% rename from stdlib/rtl/la_xnor2.v rename to lambdalib/stdlib/rtl/la_xnor2.v diff --git a/stdlib/rtl/la_xnor3.v b/lambdalib/stdlib/rtl/la_xnor3.v similarity index 100% rename from stdlib/rtl/la_xnor3.v rename to lambdalib/stdlib/rtl/la_xnor3.v diff --git a/stdlib/rtl/la_xnor4.v b/lambdalib/stdlib/rtl/la_xnor4.v similarity index 100% rename from stdlib/rtl/la_xnor4.v rename to lambdalib/stdlib/rtl/la_xnor4.v diff --git a/stdlib/rtl/la_xor2.v b/lambdalib/stdlib/rtl/la_xor2.v similarity index 100% rename from stdlib/rtl/la_xor2.v rename to lambdalib/stdlib/rtl/la_xor2.v diff --git a/stdlib/rtl/la_xor3.v b/lambdalib/stdlib/rtl/la_xor3.v similarity index 100% rename from stdlib/rtl/la_xor3.v rename to lambdalib/stdlib/rtl/la_xor3.v diff --git a/stdlib/rtl/la_xor4.v b/lambdalib/stdlib/rtl/la_xor4.v similarity index 100% rename from stdlib/rtl/la_xor4.v rename to lambdalib/stdlib/rtl/la_xor4.v diff --git a/syslib/rtl/la_eth.v b/lambdalib/syslib/rtl/la_eth.v similarity index 100% rename from syslib/rtl/la_eth.v rename to lambdalib/syslib/rtl/la_eth.v diff --git a/syslib/rtl/la_gpio.v b/lambdalib/syslib/rtl/la_gpio.v similarity index 100% rename from syslib/rtl/la_gpio.v rename to lambdalib/syslib/rtl/la_gpio.v diff --git a/syslib/rtl/la_i2c.v b/lambdalib/syslib/rtl/la_i2c.v similarity index 100% rename from syslib/rtl/la_i2c.v rename to lambdalib/syslib/rtl/la_i2c.v diff --git a/syslib/rtl/la_jtag.v b/lambdalib/syslib/rtl/la_jtag.v similarity index 100% rename from syslib/rtl/la_jtag.v rename to lambdalib/syslib/rtl/la_jtag.v diff --git a/syslib/rtl/la_qspi.v b/lambdalib/syslib/rtl/la_qspi.v similarity index 100% rename from syslib/rtl/la_qspi.v rename to lambdalib/syslib/rtl/la_qspi.v diff --git a/syslib/rtl/la_sd.v b/lambdalib/syslib/rtl/la_sd.v similarity index 100% rename from syslib/rtl/la_sd.v rename to lambdalib/syslib/rtl/la_sd.v diff --git a/syslib/rtl/la_spi.v b/lambdalib/syslib/rtl/la_spi.v similarity index 100% rename from syslib/rtl/la_spi.v rename to lambdalib/syslib/rtl/la_spi.v diff --git a/syslib/rtl/la_uart.v b/lambdalib/syslib/rtl/la_uart.v similarity index 100% rename from syslib/rtl/la_uart.v rename to lambdalib/syslib/rtl/la_uart.v diff --git a/syslib/rtl/la_usb.v b/lambdalib/syslib/rtl/la_usb.v similarity index 100% rename from syslib/rtl/la_usb.v rename to lambdalib/syslib/rtl/la_usb.v diff --git a/vectorlib/rtl/la_vbuf.v b/lambdalib/vectorlib/rtl/la_vbuf.v similarity index 100% rename from vectorlib/rtl/la_vbuf.v rename to lambdalib/vectorlib/rtl/la_vbuf.v diff --git a/vectorlib/rtl/la_vinv.v b/lambdalib/vectorlib/rtl/la_vinv.v similarity index 100% rename from vectorlib/rtl/la_vinv.v rename to lambdalib/vectorlib/rtl/la_vinv.v diff --git a/vectorlib/rtl/la_visohi.v b/lambdalib/vectorlib/rtl/la_visohi.v similarity index 100% rename from vectorlib/rtl/la_visohi.v rename to lambdalib/vectorlib/rtl/la_visohi.v diff --git a/vectorlib/rtl/la_visolo.v b/lambdalib/vectorlib/rtl/la_visolo.v similarity index 100% rename from vectorlib/rtl/la_visolo.v rename to lambdalib/vectorlib/rtl/la_visolo.v diff --git a/vectorlib/rtl/la_vmux.v b/lambdalib/vectorlib/rtl/la_vmux.v similarity index 100% rename from vectorlib/rtl/la_vmux.v rename to lambdalib/vectorlib/rtl/la_vmux.v diff --git a/vectorlib/rtl/la_vmux2.v b/lambdalib/vectorlib/rtl/la_vmux2.v similarity index 100% rename from vectorlib/rtl/la_vmux2.v rename to lambdalib/vectorlib/rtl/la_vmux2.v diff --git a/vectorlib/rtl/la_vmux3.v b/lambdalib/vectorlib/rtl/la_vmux3.v similarity index 100% rename from vectorlib/rtl/la_vmux3.v rename to lambdalib/vectorlib/rtl/la_vmux3.v diff --git a/vectorlib/rtl/la_vmux4.v b/lambdalib/vectorlib/rtl/la_vmux4.v similarity index 100% rename from vectorlib/rtl/la_vmux4.v rename to lambdalib/vectorlib/rtl/la_vmux4.v diff --git a/vectorlib/rtl/la_vmux5.v b/lambdalib/vectorlib/rtl/la_vmux5.v similarity index 100% rename from vectorlib/rtl/la_vmux5.v rename to lambdalib/vectorlib/rtl/la_vmux5.v diff --git a/vectorlib/rtl/la_vmux6.v b/lambdalib/vectorlib/rtl/la_vmux6.v similarity index 100% rename from vectorlib/rtl/la_vmux6.v rename to lambdalib/vectorlib/rtl/la_vmux6.v diff --git a/vectorlib/rtl/la_vmux7.v b/lambdalib/vectorlib/rtl/la_vmux7.v similarity index 100% rename from vectorlib/rtl/la_vmux7.v rename to lambdalib/vectorlib/rtl/la_vmux7.v diff --git a/vectorlib/rtl/la_vmux8.v b/lambdalib/vectorlib/rtl/la_vmux8.v similarity index 100% rename from vectorlib/rtl/la_vmux8.v rename to lambdalib/vectorlib/rtl/la_vmux8.v diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e9a917b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,37 @@ +[build-system] +requires = [ + "setuptools >= 61.2", + "setuptools_scm[toml] >= 6.2" +] +build-backend = "setuptools.build_meta" + +[tool.setuptools] +include-package-data = false +packages = [ + "lambdalib" +] + +[project] +name = "lambdalib" +authors = [{name = "Zero ASIC"}] +description = "Standardized ASIC design libraries" +readme = "README.md" +urls = {Homepage = "https://github.com/siliconcompiler/lambdalib"} +requires-python = ">= 3.8" +license = {file = "LICENSE"} +dependencies = [ + "siliconcompiler >= 0.17.0" +] +version = "0.1.0" + +[tool.pytest.ini_options] +testpaths = "tests" +timeout = "60" + +[project.optional-dependencies] +# Dev dependencies. +dev = [ + "flake8 >= 5.0.0", + "pytest >= 6.2.4", + "pytest-timeout >= 2.1.0" +] diff --git a/tests/test_local_detect.py b/tests/test_local_detect.py new file mode 100644 index 0000000..dd115ec --- /dev/null +++ b/tests/test_local_detect.py @@ -0,0 +1,8 @@ +from siliconcompiler import Chip +from lambdalib import register_data_source + + +def test_local_install_detection(): + chip = Chip('') + register_data_source(chip) + assert 'git+https' not in chip.get('package', 'source', 'lambdalib', 'path') diff --git a/tests/test_paths.py b/tests/test_paths.py new file mode 100644 index 0000000..03eb55d --- /dev/null +++ b/tests/test_paths.py @@ -0,0 +1,9 @@ +from siliconcompiler import Chip + +from lambdalib import lambdalib + + +def test_pdk_paths(): + chip = Chip('') + chip.use(lambdalib) + assert chip.check_filepaths() diff --git a/tests/test_setup.py b/tests/test_setup.py new file mode 100644 index 0000000..7ba48cb --- /dev/null +++ b/tests/test_setup.py @@ -0,0 +1,24 @@ +from siliconcompiler import Chip + +from lambdalib import lambdalib + + +def test_setup_without_depencency(): + chip = Chip('') + chip.use(lambdalib) + + assert 'la_stdlib' in chip.getkeys('library') + + assert len(chip.get('library', 'la_stdlib', 'option', 'ydir')) == 1 + + +def test_setup_with_depencency(): + chip = Chip('') + chip.use(lambdalib) + + assert 'la_stdlib' in chip.getkeys('library') + assert 'la_iolib' in chip.getkeys('library') + assert 'la_ramlib' in chip.getkeys('library') + + assert len(chip.get('library', 'la_iolib', 'option', 'ydir')) == 2 + assert len(chip.get('library', 'la_ramlib', 'option', 'ydir')) == 2