From dd06c8a68f593b641d71bd19e0f6abd9be3c9a6a Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 13:23:10 -0800 Subject: [PATCH 01/90] Bump boom --- generators/boom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/boom b/generators/boom index 98487c68..a9c94485 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 98487c68cc4229cd991eac6a4f94d2fe8e5fdc1d +Subproject commit a9c944859d4ff5b934e2ddc092bf22cb283b9bf4 From 61654456e691d9602cc8effb158d9a4a90f036ee Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 13:24:14 -0800 Subject: [PATCH 02/90] Bump spike --- generators/chipyard/src/main/resources/csrc/spiketile.cc | 4 ++-- toolchains/riscv-tools/riscv-isa-sim | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/generators/chipyard/src/main/resources/csrc/spiketile.cc b/generators/chipyard/src/main/resources/csrc/spiketile.cc index 06b57ab3..bedc41f3 100644 --- a/generators/chipyard/src/main/resources/csrc/spiketile.cc +++ b/generators/chipyard/src/main/resources/csrc/spiketile.cc @@ -260,11 +260,11 @@ extern "C" void spike_tile(int hartid, char* isa, "vlen:128,elen:64", false, endianness_little, - false, pmpregions, std::vector(), std::vector(), - false); + false, + 0); processor_t* p = new processor_t(isa_parser, cfg, simif, diff --git a/toolchains/riscv-tools/riscv-isa-sim b/toolchains/riscv-tools/riscv-isa-sim index 0eec0c91..e2a364ad 160000 --- a/toolchains/riscv-tools/riscv-isa-sim +++ b/toolchains/riscv-tools/riscv-isa-sim @@ -1 +1 @@ -Subproject commit 0eec0c911933ccc722d4b4479a6c4b8ac68f2f52 +Subproject commit e2a364adfd65488623e4cb23e7dde43a52f66c30 From e33102ac0865944998d1b4633a7444a9b5e14352 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 13:25:19 -0800 Subject: [PATCH 03/90] Add spike-based cosim --- .../src/main/resources/csrc/cospike.cc | 241 ++++++++++++++++++ .../src/main/resources/vsrc/cospike.v | 78 ++++++ .../chipyard/src/main/scala/Cospike.scala | 104 ++++++++ .../chipyard/src/main/scala/DigitalTop.scala | 1 + .../src/main/scala/HarnessBinders.scala | 9 +- .../src/main/scala/config/BoomConfigs.scala | 6 + 6 files changed, 438 insertions(+), 1 deletion(-) create mode 100644 generators/chipyard/src/main/resources/csrc/cospike.cc create mode 100644 generators/chipyard/src/main/resources/vsrc/cospike.v create mode 100644 generators/chipyard/src/main/scala/Cospike.scala diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc new file mode 100644 index 00000000..2f6e7490 --- /dev/null +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -0,0 +1,241 @@ +#include +#include +#include +#include +#include +#include +#include + +typedef struct system_info_t { + std::string isa; + int pmpregions; + uint64_t mem0_base; + uint64_t mem0_size; + int nharts; + std::vector bootrom; +}; + +system_info_t* info = NULL; +sim_t* sim = NULL; +reg_t tohost_addr = 0; +reg_t fromhost_addr = 0; +std::set magic_addrs; +cfg_t* cfg; + +static std::vector> make_mems(const std::vector &layout) +{ + std::vector> mems; + mems.reserve(layout.size()); + for (const auto &cfg : layout) { + mems.push_back(std::make_pair(cfg.get_base(), new mem_t(cfg.get_size()))); + } + return mems; +} + +extern "C" void cospike_set_sysinfo(char* isa, int pmpregions, + long long int mem0_base, long long int mem0_size, + int nharts, + char* bootrom + ) { + if (!info) { + info = new system_info_t; + info->isa = std::string(isa); + info->pmpregions = pmpregions; + info->mem0_base = mem0_base; + info->mem0_size = mem0_size; + info->nharts = nharts; + std::stringstream ss(bootrom); + std::string s; + while (ss >> s) { + info->bootrom.push_back(std::stoi(s)); + } + } +} + +extern "C" void cospike_cosim(long long int cycle, + long long int hartid, + int has_wdata, + int valid, + long long int iaddr, + unsigned long int insn, + int exception, + int interrupt, + unsigned long long int cause, + unsigned long long int wdata) +{ + assert(info); + if (!sim) { + printf("Configuring spike cosim\n"); + std::vector mem_cfg; + std::vector hartids; + mem_cfg.push_back(mem_cfg_t(info->mem0_base, info->mem0_size)); + for (int i = 0; i < info->nharts; i++) + hartids.push_back(i); + + cfg = new cfg_t(std::make_pair(0, 0), + nullptr, + info->isa.c_str(), + "MSU", + "vlen:128,elen:64", + false, + endianness_little, + info->pmpregions, + mem_cfg, + hartids, + false, + 0 + ); + + std::vector> mems = make_mems(cfg->mem_layout()); + rom_device_t *boot_rom = new rom_device_t(info->bootrom); + mem_t *boot_addr_reg = new mem_t(0x1000); + uint64_t default_boot_addr = 0x80000000; + std::vector> plugin_devices; + boot_addr_reg->store(0, 8, (const uint8_t*)(&default_boot_addr)); + plugin_devices.push_back(std::pair(0x10000, boot_rom)); + plugin_devices.push_back(std::pair(0x4000, boot_addr_reg)); + + s_vpi_vlog_info vinfo; + if (!vpi_get_vlog_info(&vinfo)) + abort(); + std::vector htif_args; + bool in_permissive = false; + bool cospike_debug = false; + for (int i = 1; i < vinfo.argc; i++) { + std::string arg(vinfo.argv[i]); + if (arg == "+permissive") { + in_permissive = true; + } else if (arg == "+permissive-off") { + in_permissive = false; + } else if (arg == "+cospike_debug") { + cospike_debug = true; + } else if (!in_permissive) { + htif_args.push_back(arg); + } + } + + debug_module_config_t dm_config = { + .progbufsize = 2, + .max_sba_data_width = 0, + .require_authentication = false, + .abstract_rti = 0, + .support_hasel = true, + .support_abstract_csr_access = true, + .support_abstract_fpr_access = true, + .support_haltgroups = true, + .support_impebreak = true + }; + + printf("%s\n", info->isa.c_str()); + for (int i = 0; i < htif_args.size(); i++) { + printf("%s\n", htif_args[i].c_str()); + } + + sim = new sim_t(cfg, false, + mems, + plugin_devices, + htif_args, + dm_config, + nullptr, + false, + nullptr, + false, + nullptr + ); + + sim->configure_log(true, true); + // Use our own reset vector + for (int i = 0; i < info->nharts; i++) { + sim->get_core(hartid)->get_state()->pc = 0x10040; + } + sim->set_debug(cospike_debug); + printf("Setting up htif for spike cosim\n"); + ((htif_t*)sim)->start(); + printf("Spike cosim started\n"); + tohost_addr = ((htif_t*)sim)->get_tohost_addr(); + fromhost_addr = ((htif_t*)sim)->get_fromhost_addr(); + printf("Tohost : %lx\n", tohost_addr); + printf("Fromhost: %lx\n", fromhost_addr); + } + + processor_t* p = sim->get_core(hartid); + state_t* s = p->get_state(); + uint64_t s_pc = s->pc; + if (interrupt) { + printf("%d interrupt %lx\n", cycle, cause); + uint64_t interrupt_cause = cause & 0x7FFFFFFFFFFFFFFF; + if (interrupt_cause == 3) { + s->mip->backdoor_write_with_mask(MIP_MSIP, MIP_MSIP); + } else { + printf("Unknown interrupt %lx\n", interrupt_cause); + } + } + if (exception) + printf("%d exception %lx\n", cycle, cause); + if (valid) { + printf("%d Cosim: %lx", cycle, iaddr); + if (has_wdata) { + printf(" %lx", wdata); + } + printf("\n"); + } + if (valid || interrupt || exception) + p->step(1); + + if (valid) { + if (s_pc != iaddr) { + printf("%d PC mismatch %lx != %lx\n", cycle, s_pc, iaddr); + exit(1); + } + + // Try to remember magic_mem addrs, and ignore these in the future + auto& mem_write = s->log_mem_write; + if (!mem_write.empty() && tohost_addr && std::get<0>(mem_write[0]) == tohost_addr) { + reg_t wdata = std::get<1>(mem_write[0]); + if (wdata >= info->mem0_base && wdata < (info->mem0_base + info->mem0_size)) { + printf("Probable magic mem %x\n", wdata); + magic_addrs.insert(wdata); + } + } + + if (has_wdata) { + auto& log = s->log_reg_write; + auto& mem_read = s->log_mem_read; + + for (auto regwrite : log) { + int rd = regwrite.first >> 4; + int type = regwrite.first & 0xf; + // 0 => int + // 1 => fp + // 2 => vec + // 3 => vec hint + // 4 => csr + if ((rd != 0 && type == 0) || type == 1) { + // Override reads from some CSRs + if ((insn & 0xfff0007f) == 0xf1300073 || // mimpid + (insn & 0xfff0007f) == 0xf1200073 || // marchid + (insn & 0xfff0007f) == 0xf1100073 || // mvendorid + (insn & 0xfff0007f) == 0xb0000073 || // mcycle + (insn & 0xfff0007f) == 0xb0200073 // minstret + ) { + printf("CSR override\n"); + s->XPR.write(rd, wdata); + } else if (!mem_read.empty() && + ((magic_addrs.count(std::get<0>(mem_read[0])) || + tohost_addr && std::get<0>(mem_read[0]) == tohost_addr) || + (fromhost_addr && std::get<0>(mem_read[0]) == fromhost_addr))) { + // Don't check reads from tohost, or reads from magic memory + // Technically this could be buggy because log_mem_read only reports vaddrs, but + // no software ever should access tohost/fromhost with vaddrs anyways + printf("To/From host read override\n"); + s->XPR.write(rd, wdata); + } else if (wdata != regwrite.second.v[0]) { + printf("%d wdata mismatch reg %d %lx != %lx\n", cycle, rd, regwrite.second.v[0], wdata); + exit(1); + } + } + } + } + } +} +// } diff --git a/generators/chipyard/src/main/resources/vsrc/cospike.v b/generators/chipyard/src/main/resources/vsrc/cospike.v new file mode 100644 index 00000000..26050675 --- /dev/null +++ b/generators/chipyard/src/main/resources/vsrc/cospike.v @@ -0,0 +1,78 @@ +import "DPI-C" function void cospike_set_sysinfo( + input string isa, + input int pmpregions, + input longint mem0_base, + input longint mem0_size, + input int nharts, + input string bootrom + ); + +import "DPI-C" function void cospike_cosim(input longint cycle, + input longint hartid, + input bit has_wdata, + input bit valid, + input longint iaddr, + input int insn, + input bit exception, + input bit interrupt, + input longint cause, + input longint wdata + ); + + +module CospikeResources #( + parameter ISA, + parameter PMPREGIONS, + parameter MEM0_BASE, + parameter MEM0_SIZE, + parameter NHARTS, + parameter BOOTROM) + (); + initial begin + cospike_set_sysinfo(ISA, PMPREGIONS, MEM0_BASE, MEM0_SIZE, NHARTS, BOOTROM); + end; +endmodule; // CospikeResources + + +module SpikeCosim ( + input clock, + input reset, + + input [63:0] cycle, + + input [63:0] hartid, + + input trace_0_valid, + input [63:0] trace_0_iaddr, + input [31:0] trace_0_insn, + input trace_0_exception, + input trace_0_interrupt, + input [63:0] trace_0_cause, + input trace_0_has_wdata, + input [63:0] trace_0_wdata, + + input trace_1_valid, + input [63:0] trace_1_iaddr, + input [31:0] trace_1_insn, + input trace_1_exception, + input trace_1_interrupt, + input [63:0] trace_1_cause, + input trace_1_has_wdata, + input [63:0] trace_1_wdata + ); + + always @(posedge clock) begin + if (!reset) begin + if (trace_0_valid || trace_0_exception || trace_0_cause) begin + cospike_cosim(cycle, hartid, trace_0_has_wdata, trace_0_valid, trace_0_iaddr, + trace_0_insn, trace_0_exception, trace_0_interrupt, trace_0_cause, + trace_0_wdata); + end + if (trace_1_valid || trace_1_exception || trace_1_cause) begin + cospike_cosim(cycle, hartid, trace_1_has_wdata, trace_1_valid, trace_1_iaddr, + trace_1_insn, trace_1_exception, trace_1_interrupt, trace_1_cause, + trace_1_wdata); + end + end + end +endmodule; // CospikeCosim diff --git a/generators/chipyard/src/main/scala/Cospike.scala b/generators/chipyard/src/main/scala/Cospike.scala new file mode 100644 index 00000000..1ebf6253 --- /dev/null +++ b/generators/chipyard/src/main/scala/Cospike.scala @@ -0,0 +1,104 @@ +package chipyard + +import chisel3._ +import chisel3.experimental.{IntParam, StringParam, IO} +import chisel3.util._ + +import freechips.rocketchip.config.{Parameters, Field, Config} +import freechips.rocketchip.subsystem._ +import freechips.rocketchip.diplomacy._ +import freechips.rocketchip.devices.tilelink._ +import freechips.rocketchip.util._ + +import testchipip.TileTraceIO + +class CospikeResources( + isa: String, + pmpregions: Int, + mem0_base: BigInt, + mem0_size: BigInt, + nharts: Int, + bootrom: String +) extends BlackBox(Map( + "ISA" -> StringParam(isa), + "PMPREGIONS" -> IntParam(pmpregions), + "MEM0_BASE" -> IntParam(mem0_base), + "MEM0_SIZE" -> IntParam(mem0_size), + "NHARTS" -> IntParam(nharts), + "BOOTROM" -> StringParam(bootrom) +)) with HasBlackBoxResource { + val io = IO(new Bundle {}) + addResource("/csrc/cospike.cc") + addResource("/vsrc/cospike.v") +} + +trait CanHaveSpikeCosim { this: ChipyardSystem => + InModuleBody { + val isa = tiles.headOption.map(_.isaDTS).getOrElse("") + val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) + val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) + val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) + val nharts = tiles.size + val bootrom = bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") + val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) + } +} + +class SpikeCosim extends BlackBox with HasBlackBoxResource +{ + addResource("/csrc/cospike.cc") + addResource("/vsrc/cospike.v") + val io = IO(new Bundle { + val clock = Input(Clock()) + val reset = Input(Bool()) + val cycle = Input(UInt(64.W)) + val hartid = Input(UInt(64.W)) + val trace = Input(Vec(2, new Bundle { + val valid = Bool() + val iaddr = UInt(64.W) + val insn = UInt(32.W) + val exception = Bool() + val interrupt = Bool() + val cause = UInt(64.W) + val has_wdata = Bool() + val wdata = UInt(64.W) + })) + }) +} + +object SpikeCosim +{ + def apply(trace: TileTraceIO, hartid: Int) = { + val cosim = Module(new SpikeCosim) + val cycle = withClockAndReset(trace.clock, trace.reset) { + val r = RegInit(0.U(64.W)) + r := r + 1.U + r + } + cosim.io.clock := trace.clock + cosim.io.reset := trace.reset + require(trace.numInsns <= 2) + cosim.io.cycle := cycle + cosim.io.trace.map(t => { + t.valid := false.B + t.iaddr := 0.U + t.insn := 0.U + t.exception := false.B + t.interrupt := false.B + t.cause := 0.U + }) + cosim.io.hartid := hartid.U + for (i <- 0 until trace.numInsns) { + cosim.io.trace(i).valid := trace.insns(i).valid + val signed = Wire(SInt(64.W)) + signed := trace.insns(i).iaddr.asSInt + cosim.io.trace(i).iaddr := signed.asUInt + cosim.io.trace(i).insn := trace.insns(i).insn + cosim.io.trace(i).exception := trace.insns(i).exception + cosim.io.trace(i).interrupt := trace.insns(i).interrupt + cosim.io.trace(i).cause := trace.insns(i).cause + cosim.io.trace(i).has_wdata := trace.insns(i).wdata.isDefined.B + cosim.io.trace(i).wdata := trace.insns(i).wdata.getOrElse(0.U) + } + } +} diff --git a/generators/chipyard/src/main/scala/DigitalTop.scala b/generators/chipyard/src/main/scala/DigitalTop.scala index 2777ba36..dc01d200 100644 --- a/generators/chipyard/src/main/scala/DigitalTop.scala +++ b/generators/chipyard/src/main/scala/DigitalTop.scala @@ -34,6 +34,7 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem with chipyard.clocking.HasChipyardPRCI // Use Chipyard reset/clock distribution with fftgenerator.CanHavePeripheryFFT // Enables optionally having an MMIO-based FFT block with constellation.soc.CanHaveGlobalNoC // Support instantiating a global NoC interconnect + with chipyard.CanHaveSpikeCosim // Support instantiating spike-based co-simulation { override lazy val module = new DigitalTopModule(this) } diff --git a/generators/chipyard/src/main/scala/HarnessBinders.scala b/generators/chipyard/src/main/scala/HarnessBinders.scala index 5ff78a65..627644c3 100644 --- a/generators/chipyard/src/main/scala/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/HarnessBinders.scala @@ -21,7 +21,7 @@ import barstools.iocell.chisel._ import testchipip._ -import chipyard.{HasHarnessSignalReferences, HarnessClockInstantiatorKey} +import chipyard._ import chipyard.clocking.{HasChipyardPRCI} import chipyard.iobinders.{GetSystemParameters, JTAGChipIO, ClockWithFreq} @@ -333,6 +333,13 @@ class WithSimDromajoBridge extends ComposeHarnessBinder({ } }) +class WithCospikeBridge extends ComposeHarnessBinder({ + (system: CanHaveTraceIOModuleImp, th: HasHarnessSignalReferences, ports: Seq[TraceOutputTop]) => { + ports.map { p => p.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2)) } + } +}) + + class WithCustomBootPinPlusArg extends OverrideHarnessBinder({ (system: CanHavePeripheryCustomBootPin, th: HasHarnessSignalReferences, ports: Seq[Bool]) => { val pin = PlusArg("custom_boot_pin", width=1) diff --git a/generators/chipyard/src/main/scala/config/BoomConfigs.scala b/generators/chipyard/src/main/scala/config/BoomConfigs.scala index bbc816f7..e212fd1a 100644 --- a/generators/chipyard/src/main/scala/config/BoomConfigs.scala +++ b/generators/chipyard/src/main/scala/config/BoomConfigs.scala @@ -54,3 +54,9 @@ class DromajoBoomConfig extends Config( new boom.common.WithNSmallBooms(1) ++ new chipyard.config.WithSystemBusWidth(128) ++ new chipyard.config.AbstractConfig) + +class MediumBoomCosimConfig extends Config( + new chipyard.harness.WithCospikeBridge ++ // attach spike-cosim + new chipyard.config.WithTraceIO ++ // enable the traceio + new boom.common.WithNMediumBooms(1) ++ + new chipyard.config.AbstractConfig) From 48e2ec6cc929376d651a03bcea97b4894fbc6be6 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 13:27:10 -0800 Subject: [PATCH 04/90] Switch chipyard-boom CI to also test spike-cosim --- .github/scripts/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index e6671996..f1a27049 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -44,7 +44,7 @@ mapping["chipyard-digitaltop"]=" TOP=DigitalTop" mapping["chipyard-streaming-fir"]=" CONFIG=StreamingFIRRocketConfig" mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketConfig" mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" -mapping["chipyard-boom"]=" CONFIG=SmallBoomConfig" +mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" mapping["chipyard-spike"]=" CONFIG=SpikeConfig" mapping["chipyard-blkdev"]=" CONFIG=SimBlockDeviceRocketConfig" mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" From d4c569cc8adc2cd451c0ea12e2424cc0e790f8f0 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 15:00:20 -0800 Subject: [PATCH 05/90] Bump spike --- toolchains/riscv-tools/riscv-isa-sim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchains/riscv-tools/riscv-isa-sim b/toolchains/riscv-tools/riscv-isa-sim index e2a364ad..f4035e2d 160000 --- a/toolchains/riscv-tools/riscv-isa-sim +++ b/toolchains/riscv-tools/riscv-isa-sim @@ -1 +1 @@ -Subproject commit e2a364adfd65488623e4cb23e7dde43a52f66c30 +Subproject commit f4035e2d87358f97a50e61a5edc6055f77e88219 From 043526a855bcb072504f5270b924f21e8395824f Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 15:59:03 -0800 Subject: [PATCH 06/90] Remove esp-tools from CI --- .github/workflows/chipyard-run-tests.yml | 29 ------------------------ 1 file changed, 29 deletions(-) diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index 750f35a2..ccac2b98 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -320,7 +320,6 @@ jobs: uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - toolchain: "esp-tools" prepare-chipyard-tracegen: name: prepare-chipyard-tracegen @@ -689,7 +688,6 @@ jobs: with: group-key: "group-accels" project-key: "chipyard-sha3" - toolchain: "esp-tools" chipyard-streaming-fir-run-tests: name: chipyard-streaming-fir-run-tests @@ -737,30 +735,6 @@ jobs: group-key: "group-accels" project-key: "chipyard-streaming-passthrough" - chipyard-hwacha-run-tests: - name: chipyard-hwacha-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-hwacha" - toolchain: "esp-tools" - chipyard-gemmini-run-tests: name: chipyard-gemmini-run-tests needs: prepare-chipyard-accels @@ -783,7 +757,6 @@ jobs: with: group-key: "group-accels" project-key: "chipyard-gemmini" - toolchain: "esp-tools" chipyard-nvdla-run-tests: name: chipyard-nvdla-run-tests @@ -830,7 +803,6 @@ jobs: with: group-key: "group-accels" project-key: "chipyard-mempress" - toolchain: "esp-tools" tracegen-boom-run-tests: @@ -1043,7 +1015,6 @@ jobs: chipyard-sha3-run-tests, chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, - chipyard-hwacha-run-tests, chipyard-gemmini-run-tests, chipyard-nvdla-run-tests, chipyard-mempress-run-tests, From 2968151d24ee318cbd8160a9dec6a73761d8b1fc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 2 Feb 2023 19:07:56 -0800 Subject: [PATCH 07/90] Rename interrupt/exception to raise_interrupt/raise_exception Verilator takes issue with a parameter named "interrupt" in DPI calls --- generators/chipyard/src/main/resources/csrc/cospike.cc | 10 +++++----- generators/chipyard/src/main/resources/vsrc/cospike.v | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc index 2f6e7490..7c8f249e 100644 --- a/generators/chipyard/src/main/resources/csrc/cospike.cc +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -58,8 +58,8 @@ extern "C" void cospike_cosim(long long int cycle, int valid, long long int iaddr, unsigned long int insn, - int exception, - int interrupt, + int raise_exception, + int raise_interrupt, unsigned long long int cause, unsigned long long int wdata) { @@ -161,7 +161,7 @@ extern "C" void cospike_cosim(long long int cycle, processor_t* p = sim->get_core(hartid); state_t* s = p->get_state(); uint64_t s_pc = s->pc; - if (interrupt) { + if (raise_interrupt) { printf("%d interrupt %lx\n", cycle, cause); uint64_t interrupt_cause = cause & 0x7FFFFFFFFFFFFFFF; if (interrupt_cause == 3) { @@ -170,7 +170,7 @@ extern "C" void cospike_cosim(long long int cycle, printf("Unknown interrupt %lx\n", interrupt_cause); } } - if (exception) + if (raise_exception) printf("%d exception %lx\n", cycle, cause); if (valid) { printf("%d Cosim: %lx", cycle, iaddr); @@ -179,7 +179,7 @@ extern "C" void cospike_cosim(long long int cycle, } printf("\n"); } - if (valid || interrupt || exception) + if (valid || raise_interrupt || raise_exception) p->step(1); if (valid) { diff --git a/generators/chipyard/src/main/resources/vsrc/cospike.v b/generators/chipyard/src/main/resources/vsrc/cospike.v index 26050675..0b70d365 100644 --- a/generators/chipyard/src/main/resources/vsrc/cospike.v +++ b/generators/chipyard/src/main/resources/vsrc/cospike.v @@ -13,8 +13,8 @@ import "DPI-C" function void cospike_cosim(input longint cycle, input bit valid, input longint iaddr, input int insn, - input bit exception, - input bit interrupt, + input bit raise_exception, + input bit raise_interrupt, input longint cause, input longint wdata ); From 071ba7620913b25068d95f60efc1c7e45217c549 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 3 Feb 2023 11:27:14 -0800 Subject: [PATCH 08/90] Fix spike-cosim causing problems for firesim --- .../chipyard/src/main/scala/Cospike.scala | 20 +++++++++++-------- .../src/main/scala/config/BoomConfigs.scala | 1 + .../config/fragments/TileFragments.scala | 6 +++++- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/generators/chipyard/src/main/scala/Cospike.scala b/generators/chipyard/src/main/scala/Cospike.scala index 1ebf6253..7adf3030 100644 --- a/generators/chipyard/src/main/scala/Cospike.scala +++ b/generators/chipyard/src/main/scala/Cospike.scala @@ -32,15 +32,19 @@ class CospikeResources( addResource("/vsrc/cospike.v") } +case object SpikeCosimKey extends Field[Boolean](false) + trait CanHaveSpikeCosim { this: ChipyardSystem => - InModuleBody { - val isa = tiles.headOption.map(_.isaDTS).getOrElse("") - val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) - val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) - val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) - val nharts = tiles.size - val bootrom = bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") - val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) + if (p(SpikeCosimKey)) { + InModuleBody { + val isa = tiles.headOption.map(_.isaDTS).getOrElse("") + val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) + val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) + val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) + val nharts = tiles.size + val bootrom = bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") + val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) + } } } diff --git a/generators/chipyard/src/main/scala/config/BoomConfigs.scala b/generators/chipyard/src/main/scala/config/BoomConfigs.scala index e212fd1a..84011931 100644 --- a/generators/chipyard/src/main/scala/config/BoomConfigs.scala +++ b/generators/chipyard/src/main/scala/config/BoomConfigs.scala @@ -57,6 +57,7 @@ class DromajoBoomConfig extends Config( class MediumBoomCosimConfig extends Config( new chipyard.harness.WithCospikeBridge ++ // attach spike-cosim + new chipyard.config.EnableSpikeCosim ++ // enable co-sim new chipyard.config.WithTraceIO ++ // enable the traceio new boom.common.WithNMediumBooms(1) ++ new chipyard.config.AbstractConfig) diff --git a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala index eac274f0..e0367b4d 100644 --- a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala @@ -9,7 +9,7 @@ import freechips.rocketchip.rocket.{RocketCoreParams, MulDivParams, DCacheParams import boom.common.{BoomTileAttachParams} import cva6.{CVA6TileAttachParams} - +import chipyard.{SpikeCosimKey} import testchipip._ class WithL2TLBs(entries: Int) extends Config((site, here, up) => { @@ -79,3 +79,7 @@ class WithRocketDCacheScratchpad extends Config((site, here, up) => { )) } }) + +class EnableSpikeCosim extends Config((site, here, up) => { + case SpikeCosimKey => true +}) From b88e583472a426e733bff8734d590cb0550c1c43 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 4 Feb 2023 11:48:59 -0800 Subject: [PATCH 09/90] Fix pmp cosim --- .../chipyard/src/main/resources/csrc/cospike.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc index 7c8f249e..4e81b708 100644 --- a/generators/chipyard/src/main/resources/csrc/cospike.cc +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -212,12 +212,16 @@ extern "C" void cospike_cosim(long long int cycle, // 4 => csr if ((rd != 0 && type == 0) || type == 1) { // Override reads from some CSRs - if ((insn & 0xfff0007f) == 0xf1300073 || // mimpid - (insn & 0xfff0007f) == 0xf1200073 || // marchid - (insn & 0xfff0007f) == 0xf1100073 || // mvendorid - (insn & 0xfff0007f) == 0xb0000073 || // mcycle - (insn & 0xfff0007f) == 0xb0200073 // minstret - ) { + uint64_t csr_addr = insn >> 20; + bool csr_read = (insn & 0x7f) == 0x73; + if (csr_read && ( + (csr_addr == 0xf13) || // mimpid + (csr_addr == 0xf12) || // marchid + (csr_addr == 0xf11) || // mvendorid + (csr_addr == 0xb00) || // mcycle + (csr_addr == 0xb02) || // minstret + (csr_addr >= 0x3b0 && csr_addr <= 0x3ef) // pmpaddr + )) { printf("CSR override\n"); s->XPR.write(rd, wdata); } else if (!mem_read.empty() && From e27f1a3195a4c8d67ca5509458b251f19330b411 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 4 Feb 2023 16:17:02 -0800 Subject: [PATCH 10/90] Make SpikeTile ipc a plusarg --- generators/chipyard/src/main/scala/SpikeTile.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/generators/chipyard/src/main/scala/SpikeTile.scala b/generators/chipyard/src/main/scala/SpikeTile.scala index 44a6229a..cc83a46c 100644 --- a/generators/chipyard/src/main/scala/SpikeTile.scala +++ b/generators/chipyard/src/main/scala/SpikeTile.scala @@ -16,7 +16,6 @@ import freechips.rocketchip.tile._ import freechips.rocketchip.prci.ClockSinkParameters case class SpikeCoreParams( - val maxInsnsPerCycle: Int = 10000 ) extends CoreParams { val useVM = true val useHypervisor = false @@ -305,7 +304,7 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) { spike.io.msip := int_bundle.msip spike.io.meip := int_bundle.meip spike.io.seip := int_bundle.seip.get - spike.io.ipc := outer.spikeTileParams.core.maxInsnsPerCycle.U + spike.io.ipc := PlusArg("spike-ipc", 10000, width=64) val blockBits = log2Ceil(p(CacheBlockBytes)) spike.io.icache.a.ready := icache_tl.a.ready From c505f3011fe17e138eeffed51a7197e821d52983 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 4 Feb 2023 16:17:53 -0800 Subject: [PATCH 11/90] Improve spiketile performance for CI --- .github/scripts/defaults.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index f1a27049..576c690b 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -45,7 +45,7 @@ mapping["chipyard-streaming-fir"]=" CONFIG=StreamingFIRRocketConfig" mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketConfig" mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" -mapping["chipyard-spike"]=" CONFIG=SpikeConfig" +mapping["chipyard-spike"]=" CONFIG=SpikeFastUARTConfig EXTRA_SIM_FLAGS='+spike-ipc=10'" mapping["chipyard-blkdev"]=" CONFIG=SimBlockDeviceRocketConfig" mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" mapping["chipyard-gemmini"]=" CONFIG=GemminiRocketConfig" From fc611ef507f795f8ffb9405ded2d2346aed8b7e3 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 4 Feb 2023 16:55:43 -0800 Subject: [PATCH 12/90] Fix CSR overrides in spike cosim --- generators/chipyard/src/main/resources/csrc/cospike.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc index 4e81b708..799f7992 100644 --- a/generators/chipyard/src/main/resources/csrc/cospike.cc +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -212,8 +212,9 @@ extern "C" void cospike_cosim(long long int cycle, // 4 => csr if ((rd != 0 && type == 0) || type == 1) { // Override reads from some CSRs - uint64_t csr_addr = insn >> 20; + uint64_t csr_addr = (insn >> 20) & 0xfff; bool csr_read = (insn & 0x7f) == 0x73; + if (csr_read) printf("CSR read %lx\n", csr_addr); if (csr_read && ( (csr_addr == 0xf13) || // mimpid (csr_addr == 0xf12) || // marchid From 2a2de5850f03cc76516ea827a7e563ff6dbe8ad5 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sun, 5 Feb 2023 20:59:14 -0800 Subject: [PATCH 13/90] Implement cosim purely in a HarnessBindeR --- generators/chipyard/src/main/scala/Cospike.scala | 16 ---------------- .../chipyard/src/main/scala/DigitalTop.scala | 1 - .../chipyard/src/main/scala/HarnessBinders.scala | 12 +++++++++++- .../src/main/scala/config/BoomConfigs.scala | 3 +-- .../scala/config/fragments/TileFragments.scala | 4 ---- 5 files changed, 12 insertions(+), 24 deletions(-) diff --git a/generators/chipyard/src/main/scala/Cospike.scala b/generators/chipyard/src/main/scala/Cospike.scala index 7adf3030..14eb018d 100644 --- a/generators/chipyard/src/main/scala/Cospike.scala +++ b/generators/chipyard/src/main/scala/Cospike.scala @@ -32,22 +32,6 @@ class CospikeResources( addResource("/vsrc/cospike.v") } -case object SpikeCosimKey extends Field[Boolean](false) - -trait CanHaveSpikeCosim { this: ChipyardSystem => - if (p(SpikeCosimKey)) { - InModuleBody { - val isa = tiles.headOption.map(_.isaDTS).getOrElse("") - val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) - val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) - val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) - val nharts = tiles.size - val bootrom = bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") - val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) - } - } -} - class SpikeCosim extends BlackBox with HasBlackBoxResource { addResource("/csrc/cospike.cc") diff --git a/generators/chipyard/src/main/scala/DigitalTop.scala b/generators/chipyard/src/main/scala/DigitalTop.scala index dc01d200..2777ba36 100644 --- a/generators/chipyard/src/main/scala/DigitalTop.scala +++ b/generators/chipyard/src/main/scala/DigitalTop.scala @@ -34,7 +34,6 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem with chipyard.clocking.HasChipyardPRCI // Use Chipyard reset/clock distribution with fftgenerator.CanHavePeripheryFFT // Enables optionally having an MMIO-based FFT block with constellation.soc.CanHaveGlobalNoC // Support instantiating a global NoC interconnect - with chipyard.CanHaveSpikeCosim // Support instantiating spike-based co-simulation { override lazy val module = new DigitalTopModule(this) } diff --git a/generators/chipyard/src/main/scala/HarnessBinders.scala b/generators/chipyard/src/main/scala/HarnessBinders.scala index 627644c3..f8e94044 100644 --- a/generators/chipyard/src/main/scala/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/HarnessBinders.scala @@ -333,8 +333,18 @@ class WithSimDromajoBridge extends ComposeHarnessBinder({ } }) -class WithCospikeBridge extends ComposeHarnessBinder({ +class WithCospike extends ComposeHarnessBinder({ (system: CanHaveTraceIOModuleImp, th: HasHarnessSignalReferences, ports: Seq[TraceOutputTop]) => { + implicit val p = chipyard.iobinders.GetSystemParameters(system) + val chipyardSystem = system.asInstanceOf[ChipyardSystemModule[_]].outer.asInstanceOf[ChipyardSystem] + val tiles = chipyardSystem.tiles + val isa = tiles.headOption.map(_.isaDTS).getOrElse("") + val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) + val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) + val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) + val nharts = tiles.size + val bootrom = chipyardSystem.bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") + val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) ports.map { p => p.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2)) } } }) diff --git a/generators/chipyard/src/main/scala/config/BoomConfigs.scala b/generators/chipyard/src/main/scala/config/BoomConfigs.scala index 84011931..da224a9b 100644 --- a/generators/chipyard/src/main/scala/config/BoomConfigs.scala +++ b/generators/chipyard/src/main/scala/config/BoomConfigs.scala @@ -56,8 +56,7 @@ class DromajoBoomConfig extends Config( new chipyard.config.AbstractConfig) class MediumBoomCosimConfig extends Config( - new chipyard.harness.WithCospikeBridge ++ // attach spike-cosim - new chipyard.config.EnableSpikeCosim ++ // enable co-sim + new chipyard.harness.WithCospike ++ // attach spike-cosim new chipyard.config.WithTraceIO ++ // enable the traceio new boom.common.WithNMediumBooms(1) ++ new chipyard.config.AbstractConfig) diff --git a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala index e0367b4d..f19759cb 100644 --- a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala @@ -9,7 +9,6 @@ import freechips.rocketchip.rocket.{RocketCoreParams, MulDivParams, DCacheParams import boom.common.{BoomTileAttachParams} import cva6.{CVA6TileAttachParams} -import chipyard.{SpikeCosimKey} import testchipip._ class WithL2TLBs(entries: Int) extends Config((site, here, up) => { @@ -80,6 +79,3 @@ class WithRocketDCacheScratchpad extends Config((site, here, up) => { } }) -class EnableSpikeCosim extends Config((site, here, up) => { - case SpikeCosimKey => true -}) From 22fda3a6a737a71b827c5a4d9a15e1faa12d9e9c Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Wed, 1 Feb 2023 10:21:37 -0800 Subject: [PATCH 14/90] initial migration to new Hammer --- .gitmodules | 3 - conda-reqs/chipyard.yaml | 1 + ...irements-esp-tools-linux-64.conda-lock.yml | 4174 +++++++++-------- ...ements-riscv-tools-linux-64.conda-lock.yml | 4174 +++++++++-------- conda-reqs/vlsi.yaml | 13 + scripts/init-vlsi.sh | 9 + vlsi/Makefile | 4 +- vlsi/example-asap7.yml | 7 +- vlsi/example-openroad.yml | 29 +- vlsi/example-sky130.yml | 7 +- vlsi/example-tech.yml | 4 +- vlsi/example-tools.yml | 37 +- vlsi/example-vlsi | 17 +- vlsi/example-vlsi-sky130 | 19 +- vlsi/hammer | 1 - vlsi/hammer-cadence-plugins | 2 +- vlsi/hammer-mentor-plugins | 2 +- vlsi/hammer-synopsys-plugins | 2 +- vlsi/tutorial.mk | 2 +- 19 files changed, 4396 insertions(+), 4111 deletions(-) create mode 100644 conda-reqs/vlsi.yaml delete mode 160000 vlsi/hammer diff --git a/.gitmodules b/.gitmodules index 45f0bc50..5d4b8226 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,9 +28,6 @@ [submodule "generators/block-inclusivecache-sifive"] path = generators/sifive-cache url = https://github.com/chipsalliance/rocket-chip-inclusive-cache.git -[submodule "vlsi/hammer"] - path = vlsi/hammer - url = https://github.com/ucb-bar/hammer.git [submodule "tools/dsptools"] path = tools/dsptools url = https://github.com/ucb-bar/dsptools.git diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 87c2bf99..32347f33 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -127,6 +127,7 @@ dependencies: - mypy-boto3-ec2==1.21.9 - sure==2.0.0 - pylddwrap==1.2.1 + - hammer-vlsi # doc requirements - sphinx diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index e4488fcf..b45d3b8f 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -7,7 +7,7 @@ # Install this environment as "YOURENV" with: # conda-lock install -n YOURENV --file conda-requirements-esp-tools-linux-64.conda-lock.yml # To update a single package to the latest version compatible with the version constraints in the source: -# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE +# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: # conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml metadata: @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 46faccb4f0f152fc79912dbcd442a9cd0d3378720908f86cd06f3496fd584e06 + linux-64: 5355d154355d9639a93294ab6bb4385fea9c6e942dbce5c6bd7b8940004c5ee3 platforms: - linux-64 sources: @@ -51,36 +51,36 @@ package: - category: main dependencies: {} hash: - md5: ce8d1b98cc96642f2d2e5da1873de2e6 - sha256: fc08379d634e7806485be606ead3265385949054959940c8ecb88a67c26ace42 + md5: c3c1c898537714ab47e415c03da7b4df + sha256: c248fcc6476b8d8ebac8c03e8d4eab967a2f723e86ed632a846ab11877ed5ded manager: conda name: bash-completion optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/bash-completion-2.11-0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/bash-completion-2.11-ha770c72_1.tar.bz2 version: '2.11' - category: main dependencies: {} hash: - md5: 41e4e87062433e283696cf384f952ef6 - sha256: 058355034667e77d15389700f6b2364cc74efce0af63a418eacc1ce252458942 + md5: ff9f73d45c4a07d6f424495288a26080 + sha256: 8f6c81b0637771ae0ea73dc03a6d30bec3326ba3927f2a7b91931aa2d59b1789 manager: conda name: ca-certificates optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2 - version: 2022.9.24 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda + version: 2022.12.7 - category: main dependencies: {} hash: - md5: 2adf191e11723cd8156dcaa421419d1e - sha256: e52fb8cf5bc5eb80c69f2239a08868ddd6fa26fdf67a1a0312970308f698fc96 + md5: dbc503dcc77ca9b81ba956d21c3a2ea4 + sha256: cbe3c2391106204ad7ee10eafae72ea70744a32339846f637131be486099338e manager: conda name: conda-standalone optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-4.12.0-ha770c72_0.tar.bz2 - version: 4.12.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-22.11.1-ha770c72_0.conda + version: 22.11.1 - category: main dependencies: {} hash: @@ -128,69 +128,80 @@ package: - category: main dependencies: {} hash: - md5: bd4f2e711b39af170e7ff15163fe87ee - sha256: ad7985a9ff622880cf87c42db1ffe2dfb040d8175c1bb352fc8f3705c7e0962f + md5: 7aca3059a1729aa76c597603f10b0dd3 + sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd manager: conda name: ld_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda + version: '2.40' - category: main dependencies: {} hash: - md5: 0e6ab30ea5307e18bff4689958b51b83 - sha256: 9875a188edb25e996eb2ef5d2664d995ddb166a868d3377851a8f33d6c63297d + md5: 199a7292b1d3535376ecf7670c231d1f + sha256: d6df7758b85d4f82baaa526bff1b9f0a9ae2b73b0df7fcb27cafdaf5e24fdefb manager: conda name: libgcc-devel_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-12.1.0-h1ec3361_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-12.2.0-h3b97bd3_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: b02605b875559ff99f04351fd5040760 - sha256: 4d20cbd5dbe47e0dacd298d5cc0745ae19dcd5cd7cfaf937387adc876ee481c7 + md5: 164b4b1acaedc47ee7e658ae6b308ca3 + sha256: 03ea784edd12037dc3a7a0078ff3f9c3383feabb34d5ba910bb2fd7a21a2d961 manager: conda name: libgfortran5 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.1.0-hdcd56e2_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: db535a3c3b757e1d34e6b031a111f029 - sha256: 3588334fa16d57452dc83527dd4490821a39f1a049565d4390d774635559f4fc + md5: 277d373b57791ee71cafc3c5bfcf0641 + sha256: 152a54b52b0bc0cda89b4394e43f010ce2a16f4012a3e706709d53a68407df46 manager: conda name: libstdcxx-devel_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-12.1.0-h1ec3361_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-12.2.0-h3b97bd3_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: 6f5ba041a41eb102a1027d9e68731be7 - sha256: c2483256b324253599bdbe6ddb4a04f7a154259473e626aacbfdee7686a994d2 + md5: 1030b1f38c129f2634eae026f704fe60 + sha256: 0289e6a7b9a5249161a3967909e12dcfb4ab4475cdede984635d3fb65c606f08 manager: conda name: libstdcxx-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.1.0-ha89aaad_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: 456b5b1d99e7a9654b331bcd82e71042 - sha256: 3d234013a4e2f70f40068f29b8790e959d5cc97cd4b1c6a0aa5446eec03819b9 + md5: 0dd193187d54e585cac7eab942a8847e + sha256: 89e8c4436dd04d8b4a0c13c508e930be56973a480a9714171969de953bdafd3a + manager: conda + name: python_abi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.conda + version: '3.9' +- category: main + dependencies: {} + hash: + md5: 51fc4fcfb19f5d95ffc8c339db5068e8 + sha256: 0bfae0b9962bc0dbf79048f9175b913ed4f53c4310d06708dc7acbb290ad82f6 manager: conda name: tzdata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2022d-h191b570_0.tar.bz2 - version: 2022d + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda + version: 2022g - category: main dependencies: font-ttf-dejavu-sans-mono: '' @@ -220,28 +231,28 @@ package: version: 3.10.0 - category: main dependencies: - libgfortran5: 12.1.0 hdcd56e2_16 + libgfortran5: 12.2.0 h337968e_19 hash: - md5: 6bf15e29a20f614b18ae89368260d0a2 - sha256: 8b9ebde578c74c9e2d93cbe6940a09ee4d0ca4080a0f385bdcd10be536f07abb + md5: cd7a806282c16e1f2d39a7e80d3a3e0d + sha256: c7d061f323e80fbc09564179073d8af303bf69b953b0caddcf79b47e352c746f manager: conda name: libgfortran-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.1.0-h69a702a_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2 + version: 12.2.0 - category: main dependencies: _libgcc_mutex: 0.1 conda_forge hash: - md5: f013cf7749536ce43d82afbffdf499ab - sha256: 499fab15d3897a7bf7a1d82dd44c76dad1ceeaec0b71e348e77fb8a753ff898d + md5: cedcee7c064c01c403f962c9e8d3c373 + sha256: 81a76d20cfdee9fe0728b93ef057ba93494fd1450d42bc3717af4e468235661e manager: conda name: libgomp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.1.0-h8d9b700_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.2.0-h65d4601_19.tar.bz2 + version: 12.2.0 - category: main dependencies: _libgcc_mutex: 0.1 conda_forge @@ -282,42 +293,42 @@ package: version: '2.17' - category: main dependencies: - ld_impl_linux-64: 2.36.1 hea4e1c9_2 + ld_impl_linux-64: 2.40 h41732ed_0 sysroot_linux-64: '' hash: - md5: 32aae4265554a47ea77f7c09f86aeb3b - sha256: 7cdcbb78f3b521efbcbd72424fb56a4e030001cccf2a6bca800aef4b9a5ed93a + md5: 33084421a8c0af6aef1b439707f7662a + sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d manager: conda name: binutils_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.36.1-h193b22a_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda + version: '2.40' - category: main dependencies: _libgcc_mutex: 0.1 conda_forge _openmp_mutex: '>=4.5' hash: - md5: 4f05bc9844f7c101e6e147dab3c88d5c - sha256: 2fde3d9f0199bf4f5447b35d3fd74d058c17ef2b6c68815eb1b469f2aec138b9 + md5: e4c94f80aef025c17ab0828cd85ef535 + sha256: f3899c26824cee023f1e360bd0859b0e149e2b3e8b1668bc6dd04bfc70dcd659 manager: conda name: libgcc-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.1.0-h8d9b700_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=12' hash: - md5: 4a826cd983be6c8fff07a64b6d2079e7 - sha256: b2ea5be6ca4f16d62c7de3df62155b106f2009d9c317db187c47267abc1cb03d + md5: be733e69048951df1e4b4b7bb8c7666f + sha256: 2c0a618d0fa695e4e01a30e7ff31094be540c52e9085cbd724edb132c65cf9cd manager: conda name: alsa-lib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.7.2-h166bdaf_0.tar.bz2 - version: 1.2.7.2 + url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz2 + version: 1.2.8 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -332,16 +343,16 @@ package: version: 1.07.1 - category: main dependencies: - binutils_impl_linux-64: '>=2.36.1,<2.36.2.0a0' + binutils_impl_linux-64: '>=2.40,<2.41.0a0' hash: - md5: 3111f86041b5b6863545ca49130cca95 - sha256: 17ae32b02c9cfb4c01ddcbe733d8bc432bd5003447cca9eb1727dd13c8fa940e + md5: ccc940fddbc3fcd3d79cd4c654c4b5c4 + sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c manager: conda name: binutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.36.1-hdd6e379_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda + version: '2.40' - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -396,7 +407,6 @@ package: libstdcxx-ng: '>=12' hash: md5: 6bfb79319763a11c7423c9d0e0ee00b7 - sha256: null manager: conda name: dromajo optional: false @@ -420,14 +430,14 @@ package: libgcc-ng: '>=12' libstdcxx-ng: '>=12' hash: - md5: 493ac8b2503a949aebe33d99ea0c284f - sha256: 2e2b3fadca2aa04244197d645947b91edb73fed1da17b8c5f8b8f1fdc6cd06ac + md5: c4fbad8d4bddeb3c085f18cbf97fbfad + sha256: b44db0b92ae926b3fbbcd57c179fceb64fa11a9f9d09082e03be58b74dcad832 manager: conda name: expat optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.9-h27087fc_0.tar.bz2 - version: 2.4.9 + url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2 + version: 2.5.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -457,14 +467,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 17f91dc8bb7a259b02be5bfb2cd2395f - sha256: e33f9c58fe6d48e65f3c271fdd39999ad439b0ea03c683ca609e50b7aeda47ee + md5: 14947d8770185e5153fdd04d4673ed37 + sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a manager: conda name: gettext optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-h27087fc_1009.tar.bz2 - version: 0.19.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2 + version: 0.21.1 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -569,14 +579,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: fc84a0446e4e4fb882e78d786cfb9734 - sha256: 6f7cbc9347964e7f9697bde98a8fb68e0ed926888b3116474b1224eaa92209dc + md5: 5cc781fd91968b11a8a7fdbee0982676 + sha256: f9983a8ea03531f2c14bce76c870ca325c0fddf0c4e872bff1f78bc52624179c manager: conda name: libdeflate optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2 - version: '1.14' + url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.17-h0b41bf4_0.conda + version: '1.17' - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -591,15 +601,15 @@ package: version: '4.33' - category: main dependencies: - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=12' hash: - md5: 6b0f2dd6a16b984110e8b6eed67b569b - sha256: 17110a07bc1bd3ea546840efb55d17ae2f80cd3dd0af882918cf7fa1c6bc0247 + md5: b479e94095fbb82702d736b1c100c0e8 + sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd manager: conda name: libfdt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2 version: 1.6.1 - category: main dependencies: @@ -625,6 +635,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2 version: '1.17' +- category: main + dependencies: + libgcc-ng: '>=12' + hash: + md5: b4f717df2d377410b462328bf0e8fb7d + sha256: 0d8b666ca4deabf948a76654df0fa1277145bed1c9e8a58e18a649c22c5f1c3e + manager: conda + name: libjpeg-turbo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2 + version: 2.1.4 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -653,16 +675,28 @@ package: version: 0.3.21 - category: main dependencies: - libgcc-ng: '>=12.1.0' + libgcc-ng: '>=12.2.0' hash: - md5: 72d63459c86185f8f636772f28d6eb35 - sha256: 8030597934a3008b962340184af5d45605c1fb313443cc3a4a2b6b45b8dea162 + md5: 80d0e00150401e9c06a055f36e8e73f2 + sha256: 6cf904606c091e1cab5cf3b1f1bb0d6756474e6e37b1a97a502fc1255d71641b manager: conda name: libsanitizer optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.1.0-ha89aaad_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.2.0-h46fd767_19.tar.bz2 + version: 12.2.0 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + hash: + md5: c3788462a6fbddafdb413a9f9053e58d + sha256: 53da0c8b79659df7b53eebdb80783503ce72fb4b10ed6e9e05cc0e9e4207a130 + manager: conda + name: libsodium + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 + version: 1.0.18 - category: main dependencies: libgcc-ng: '>=12' @@ -677,16 +711,16 @@ package: version: 4.19.0 - category: main dependencies: - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' hash: - md5: 16e143a1ed4b4fd169536373957f6fee - sha256: eadbb80c922dce355c0f8f7fc560f20f61263245799d076a1d5251d147d0d250 + md5: f204c8ba400ec475452737094fb81d52 + sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1 manager: conda name: libtool optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.6-h9c3ff4c_1008.tar.bz2 - version: 2.4.6 + url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda + version: 2.4.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -739,27 +773,27 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 6a2e5b333ba57ce7eec61e90260cbb79 - sha256: f73c296d19454b79e19f6ad3f7ab7f9733132575226e68e7128c615ecacc1e5d + md5: f3f9de449d32ca9b9c66a22863c96f41 + sha256: 22f3663bcf294d349327e60e464a51cd59664a71b8ed70c28a9f512d10bc77dd manager: conda name: libzlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.12-h166bdaf_4.tar.bz2 - version: 1.2.12 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2 + version: 1.2.13 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libstdcxx-ng: '>=9.3.0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' hash: - md5: fbe97e8fa6f275d7c76a09e795adc3e6 - sha256: 56313fe4e602319682d4ea05c0ed3c5c45fc79884a5896f2cb7436b15d6987f9 + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f manager: conda name: lz4-c optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2 - version: 1.9.3 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + version: 1.9.4 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -837,14 +871,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 07acc367c7fc8b716770cd5b36d31717 - sha256: 13ba391de59386eff710a9e40cd7a3c53ef8dab6c7818dd4eaaf0401029ddd1b + md5: 45758f4ece9c8b7b5f99328bd5caae51 + sha256: 2fca71b8d95edc0e530f9512cdd9187407ad486868b7c247fc16cab1e4172ffa manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1q-h166bdaf_0.tar.bz2 - version: 1.1.1q + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_2.conda + version: 3.0.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1076,42 +1110,42 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libiconv: '>=1.17,<2.0.0a0' + libiconv: '>=1.17,<2.0a0' hash: - md5: 9b0ebfb39213d15e60d2c211c9c443b6 - sha256: 2af344c4c970412bb4f949a2d353a989bdb980e42040263b66cdb0e341ce63e5 + md5: 3a04f6b950cc884a43c2b737a38da9bd + sha256: 43a2b08d6eed3263be63805edd720133eda2189e8c673238c37e407fa2b84f2e manager: conda name: diffutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/diffutils-3.8-h1869db9_1.tar.bz2 - version: '3.8' + url: https://conda.anaconda.org/conda-forge/linux-64/diffutils-3.9-h6c2ea63_0.conda + version: '3.9' - category: main dependencies: libfdt: '>=1.6.1,<1.7.0a0' - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=12' yaml: '>=0.2.5,<0.3.0a0' hash: - md5: caa34d1dbb00e66fc12387ee364c24ce - sha256: cb20ea4ea3ae9c2ab6728b934666dc4cc0fac7c7acc4df66c9ab3819128a006e + md5: 22b23b5006eb63ed81af6a84569c930e + sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5 manager: conda name: dtc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2 version: 1.6.1 - category: main dependencies: gettext: '' - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' hash: - md5: 8d0b19bcc4a822e154eaf924483c9edb - sha256: 377377897759dc0183ad2db9a3c4472d50d81a74b62ad974f32109900d891743 + md5: 0045534ae3fc1682e8096b0c70b2570b + sha256: 30aca48b587e51d51f148d9b450a07fb21475585375e5c54c0048b13a31a437a manager: conda name: findutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h7f98852_1001.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h166bdaf_1001.tar.bz2 version: 4.6.0 - category: main dependencies: @@ -1120,12 +1154,12 @@ package: ncurses: '>=6.3,<7.0a0' hash: md5: f3530f0cfbc7b4e243cb6b8f19cd077d - sha256: null + sha256: e9fa4c912e6c72dcc10e00c6769c6b0e20d32446345ef9f07626257cc80f7d7d manager: conda name: firtool optional: false platform: linux-64 - url: https://anaconda.org/ucb-bar/firtool/1.25.0/download/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda version: 1.25.0 - category: main dependencies: @@ -1143,22 +1177,22 @@ package: version: 2.6.4 - category: main dependencies: - binutils_impl_linux-64: 2.36.1.* - libgcc-devel_linux-64: 12.1.0 h1ec3361_16 - libgcc-ng: '>=12.1.0' - libgomp: '>=12.1.0' - libsanitizer: 12.1.0 ha89aaad_16 - libstdcxx-ng: '>=12.1.0' + binutils_impl_linux-64: '>=2.39' + libgcc-devel_linux-64: 12.2.0 h3b97bd3_19 + libgcc-ng: '>=12.2.0' + libgomp: '>=12.2.0' + libsanitizer: 12.2.0 h46fd767_19 + libstdcxx-ng: '>=12.2.0' sysroot_linux-64: '' hash: - md5: 8db926c5e0250835beca6557221b600b - sha256: 344d543e87657facf6d6baf0ef877f7e003f1a25d969f196083be370ae59a410 + md5: bb48ea333c8e6dcc159a1575f04d869e + sha256: 1e67063ca887c0569c647d7e8e3da9d09234585ed0fce7f728d6709d7314d0f5 manager: conda name: gcc_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.1.0-hea43390_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.2.0-hcc96c02_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1199,18 +1233,18 @@ package: version: 3.1.20191231 - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + gettext: '>=0.21.1,<1.0a0' libgcc-ng: '>=12' libunistring: '>=0,<1.0a0' hash: - md5: 7726ff4317aaecba7a4e7c2a16d38b21 - sha256: 6051ca2b05ff5d08fcc1b5b653d34454dc0a099eec374683fea7ada6033bac62 + md5: 7440fbafd870b8bab68f83a064875d34 + sha256: 888848ae85be9df86f56407639c63bdce8e7651f0b2517be9bc0ac6e38b2d21d manager: conda name: libidn2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.3-h166bdaf_0.tar.bz2 - version: 2.3.3 + url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.4-h166bdaf_0.tar.bz2 + version: 2.3.4 - category: main dependencies: libgcc-ng: '>=12' @@ -1230,70 +1264,70 @@ package: libev: '>=4.33,<4.34.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' hash: - md5: 6fe9e31c2b8d0b022626ccac13e6ca3c - sha256: 44b87b28efb1fa34632730f37a39250ef955a3497d7d9cd0ec60316ac134278e + md5: dd682f0b6d65e75b2bc868fc8e93d87e + sha256: acb80dfd0b7be38c47101df812fc903374c8408daec127edb6f11a648a67c243 manager: conda name: libnghttp2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.47.0-hdcd2b5c_1.tar.bz2 - version: 1.47.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.51.0-hff17c54_0.conda + version: 1.51.0 - category: main dependencies: libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 575078de1d3a3114b3ce131bd1508d0c - sha256: 422a544fbfc8d8bf43de4b2dc5c7c991294ad0e37b37439d8dbf740f07a75437 + md5: e1c890aebdebbfbf87e2c917187b4416 + sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462 manager: conda name: libpng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.38-h753d276_0.tar.bz2 - version: 1.6.38 + url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda + version: 1.6.39 - category: main dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 25170d5304fd05b82d67e3e342509336 - sha256: 8109460cdad70d66f2a404e82b5345ea6b42b9c5a21860b23a953964cf6e8669 + md5: 4b36c68184c6c85d88c6e595a32a1ede + sha256: 760118d7879b5524e118db1c75cc2a5dfceb2c4940dcae94751a94786c8cf12b manager: conda name: libprotobuf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-3.21.7-h6239696_0.tar.bz2 - version: 3.21.7 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-3.21.12-h3eb15da_0.conda + version: 3.21.12 - category: main dependencies: libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 978924c298fc2215f129e8171bbea688 - sha256: 919396aa0e5d0df8d8082db554d850639aa363aff13f4feabf2ee642f823b6d4 + md5: 2e5f9a37d487e1019fd4d8113adb2f9f + sha256: 6008a0b914bd1a3510a3dba38eada93aa0349ebca3a21e5fa276833c8205bf49 manager: conda name: libsqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.39.4-h753d276_0.tar.bz2 - version: 3.39.4 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2 + version: 3.40.0 - category: main dependencies: libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.5,<4.0a0' hash: - md5: 89acee135f0809a18a1f4537390aa2dd - sha256: 3c2ed83502bedf4ec8c5b972accb6ff1b6c018f72fb711cdb65cb8540d5ab89e + md5: d85acad4b47dff4e3def14a769a97906 + sha256: 9a9a01f35d2d50326eb8ca7c0a92d0c45b2d0f77d9ea117680c70094ff480c0c manager: conda name: libssh2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-haa6b8db_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-hf14f497_3.tar.bz2 version: 1.10.0 - category: main dependencies: @@ -1314,18 +1348,18 @@ package: dependencies: icu: '>=70.1,<71.0a0' libgcc-ng: '>=12' - libiconv: '>=1.16,<2.0.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - xz: '>=5.2.5,<5.3.0a0' + libiconv: '>=1.17,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + xz: '>=5.2.6,<6.0a0' hash: - md5: aced7c1f4b4dbfea08e033c6ae97c53e - sha256: 3c00e90a6eb6cc741731a09f848c12f3ef5ba5d03c9bbeb194029f39b7a48a5f + md5: 3b933ea47ef8f330c4c068af25fcd6a8 + sha256: b30713fb4477ff4f722280d956593e7e7a2cb705b7444dcc278de447432b43b1 manager: conda name: libxml2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.14-h22db469_4.tar.bz2 - version: 2.9.14 + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-h7463322_0.tar.bz2 + version: 2.10.3 - category: main dependencies: libgcc-ng: '>=7.3.0' @@ -1372,14 +1406,14 @@ package: libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' hash: - md5: dfd26f27a9d5de96cec1d007b9aeb964 - sha256: ed3fa628b94a82ff039bdc9591c241dfc2c555f0efdfb07a0b53be4b2d9dfe6c + md5: 69e2c796349cd9b273890bee0febfe1b + sha256: 7a29ec847556eed4faa1646010baae371ced69059a4ade43851367a076d6108a manager: conda name: pcre2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.37-hc3806b6_1.tar.bz2 - version: '10.37' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2 + version: '10.40' - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -1434,16 +1468,16 @@ package: version: 4.8.0 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libiconv: '>=1.16,<2.0.0a0' + libgcc-ng: '>=12' + libiconv: '>=1.17,<2.0a0' hash: - md5: 33614741eb453005e0c74e027c325508 - sha256: 967aa10d9197b2a9753f21cb9e7d729560d90df41eb2fa2a3e2ffcb66891d98b + md5: 55aeaa9caf9a1cfd1a8cd3ad4e7885ea + sha256: 469b04c8f5ed59b8765cc501b593903ca831e604a59f40d6578a3326b082a946 manager: conda name: tar optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tar-1.34-ha1f6473_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/tar-1.34-hb2e2bae_1.tar.bz2 version: '1.34' - category: main dependencies: @@ -1488,29 +1522,29 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libzlib: 1.2.12 h166bdaf_4 + libzlib: 1.2.13 h166bdaf_4 hash: - md5: 995cc7813221edbc25a3db15357599a0 - sha256: 7b452922585c700cfbca2fbca8052cf44ebb1661d02c44a66bdd73e9b7bc9167 + md5: 4b11e365c0275b808be78b30f904e295 + sha256: 282ce274ebe6da1fbd52efbb61bd5a93dec0365b14d64566e6819d1691b75300 manager: conda name: zlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.12-h166bdaf_4.tar.bz2 - version: 1.2.12 + url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2 + version: 1.2.13 - category: main dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: adcf0be7897e73e312bd24353b613f74 - sha256: c42d9ec413edd7e984b6cac676997105d0f106556a0f045961153b049b95b87c + md5: 6b63daed8feeca47be78f323e793d555 + sha256: fbe49a8c8df83c2eccb37c5863ad98baeb29796ec96f2c503783d7b89bf80c98 manager: conda name: zstd optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h3eb15da_6.conda version: 1.5.2 - category: main dependencies: @@ -1555,16 +1589,16 @@ package: version: '3.8' - category: main dependencies: - gcc_impl_linux-64: '>=12.1.0,<12.1.1.0a0' + gcc_impl_linux-64: '>=12.2.0,<12.2.1.0a0' hash: - md5: 376d2d246e1228913ef6b6d32d191ad0 - sha256: 32908d2d36adfb327aa28d30ab8af2bb32a653d84706696b797379b27c83fcce + md5: 8b6a817ae6f518315cd82a8e826077e8 + sha256: d5230896809664dec267b3f06b50586de5d7cda22a914b82dc5ab136251d94fd manager: conda name: conda-gcc-specs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.1.0-h559a835_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.2.0-he6d4335_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1595,29 +1629,29 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 4e54cbfc47b8c74c2ecc1e7730d8edce - sha256: 97325af03590d9f9cc7fcb35ad869fa409c51820b0c721bfc9fe7a6d058d0bb0 + md5: e1232042de76d24539a436d37597eb06 + sha256: 1eb913727b54e9aa63c6d9a1177db4e2894cee97c5f26910a2b61899d5ac904f manager: conda name: freetype optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda version: 2.12.1 - category: main dependencies: - gcc_impl_linux-64: 12.1.0.* + gcc_impl_linux-64: 12.2.0.* hash: - md5: 41eda6f576d154ff857f2782446ca975 - sha256: 2e53954244ab346c537b78dcc54e0dddf1c101387d4b77180663a9028a969bd3 + md5: b4d86475bd1a21d139ea78770f606471 + sha256: 3cfb989723f8e115d35553c2b1d899b0f4185fc0551a996b9ff4037083a36432 manager: conda name: gcc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.1.0-h9ea6d83_10.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.2.0-h26027b1_11.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=12' @@ -1637,34 +1671,34 @@ package: version: 3.7.8 - category: main dependencies: - gcc_impl_linux-64: 12.1.0 hea43390_16 - libstdcxx-devel_linux-64: 12.1.0 h1ec3361_16 + gcc_impl_linux-64: 12.2.0 hcc96c02_19 + libstdcxx-devel_linux-64: 12.2.0 h3b97bd3_19 sysroot_linux-64: '' hash: - md5: f64e7c4aad2bf9d75ef1849ba12d550e - sha256: 32e2b3182704acee2058e3346a7d1b8d562729f502c99b1beef13eb3b0c686c2 + md5: 698aae34e4f5e0ea8eac0d529c8f20b6 + sha256: eaca73bdeabe7d862f41e88be18788d00bd2135bc6003bbe7423e96c4275b944 manager: conda name: gxx_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.1.0-hea43390_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.2.0-hcc96c02_19.tar.bz2 + version: 12.2.0 - category: main dependencies: keyutils: '>=1.6.1,<2.0a0' libedit: '>=3.1.20191231,<4.0a0' - libgcc-ng: '>=10.3.0' - libstdcxx-ng: '>=10.3.0' - openssl: '>=1.1.1l,<1.1.2a' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.0.7,<4.0a0' hash: - md5: 7d862b05445123144bec92cb1acc8ef8 - sha256: 3d0f0a8806b6bbe5f9584ff69e0b569d8b3a5b8bd4f35564fdbd304c7ef28fd1 + md5: 89a41adce7106749573d883b2f657d78 + sha256: 51a346807ce981e1450eb04c3566415b05eed705bc9e6c98c198ec62367b7c62 manager: conda name: krb5 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h3790be6_0.tar.bz2 - version: 1.19.3 + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda + version: 1.20.1 - category: main dependencies: bzip2: '>=1.0.8,<2.0a0' @@ -1673,17 +1707,17 @@ package: libzlib: '>=1.2.12,<1.3.0a0' lz4-c: '>=1.9.3,<1.10.0a0' lzo: '>=2.10,<3.0a0' - openssl: '>=1.1.1o,<1.1.2a' + openssl: '>=3.0.3,<4.0a0' xz: '>=5.2.5,<5.3.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 5b28408cfb6d2026ae7f2e7cb963f71a - sha256: 083a9e69c5f5687b47b0d00adbcc7e502c4babf275fa95e61a816fe071a75304 + md5: c0c3973a9f2df3e1a408e3205d86a88d + sha256: b67ff7262422ef04bfa1056c5ef10eba4d64773f40bb34314e0d492f58e726e7 manager: conda name: libarchive optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hb890918_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hada088e_3.tar.bz2 version: 3.5.2 - category: main dependencies: @@ -1699,22 +1733,22 @@ package: version: 3.9.0 - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + gettext: '>=0.21.1,<1.0a0' libffi: '>=3.4,<4.0a0' libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - pcre2: '>=10.37,<10.38.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + pcre2: '>=10.40,<10.41.0a0' hash: - md5: fe768553d0fe619bb9704e3c79c0ee2e - sha256: 6ef0ee03ca5b59e3c86992dc5744ab1b45c1d3d130a04d756ca27381e41c1b80 + md5: ed5349aa96776e00b34eccecf4a948fe + sha256: 3cbad3d63cff2dd9ac1dc9cce54fd3d657f3aff53df41bfe5bae9d760562a5af manager: conda name: libglib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.0-h7a41b64_0.tar.bz2 - version: 2.74.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2 + version: 2.74.1 - category: main dependencies: libblas: 3.9.0 16_linux64_openblas @@ -1731,120 +1765,145 @@ package: dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libxml2: '>=2.9.14,<2.10.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libxml2: '>=2.10.3,<2.11.0a0' + libzlib: '>=1.2.13,<1.3.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 71c80340652d1d9e81fa8473818c7024 - sha256: 450215ad03f1ca4003b52110bd3ca38bc8015b9d9bfda5d2ee01ef62ad187141 + md5: 70cbb0c2033665f2a7339bf0ec51a67f + sha256: 3fb9a9cfd2f5c79e8116c67f95d5a9b790ec66807ae0d8cebefc26fda9f836a7 manager: conda name: libllvm15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.2-h503ea73_0.tar.bz2 - version: 15.0.2 + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hadd5161_0.conda + version: 15.0.7 - category: main dependencies: jpeg: '>=9e,<10a' lerc: '>=4.0.0,<5.0a0' - libdeflate: '>=1.14,<1.15.0a0' + libdeflate: '>=1.17,<1.18.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' libwebp-base: '>=1.2.4,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - xz: '>=5.2.6,<5.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + xz: '>=5.2.6,<6.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 901791f0ec7cddc8714e76e273013a91 - sha256: 19f29fcaab2e6b97cb1991a5a703b5951e981dc8a093945f20382288b29a4668 + md5: 2e648a34072eb39d7c4fc2a9981c5f0c + sha256: e3e18d91fb282b61288d4fd2574dfa31f7ae90ef2737f96722fb6ad3257862ee manager: conda name: libtiff optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2 - version: 4.4.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h6adf6a1_2.conda + version: 4.5.0 - category: main dependencies: libgcc-ng: '>=12' - libprotobuf: '>=3.21.6,<3.22.0a0' + libprotobuf: '>=3.21.9,<3.22.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.3,<7.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.7,<4.0a0' perl: '>=5.32.1,<5.33.0a0 *_perl5' hash: - md5: 6214246121a9e89e3d40e2ef16f0ce2c - sha256: f40975a3c76067602514c620b5afaba065baaca4e320499f46a62023033fc818 + md5: c660c643ea8a05e4bce078d6486d04fd + sha256: c1d3f6053f3983229ffd362ef6192f148f80ccac0d287429756017a98deaac01 manager: conda name: mosh optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.3.2-pl5321h4981305_1013.tar.bz2 - version: 1.3.2 + url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h9ed9655_0.tar.bz2 + version: 1.4.0 - category: main dependencies: gmp: '>=6.2.1,<7.0a0' - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' mpfr: '>=4.1.0,<5.0a0' hash: - md5: c5d36085ed66e1c582d652fb921e99fb - sha256: 304e369ae27b09528dc487c86cfddbf80d34402198bdef6d6111080ad470baf5 + md5: 289c71e83dc0daa7d4c81f04180778ca + sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29 manager: conda name: mpc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.2.1-h9f54685_0.tar.bz2 - version: 1.2.1 + url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda + version: 1.3.1 +- category: main + dependencies: + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libffi: '>=3.4,<4.0a0' + libgcc-ng: '>=12' + libnsl: '>=2.0.0,<2.1.0a0' + libsqlite: '>=3.40.0,<4.0a0' + libuuid: '>=2.32.1,<3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + ncurses: '>=6.3,<7.0a0' + openssl: '>=3.0.7,<4.0a0' + readline: '>=8.1.2,<9.0a0' + tk: '>=8.6.12,<8.7.0a0' + tzdata: '' + xz: '>=5.2.6,<6.0a0' + hash: + md5: 7b9485fce17fac2dd4aca6117a9936c2 + sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 + manager: conda + name: python + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda + version: 3.9.15 - category: main dependencies: libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' lz4-c: '>=1.9.3,<1.10.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.5,<4.0a0' popt: '>=1.16,<2.0a0' xxhash: '>=0.8.0,<0.8.1.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 8bb91b42e10a2449da2d7fbef94eba0c - sha256: 940ddd78d697f3aca18ebbac6ff2531dbb22308d556d4db196424f9d966b9ad4 + md5: 17b9e821cc0557b5822e0f9607e3bbc2 + sha256: 7ce5a05f7f706de9973b751a71ac06f5a924a8bd57d329dbcce2017f01910fbe manager: conda name: rsync optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/rsync-3.2.6-h220164a_0.tar.bz2 - version: 3.2.6 + url: https://conda.anaconda.org/conda-forge/linux-64/rsync-3.2.7-h70740c4_0.tar.bz2 + version: 3.2.7 - category: main dependencies: libgcc-ng: '>=12' - libsqlite: 3.39.4 h753d276_0 - libzlib: '>=1.2.12,<1.3.0a0' + libsqlite: 3.40.0 h753d276_0 + libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.3,<7.0a0' readline: '>=8.1.2,<9.0a0' hash: - md5: 643c271de2dd23ecbd107284426cebc2 - sha256: b0a812bcdc8c622852e4769f66d1db8a2e437a867acf64067ce31f9a0181acc8 + md5: bb11803129cbbb53ed56f9506ff74145 + sha256: baf0e77938e5215653aa6609ff154cb94aeb0a08083ff8dec2d3ba8dd62263e9 manager: conda name: sqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.39.4-h4ff8645_0.tar.bz2 - version: 3.39.4 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2 + version: 3.40.0 - category: main dependencies: libgcc-ng: '>=9.4.0' libidn2: '>=2,<3.0a0' libunistring: '>=0,<1.0a0' - openssl: '>=1.1.1l,<1.1.2a' + openssl: '>=3.0.0,<4.0a0' zlib: '>=1.2.11,<1.3.0a0' hash: - md5: 674f6b42484dbfd11906c3b0a93585e9 - sha256: d46fe5f94627cc2cdbed1f3cbadd9693a7ff9550fce2b892ed4d334de841b6ce + md5: c990e108f39e1b43adf61e984360c9a1 + sha256: a68061ccc7159630406053bb42a6ece01e8819bc2df7eb112172ba57e54b85e9 manager: conda name: wget optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/wget-1.20.3-ha56f1ee_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/wget-1.20.3-ha35d2d1_1.tar.bz2 version: 1.20.3 - category: main dependencies: @@ -1863,312 +1922,16 @@ package: version: 1.7.2 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libglib: '>=2.64.6,<3.0a0' - libstdcxx-ng: '>=9.3.0' + python: '>=3.6' hash: - md5: 661e1ed5d92552785d9f8c781ce68685 - sha256: dde04e006d330e42165c49778546c466aa5ae03499f20cdd2bcbc7f0306f896d - manager: conda - name: atk-1.0 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.36.0-h3371d22_4.tar.bz2 - version: 2.36.0 -- category: main - dependencies: - expat: '>=2.4.2,<3.0a0' - libgcc-ng: '>=9.4.0' - libglib: '>=2.70.2,<3.0a0' - hash: - md5: ecfff944ba3960ecb334b9a2663d708d - sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 - manager: conda - name: dbus - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - version: 1.13.6 -- category: main - dependencies: - expat: '>=2.4.8,<3.0a0' - freetype: '>=2.12.1,<3.0a0' - libgcc-ng: '>=12' - libuuid: '>=2.32.1,<3.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 139ace7da04f011abbd531cb2a9840ee - sha256: 58388e28faa2078b0d93ec8d236f102b945e169c0b0fef9e8aa4496abe9548ce - manager: conda - name: fontconfig - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.0-hc2a2eb6_1.tar.bz2 - version: 2.14.0 -- category: main - dependencies: - jpeg: '>=9e,<10a' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - libtiff: '>=4.4.0,<5.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - zlib: '>=1.2.12,<1.3.0a0' - hash: - md5: a61c6312192e7c9de71548a6706a21e6 - sha256: b7379d19afe924b39e29e47b046f99a4a737f58a210c27d083391c0f8f012aad - manager: conda - name: gdk-pixbuf - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.8-hff1cb4f_1.tar.bz2 - version: 2.42.8 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - libglib: '>=2.66.4,<3.0a0' - libstdcxx-ng: '>=9.3.0' - hash: - md5: 112eb9b5b93f0c02e59aea4fd1967363 - sha256: ed9ae774aa867ad41bb0aa3f4a088f326dec32ab3468040322dbbd6c5bf33b0a - manager: conda - name: gts - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h64030ff_2.tar.bz2 - version: 0.7.6 -- category: main - dependencies: - gcc: 12.1.0.* - gxx_impl_linux-64: 12.1.0.* - hash: - md5: fd875ec9914bc3b7b1eb1676e8862c71 - sha256: 178342981f2f6d60eb4c150583b0f52f42232549f7929c5066e610881cbf8633 - manager: conda - name: gxx - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.1.0-h9ea6d83_10.tar.bz2 - version: 12.1.0 -- category: main - dependencies: - jpeg: '>=9d,<10a' - libgcc-ng: '>=9.3.0' - libtiff: '>=4.2.0,<5.0a0' - hash: - md5: 797117394a4aa588de6d741b06fad80f - sha256: 5b3c77a84b1dbfa53932dee830f35a42cfc5541e23ca0626f8058b04dcf518d1 - manager: conda - name: lcms2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.12-hddcbb42_0.tar.bz2 - version: '2.12' -- category: main - dependencies: - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 6e589829ed83703e00b048f8157f7f08 - sha256: 05379f8f5cf40bb9302248b5b68f86e1f697701210d42a1b3a0ecbeff1b8dfe8 - manager: conda - name: libclang-cpp15 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 294ce7498f7fafa0044da2417738442f - sha256: be800140be1496cc66c1acf289a80e5a96ba5c2787df0678b9480d5abae2a4a2 - manager: conda - name: libclang13 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.1-default_h3a83d3e_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 3b88f1d0fe2580594d58d7e44d664617 - sha256: 293b4be657b9bb534c58b2add62c5088fdbd2e943ff5aea5b4595564cc15e681 - manager: conda - name: libcups - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h3e49a29_2.tar.bz2 - version: 2.3.3 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libgcc-ng: '>=12' - libnghttp2: '>=1.47.0,<2.0a0' - libssh2: '>=1.10.0,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - hash: - md5: 054fb5981fdbe031caeb612b71d85f84 - sha256: d78f5f53eec42c94d67d91acdfd8ff2bff31df48184e2107c5717023e43271ba - manager: conda - name: libcurl - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.85.0-h7bff187_0.tar.bz2 - version: 7.85.0 -- category: main - dependencies: - gnutls: '>=3.7.6,<3.8.0a0' - libgcc-ng: '>=12' - hash: - md5: 78ff89df42ec0d4fe4355490d7843d9b - sha256: 780c82366caab4a741f2a4baa901a9b71fad6c2b8f1f64c168f10f61a939e9d4 - manager: conda - name: libmicrohttpd - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.75-h2603550_1.tar.bz2 - version: 0.9.75 -- category: main - dependencies: - giflib: '>=5.2.1,<5.3.0a0' - jpeg: '>=9e,<10a' - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libtiff: '>=4.4.0,<5.0a0' - libwebp-base: '>=1.2.4,<2.0a0' - hash: - md5: 802e43f480122a85ae6a34c1909f8f98 - sha256: 56520354bc39baeab8df964138639110eafa6069e34e9545f8818c8abd742f32 - manager: conda - name: libwebp - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.2.4-h522a892_0.tar.bz2 - version: 1.2.4 -- category: main - dependencies: - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libstdcxx-ng: '>=12' - libtiff: '>=4.4.0,<5.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: a11b4df9271a8d7917686725aa04c8f2 - sha256: a715cba5649f12a1dca53dfd72fc49577152041f033d7595cf4b6a655a5b93b6 - manager: conda - name: openjpeg - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2 - version: 2.5.0 -- category: main - dependencies: - bzip2: '>=1.0.8,<2.0a0' - ld_impl_linux-64: '>=2.36.1' - libffi: '>=3.4.2,<3.5.0a0' - libgcc-ng: '>=12' - libnsl: '>=2.0.0,<2.1.0a0' - libuuid: '>=2.32.1,<3.0a0' - libzlib: '>=1.2.11,<1.3.0a0' - ncurses: '>=6.3,<7.0a0' - openssl: '>=1.1.1o,<1.1.2a' - readline: '>=8.1,<9.0a0' - sqlite: '>=3.38.5,<4.0a0' - tk: '>=8.6.12,<8.7.0a0' - tzdata: '' - xz: '>=5.2.5,<5.3.0a0' - hash: - md5: 69bc307cc4d7396c5fccb26bbcc9c379 - sha256: 411462cd0726d5a13fd04295887d1137175df55687e4783f26ac1cbb46a10b7f - manager: conda - name: python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.13-h9a8a25e_0_cpython.tar.bz2 - version: 3.9.13 -- category: main - dependencies: - flex: '>=2.6.4,<3.0a0' - gxx_impl_linux-64: '' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - make: '' - perl: '' - hash: - md5: 41af6df1758bae89161daf268566384e - sha256: e2f2302d69c0d6928d95a1c699b5ef0b14e0243e78495734962c78136d2e6b9f - manager: conda - name: verilator - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/verilator-4.226-he0ac6c6_1.tar.bz2 - version: '4.226' -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-xextproto: '' - hash: - md5: 536cc5db4d0a3ba0630541aec064b5e4 - sha256: cf47ccbf49d46189d7bdadeac1387c826be82deb92ce6badbb03baae4b67ed26 - manager: conda - name: xorg-libxext - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2 - version: 1.3.4 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-fixesproto: '' - xorg-libx11: '>=1.7.0,<2.0a0' - hash: - md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a - sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3 - manager: conda - name: xorg-libxfixes - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2 - version: 5.0.3 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-renderproto: '' - hash: - md5: f59c1242cc1dd93e72c2ee2b360979eb - sha256: 7d907ed9e2ec5af5d7498fb3ab744accc298914ae31497ab6dcc6ef8bd134d00 - manager: conda - name: xorg-libxrender - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2 - version: 0.9.10 -- category: main - dependencies: - python: '' - hash: - md5: 2489a97287f90176ecdc3ca982b4b0a0 - sha256: 662690cace8f8a3e1358d01ddb8c019bf70ddfccd250220a6a488efc93ea5baf + md5: 06006184e203b61d3525f90de394471e + sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95 manager: conda name: alabaster optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2 - version: 0.7.12 + url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda + version: 0.7.13 - category: main dependencies: python: '' @@ -2193,18 +1956,32 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/asn1crypto-1.5.1-pyhd8ed1ab_0.tar.bz2 version: 1.5.1 +- category: main + dependencies: + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libstdcxx-ng: '>=12' + hash: + md5: 6c72ec3e660a51736913ef6ea68c454b + sha256: 2f9314de13c1f0b54510a2afa0cdc02c0e3f828fccfc4277734f9590b11a65f1 + manager: conda + name: atk-1.0 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-hd4edc92_1.tar.bz2 + version: 2.38.0 - category: main dependencies: python: '>=3.5' hash: - md5: 6d3ccbc56256204925bfa8378722792f - sha256: 86133878250874b3823bae7369bcad90187132537726cb1b546d88a0552d24de + md5: 8b76db7818a4e401ed4486c4c1635cd9 + sha256: 3a58d4a4933fa8735471c782d35326ab78e0bcfce84756408515f82a94e4dec4 manager: conda name: attrs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2 - version: 22.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda + version: 22.2.0 - category: main dependencies: python: '>=3.6' @@ -2217,45 +1994,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2 version: 0.3.0 -- category: main - dependencies: - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - icu: '>=70.1,<71.0a0' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - libxcb: '>=1.13,<1.14.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - pixman: '>=0.40.0,<1.0a0' - xorg-libice: '' - xorg-libsm: '' - xorg-libx11: '' - xorg-libxext: '' - xorg-libxrender: '' - zlib: '>=1.2.12,<1.3.0a0' - hash: - md5: d1a88f3ed5b52e1024b80d4bcd26a7a0 - sha256: f062cf56e6e50d3ad4b425ebb3765ca9138c6ebc52e6a42d1377de8bc8d954f6 - manager: conda - name: cairo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-ha61ee94_1014.tar.bz2 - version: 1.16.0 - category: main dependencies: python: '>=3.7' hash: - md5: f66309b099374af91369e67e84af397d - sha256: 52e7459b3c457e888e2b6a4e6d13ab7f8675999bc12d20a83e34f12591a8771a + md5: fb9addc3db06e56abe03e0e9f21a63e6 + sha256: 5e22af4776700200fab2c1df41a2188ab9cfe90a50c4f388592bb978562c88ec manager: conda name: certifi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2 - version: 2022.9.24 + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda + version: 2022.12.7 - category: main dependencies: python: '>=3.6' @@ -2270,55 +2020,29 @@ package: version: 2.1.1 - category: main dependencies: - libclang-cpp15: '>=15.0.1,<15.1.0a0' - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + __unix: '' + python: '>=3.8' hash: - md5: 7a362fdef3d72b52c5ce25ec03db84d2 - sha256: 9d5e0eda13deaae0d5e0b92df2d5a7334f785b01d89266c650bedf0140744d7c + md5: 20e4087407c7cb04a40817114b333dbf + sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea manager: conda - name: clang-format-15 + name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 + version: 8.1.3 - category: main dependencies: python: '>=3.6' hash: - md5: a6cf47b09786423200d7982d1faa19eb - sha256: ad15e71f51afa48f44592e9f7cee74b6e1b90ddb1caacb5d3e043a62775b64bb + md5: b325bfc4cff7d7f8a868f1f7ecc4ed16 + sha256: f0c2fd0e842899a05ddd7b147fb26424adf58be0e8e54e5bc68b8f7e67d05dcd manager: conda name: cloudpickle optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 - version: 2.2.0 -- category: main - dependencies: - bzip2: '>=1.0.8,<2.0a0' - expat: '>=2.4.8,<3.0a0' - libcurl: '>=7.83.1,<8.0a0' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libuv: '' - libzlib: '>=1.2.12,<1.3.0a0' - ncurses: '>=6.3,<7.0a0' - rhash: '' - xz: '>=5.2.6,<5.3.0a0' - zlib: '>=1.2.12,<1.3.0a0' - zstd: '>=1.5.2,<1.6.0a0' - hash: - md5: c57977f63831a8f43ace75fcc7151b9d - sha256: a7d740765dcb6c8f1d594550ae25d221b2a507d4f1d5e4ea94e8c5d4e3b1f215 - manager: conda - name: cmake - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.24.2-h5432695_0.tar.bz2 - version: 3.24.2 + url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.1-pyhd8ed1ab_0.conda + version: 2.2.1 - category: main dependencies: python: '' @@ -2343,23 +2067,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.3.1-pyhd8ed1ab_0.tar.bz2 version: 0.3.1 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libcurl: 7.85.0 h7bff187_0 - libgcc-ng: '>=12' - libssh2: '>=1.10.0,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - hash: - md5: a8ac96d6b09b8ed5b0ac6563901e2195 - sha256: 82e1c096d498804e22da92ae076e70d77ac43344e4c8035f7ca407645bec7ef1 - manager: conda - name: curl - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.85.0-h7bff187_0.tar.bz2 - version: 7.85.0 - category: main dependencies: python: '>=3.6' @@ -2372,51 +2079,163 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2 version: 0.11.0 +- category: main + dependencies: + expat: '>=2.4.2,<3.0a0' + libgcc-ng: '>=9.4.0' + libglib: '>=2.70.2,<3.0a0' + hash: + md5: ecfff944ba3960ecb334b9a2663d708d + sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 + manager: conda + name: dbus + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 + version: 1.13.6 - category: main dependencies: python: 2.7|>=3.6 hash: - md5: f15c3912378a07726093cc94d1e13251 - sha256: fe48fec5aeb77e5963ffb58de6fbb880eb545bbe25c609f614e39c56e4a193a6 + md5: b65b4d50dbd2d50fa0aeac367ec9eed7 + sha256: 06eb7167d4d760b3b437a491e32ab5b3f89e2a18f023c117fe213b038d88538a manager: conda name: distlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.5-pyhd8ed1ab_0.tar.bz2 - version: 0.3.5 + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.6-pyhd8ed1ab_0.tar.bz2 + version: 0.3.6 - category: main dependencies: - bzip2: '>=1.0.8,<2.0a0' - libarchive: '>=3.5.2,<3.6.0a0' - libcurl: '>=7.82.0,<8.0a0' - libgcc-ng: '>=10.3.0' - libmicrohttpd: '>=0.9.75,<0.10.0a0' - libstdcxx-ng: '>=10.3.0' - libzlib: '>=1.2.11,<1.3.0a0' - sqlite: '>=3.38.2,<4.0a0' - xz: '>=5.2.5,<5.3.0a0' - zstd: '>=1.5.2,<1.6.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 2e9ec0e21d51118b004f1f98e4fbf598 - sha256: bee5b4a723472cc844775a36dbdca35ecb24f40fbb162924bd8536b05930c3dc + md5: eeb35a5548c9b90fcfd6b36bc013557b + sha256: b9cfde2a6a78a54f3e8e65f009cf9d6faabface5e96d66d65d278be7c577f0e5 manager: conda - name: elfutils + name: docutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.187-h989201e_0.tar.bz2 - version: '0.187' + url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.15.2-py39hf3d152e_6.tar.bz2 + version: 0.15.2 +- category: main + dependencies: + expat: '>=2.4.8,<3.0a0' + gmp: '>=6.2.1,<7.0a0' + libzlib: '>=1.2.12,<1.3.0a0' + mpc: '>=1.2.1,<2.0a0' + mpfr: '>=4.1.0,<5.0a0' + ncurses: '>=6.3,<7.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: ae197de48b202c65efd7a61135ac0ae5 + manager: conda + name: esp-tools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/esp-tools-1.0.1-0_h1234567_g8925bf5.tar.bz2 + version: 1.0.1 - category: main dependencies: python: '>=3.7' hash: - md5: 10f0218dbd493ab2e5dc6759ddea4526 - sha256: 5b5884b070fbe23bb714c3de22038ed6056b6533b0974c81d5f4a7ef451b7eff + md5: 1addc115923d646ca19ed90edc413506 + sha256: 739c48f62747c942aa733041d36a2c1af41c2ecf2a59f1fec90cd7200e01be9a manager: conda name: filelock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.8.0-pyhd8ed1ab_0.tar.bz2 - version: 3.8.0 + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.0-pyhd8ed1ab_0.conda + version: 3.9.0 +- category: main + dependencies: + expat: '>=2.5.0,<3.0a0' + freetype: '>=2.12.1,<3.0a0' + libgcc-ng: '>=12' + libuuid: '>=2.32.1,<3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 0f69b688f52ff6da70bccb7ff7001d1d + sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83 + manager: conda + name: fontconfig + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda + version: 2.14.2 +- category: main + dependencies: + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + hash: + md5: 1a109126a43003d65b39c1cad656bc9b + sha256: a27f49d85e0a730374cc77606e9484b23b0f3edf32df1994b6d7ff5dd44aef92 + manager: conda + name: gdk-pixbuf + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h05c8ddd_0.conda + version: 2.42.10 +- category: main + dependencies: + gmp: '>=6.2.1,<7.0a0' + libgcc-ng: '>=12' + mpc: '>=1.2.1,<2.0a0' + mpfr: '>=4.1.0,<5.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: d019ebf9a328e19c211be7e916c57b80 + sha256: f5a5ab463d7d9e9c4f6a70748adf334ad28072c9befe4748d0eaa48fccc24d56 + manager: conda + name: gmpy2 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py39h376b7d2_1.tar.bz2 + version: 2.1.2 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + libglib: '>=2.66.4,<3.0a0' + libstdcxx-ng: '>=9.3.0' + hash: + md5: 112eb9b5b93f0c02e59aea4fd1967363 + sha256: ed9ae774aa867ad41bb0aa3f4a088f326dec32ab3468040322dbbd6c5bf33b0a + manager: conda + name: gts + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h64030ff_2.tar.bz2 + version: 0.7.6 +- category: main + dependencies: + gcc: 12.2.0.* + gxx_impl_linux-64: 12.2.0.* + hash: + md5: 2b54322e0dbb1345d64913e8b20b7d7c + sha256: f6c390055f2846d6013160c41dece0973daf577c5f1aaa73ff5dcf597b35d0ec + manager: conda + name: gxx + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.2.0-h26027b1_11.tar.bz2 + version: 12.2.0 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 3844897723d78cca5f813ad6bee5fc7b + sha256: e15ee3e17a30738fb8e2adccef809a41b388bcaf3cc9fc895c15287a86e93ce1 + manager: conda + name: humanfriendly + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py39hf3d152e_4.tar.bz2 + version: '10.0' - category: main dependencies: python: '>=3.6' @@ -2443,16 +2262,16 @@ package: version: 1.4.1 - category: main dependencies: - python: '' + python: '>=3.7' hash: - md5: 39161f81cc5e5ca45b8226fbb06c6905 - sha256: 9423ded508ebda87dae21d7876134e406ffeb88e6059f3fe1a909d180c351959 + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 manager: conda name: iniconfig optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2 - version: 1.1.1 + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + version: 2.0.0 - category: main dependencies: python: '>=3.7' @@ -2515,44 +2334,108 @@ package: version: '2.0' - category: main dependencies: - libclang13: 15.0.1 default_h3a83d3e_0 - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libgcc-ng: '>=9.3.0' + libstdcxx-ng: '>=9.3.0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 12b3d5cfa7a87103fcc906111aad80c1 - sha256: a207724037b161dad53f24064e2d839ea35a82c1ff176e8bbd6bf3649323dbd4 + md5: c5d6241b3ec5d02c316a5f66f14024c7 + sha256: 32fa01aacf67d40b54fbcf9c7e89aae964450ffdb58bb93baba068d8b5c72c3e manager: conda - name: libclang + name: kiwisolver optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.1-py39h1a9c180_1.tar.bz2 + version: 1.3.1 - category: main dependencies: - expat: '>=2.4.8,<3.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.10.4,<3.0a0' - icu: '>=70.1,<71.0a0' jpeg: '>=9e,<10a' - libgcc-ng: '>=10.3.0' - libpng: '>=1.6.37,<1.7.0a0' - libtiff: '>=4.3.0,<5.0a0' - libwebp: '' - libwebp-base: '>=1.2.2,<2.0a0' - libzlib: '>=1.2.11,<1.3.0a0' - zlib: '>=1.2.11,<1.3.0a0' + libgcc-ng: '>=12' + libtiff: '>=4.5.0,<4.6.0a0' hash: - md5: ea9758cf553476ddf75c789fdd239dc5 - sha256: ce87f320fb409c453671fc0c074ba04987f75b4e9a88d074650f23a92eae1054 + md5: c2566c2ea5f153ddd6bf4acaf7547d97 + sha256: 632f191ac65bc673f8fcef9947e2c8431b0db6ca357ceebde3bdc4ed187af814 manager: conda - name: libgd + name: lcms2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h18fbbfe_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda + version: '2.14' +- category: main + dependencies: + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: e80f44a23af61278b5efce3562f25e91 + sha256: 81e2f7b100fe0d458460a21d81535b88c84534e55fdc7023e8337086755543dc + manager: conda + name: libclang-cpp15 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: dcfae510179c3de2e42b3a2276d059e0 + sha256: 71539a4d472adc39a52e3cbbf5d33c06f09fd63f0c8f718fd2fb1274e7511b57 + manager: conda + name: libclang13 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_0.conda + version: 15.0.7 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: c9f4416a34bc91e0eb029f912c68f81f + sha256: 0ccd610207807f53328f137b2adc99c413f8e1dcd1302f0325412796a94eaaf7 + manager: conda + name: libcups + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda version: 2.3.3 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libgcc-ng: '>=12' + libnghttp2: '>=1.47.0,<2.0a0' + libssh2: '>=1.10.0,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + hash: + md5: bc302fa1cf8eda15c60f669b7524a320 + sha256: dbe6253906a6a1a0b0c4f26581143f4b434c58c67db78ee4adaf2c1c37bae226 + manager: conda + name: libcurl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.87.0-hdc1c0ab_0.conda + version: 7.87.0 +- category: main + dependencies: + gnutls: '>=3.7.6,<3.8.0a0' + libgcc-ng: '>=12' + hash: + md5: 78ff89df42ec0d4fe4355490d7843d9b + sha256: 780c82366caab4a741f2a4baa901a9b71fad6c2b8f1f64c168f10f61a939e9d4 + manager: conda + name: libmicrohttpd + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.75-h2603550_1.tar.bz2 + version: 0.9.75 - category: main dependencies: python: '>=3.4' @@ -2565,6 +2448,23 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/libusb1-2.0.1-pyhd8ed1ab_0.tar.bz2 version: 2.0.1 +- category: main + dependencies: + giflib: '>=5.2.1,<5.3.0a0' + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp-base: '>=1.2.4,<2.0a0' + hash: + md5: 77003f63d1763c1e6569a02c1742c9f4 + sha256: 43d563a16fe9db32b7d0be8d89968005f21139e9285dfe1fbfe9ae6647f1cc9f + manager: conda + name: libwebp + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.2.4-h1daa5a0_1.conda + version: 1.2.4 - category: main dependencies: python: '' @@ -2577,30 +2477,117 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/lockfile-0.12.2-py_1.tar.bz2 version: 0.12.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 35514f5320206df9f4661c138c02e1c1 + sha256: da31fe95611393bb7dd3dee309a89328448570fd8a3205c2c55c03eb73688b61 + manager: conda + name: markupsafe + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.2-py39h72bdee0_0.conda + version: 2.1.2 - category: main dependencies: python: '>=3.6' hash: - md5: f6dfba59b0021f654e55c226634f39d4 - sha256: 9ad66a1d52da6f4bcdb832539e15762b72e1c75c7c32461be6e02c2da53c02d3 + md5: 9b6ad26944f19f599800b068e0582227 + sha256: 9b13d47aab2ee2708157bf90244915652b9d2ceaee9952694cfd5caff3559fbc manager: conda name: more-itertools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-8.14.0-pyhd8ed1ab_0.tar.bz2 - version: 8.14.0 + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-9.0.0-pyhd8ed1ab_0.tar.bz2 + version: 9.0.0 +- category: main + dependencies: + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 1476ded6cd61da1e2d921a2396207c75 + sha256: a1f373b96221b13df5ab32ccf586232e6d82068c362278d0348a326951b93c34 + manager: conda + name: msgpack-python + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.4-py39hf939315_1.tar.bz2 + version: 1.0.4 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: a49da0929650af17fc943a90465e6ffc + sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 + manager: conda + name: mypy_extensions + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 + version: 0.4.3 - category: main dependencies: python: '>=3.8' hash: - md5: 1b74438a7270b1e2cbd3de9dba18ebb6 - sha256: eda4b0dba46c72770bc410c794f4da62509623a24c12b9805954828278915dc7 + md5: 88e40007414ea9a13f8df20fcffa87e2 + sha256: edd149a40ea746ce17c1b135c72a1646810e99071bedb7d808914cc31b3c8a5d manager: conda name: networkx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.7-pyhd8ed1ab_0.tar.bz2 - version: 2.8.7 + url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda + version: '3.0' +- category: main + dependencies: + libblas: '>=3.8.0,<4.0a0' + libcblas: '>=3.8.0,<4.0a0' + libgcc-ng: '>=10.3.0' + liblapack: '>=3.8.0,<4.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 0cf333996ebdeeba8d1c8c1c0ee9eff9 + sha256: 6ec8d7ade9e083de4f8a532d9e71d14e780cc9059a625b57174cc68f9a99b930 + manager: conda + name: numpy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.19.5-py39hd249d9e_3.tar.bz2 + version: 1.19.5 +- category: main + dependencies: + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libstdcxx-ng: '>=12' + libtiff: '>=4.5.0,<4.6.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 5ce6a42505c6e9e6151c54c3ec8d68ea + sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2 + manager: conda + name: openjpeg + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda + version: 2.5.0 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: 1ff2e3ca41f0ce16afec7190db28288b + sha256: 00288f5e5e841711e8b8fef1f1242c858d8ef99ccbe5d7e0df4789d5d8d40645 + manager: conda + name: packaging + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.0-pyhd8ed1ab_0.conda + version: '23.0' - category: main dependencies: python: '>=2.7' @@ -2617,26 +2604,53 @@ package: dependencies: python: '>=3.6' hash: - md5: 0f2d0da112ff6fd76cc3ce038d72d2c9 - sha256: 2f025bd6425932cbbca83a24194f8c4ef098d6aa4b4c6f878f73d926a1041303 + md5: be1e9f1c65a1ed0f2ae9352fec99db64 + sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502 manager: conda name: pkginfo optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.8.3-pyhd8ed1ab_0.tar.bz2 - version: 1.8.3 + url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda + version: 1.9.6 - category: main dependencies: - python: '>=3.7' + python: '>=3.8' hash: - md5: 2fb3f88922e7aec26ba652fcdfe13950 - sha256: a46843e317318405a8c66b640e7ad0c95d2f536918faa4f36cdfcda852000bcd + md5: 7d301a0d25f424d96175f810935f0da9 + sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 manager: conda - name: platformdirs + name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.2-pyhd8ed1ab_1.tar.bz2 - version: 2.5.2 + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 + version: 1.0.0 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: bfefe349de77edb720cb4688821ff78e + sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 + manager: conda + name: poetry-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 + version: 1.0.8 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 12184951da572828fb986b06ffb63eed + sha256: 515cf2cfc0504eb5758fa9ddfabc1dcbd7182da7650828aac97c9eee35597c84 + manager: conda + name: psutil + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2 + version: 5.9.4 - category: main dependencies: python: '' @@ -2675,7 +2689,21 @@ package: version: 0.4.8 - category: main dependencies: - python: ==2.7.*|>=3.4 + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 00f348bb07e883ceb502b02227b0c900 + sha256: 5ab9b896c57be67ab3c6c837c93688902540cc3eb7b30f79c7fedec8d71e8ec9 + manager: conda + name: pycosat + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.4-py39hb9d737c_1.tar.bz2 + version: 0.6.4 +- category: main + dependencies: + python: 2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -2685,6 +2713,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2 version: '2.21' +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: fdd9fda18e2af3df572dbeccaaff135a + sha256: 3f6e7c4727df937e72ba78853933c64153ecb5588391c4c97cb019cca1c6fa94 + manager: conda + name: pyinotify + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1006.tar.bz2 + version: 0.9.6 - category: main dependencies: python: '>=3.3' @@ -2709,6 +2750,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.6-pyhd8ed1ab_0.tar.bz2 version: 3.0.6 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 659013ef00dcd1751bfd26d894f73857 + sha256: 8b8719429dc47dd15252fe65fc77a3ad81f25aa5f4db0e6b1d7cdc54722e6ef4 + manager: conda + name: pyrsistent + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.19.3-py39h72bdee0_0.conda + version: 0.19.3 - category: main dependencies: __unix: '' @@ -2722,49 +2777,88 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 version: 1.7.1 -- category: main - dependencies: - python: 3.9.* - hash: - md5: 39adde4247484de2bb4000122fdcf665 - sha256: 67231829ea0101fee30c68f788fdba40a11bbee8fdac556daaab5832bd27bf3d - manager: conda - name: python_abi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2 - version: '3.9' - category: main dependencies: python: '>=3.6' hash: - md5: fc0dcaf9761d042fb8ac9128ce03fddb - sha256: c9104b60f1a0637973c60161bd00f720bbc9fd5167f2a26161cbf86d6e948f7e + md5: f59d49a7b464901cf714b9e7984d01a2 + sha256: 93cfc7a92099e26b0575a343da4a667b52371cc38e4dee4ee264dc041ef77bac manager: conda name: pytz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pytz-2022.4-pyhd8ed1ab_0.tar.bz2 - version: '2022.4' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7.1-pyhd8ed1ab_0.conda + version: 2022.7.1 - category: main dependencies: - __glibc: '>=2.17,<3.0.a0' - libcurl: '>=7.83.1,<8.0a0' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - pixman: '>=0.40.0,<1.0a0' - zstd: '>=1.5.2,<1.6.0a0' + __unix: '' + python: '>=2.7' hash: - md5: def7188533bc19a8df31e57de92260cf - sha256: 0e6f27f17a562308344271e8011553afc7335176ec415a8e89f07892df06db31 + md5: 2807a0becd1d986fe1ef9b7f8135f215 + sha256: 6502696aaef571913b22a808b15c185bd8ea4aabb952685deb29e6a6765761cb manager: conda - name: qemu + name: pywin32-on-windows optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 - version: 5.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + version: 0.1.0 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + yaml: '>=0.2.5,<0.3.0a0' + hash: + md5: 36a51b5f1856dc5a8d781220a4bc54ba + sha256: da790c97de2d40421caa5e7119ab4674302603b56f23849660392ab571c52aaa + manager: conda + name: pyyaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39hb9d737c_4.tar.bz2 + version: 5.4.1 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: d9da3b1d13895666f4cc2559d37b8de4 + sha256: b75af1f9c7a7f26215f7afbaa6fb84f34c08cf1bca6d5b8b248267dea62f4742 + manager: conda + name: ruamel.yaml.clib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.7-py39h72bdee0_1.conda + version: 0.2.7 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + yaml: '>=0.2.5,<0.3.0a0' + hash: + md5: f862616e19cd2aaa411d24725116b486 + sha256: 762f7719759ea01a81817424cc23d45e595aeabaa6e27adc0a70dadedd4301d2 + manager: conda + name: ruamel_yaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py39hb9d737c_1008.tar.bz2 + version: 0.15.80 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 4252d0c211566a9f65149ba7f6e87aa4 + sha256: ec8146799fabb0edfd0b2622fdd05413c9a2fcd13dfa846958214f9909ab3435 + manager: conda + name: setuptools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py39hf3d152e_1.tar.bz2 + version: 59.8.0 - category: main dependencies: python: '>=3.6' @@ -2817,14 +2911,14 @@ package: dependencies: python: '>=3.5' hash: - md5: 20b2eaeaeea4ef9a9a0d99770620fd09 - sha256: bd7838485e34e7ec5717552f83fa4a02623ff5fb854c10f2f57080b85d13c69e + md5: 5a31a7d564f551d0e6dff52fd8cb5b16 + sha256: 802810d8321d55e5666806d565e72949eabf77ad510fe2758ce1da2441675ef1 manager: conda name: sphinxcontrib-applehelp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2 - version: 1.0.2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.4-pyhd8ed1ab_0.conda + version: 1.0.4 - category: main dependencies: python: '>=3.5' @@ -2841,14 +2935,14 @@ package: dependencies: python: '>=3.5' hash: - md5: 77dad82eb9c8c1525ff7953e0756d708 - sha256: 3c1170f3a3170e59b156e375c949db98941892850e59fa4085c437a5df0e767d + md5: 6c8c4d6eb2325e59290ac6dbbeacd5f0 + sha256: aeff20be994e6f9520a91fc177a33cb3e4d0911cdf8d27e575d001f00afa33fd manager: conda name: sphinxcontrib-htmlhelp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2 - version: 2.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.1-pyhd8ed1ab_0.conda + version: 2.0.1 - category: main dependencies: python: '>=3.5' @@ -2921,6 +3015,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2 version: 0.12.0 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 8a7d309b08cff6386fe384aa10dd3748 + sha256: 67c3eef0531caf75a81945844288f363cd3b7b029829bd91ed0994bf6b231f34 + manager: conda + name: tornado + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_1.tar.bz2 + version: '6.2' - category: main dependencies: python: '>=3.6' @@ -2957,740 +3065,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.4.0-pyha770c72_0.tar.bz2 version: 4.4.0 -- category: main - dependencies: - python: '' - hash: - md5: 3563be4c5611a44210d9ba0c16113136 - sha256: 302f4f4bd1ad00c0be1426ecf6bb01db59cfd8aff3de0cf1596526dca1a6b70e - manager: conda - name: webencodings - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2 - version: 0.5.1 -- category: main - dependencies: - python: '>=3.7' - hash: - md5: f3b20ec2c97bad7104679b1d62eb7a11 - sha256: 911ac2b5c2bbe602c806ded8e5a40bd132e99ffa1dda10e27e6bc046c962fed6 - manager: conda - name: websocket-client - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.4.1-pyhd8ed1ab_0.tar.bz2 - version: 1.4.1 -- category: main - dependencies: - python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4' - hash: - md5: 1ca02aaf78d9c70d9a81a3bed5752022 - sha256: aede66e6370f3b936164a703e48362f9080d7162234058fb2ee63cc84d528afc - manager: conda - name: wheel - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2 - version: 0.37.1 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: b5b33faed6ed2b4ba47a690b8f5c0818 - sha256: eb40b33ae953e0020406318c9be0eb6edf62f3aa8e64ab0bf1953440b1a92763 - manager: conda - name: xmltodict - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/xmltodict-0.13.0-pyhd8ed1ab_0.tar.bz2 - version: 0.13.0 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-inputproto: '' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-libxext: 1.3.* - xorg-libxfixes: 5.0.* - hash: - md5: e77615e5141cad5a2acaa043d1cf0ca5 - sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68 - manager: conda - name: xorg-libxi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2 - version: 1.7.10 -- category: main - dependencies: - python: '>=3.7' - hash: - md5: 6f3fd8c9e0ab504010fb4216d5919c24 - sha256: 7740d6fcd4fffb895a93c765388382b58ea78e005180cee88078eb18e59f7f06 - manager: conda - name: zipp - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.9.0-pyhd8ed1ab_0.tar.bz2 - version: 3.9.0 -- category: main - dependencies: - python: '>=3.6' - pytz: '' - hash: - md5: 72f1c6d03109d7a70087bc1d029a8eda - sha256: 45297f4ce5786ff5bdf188846fcaa163f45629eebc285faf2e9e2cbeb6e57a91 - manager: conda - name: babel - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/babel-2.10.3-pyhd8ed1ab_0.tar.bz2 - version: 2.10.3 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '' - hash: - md5: be3b5cae027b3ead96829ef7717c76c3 - sha256: 4592888a3c5f1ad2e36ff89039ff1912c623695f985622cf0fcfc2d0cb315053 - manager: conda - name: botocore-stubs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.24.7-pyhd8ed1ab_0.tar.bz2 - version: 1.24.7 -- category: main - dependencies: - libffi: '>=3.4.2,<3.5.0a0' - libgcc-ng: '>=12' - pycparser: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 61e961a94c8fd535e4496b17e7452dfe - sha256: 36340ca4f6935f5841197aa91c6ffef5966b031fa1267cdee7e3add5ba4dfc81 - manager: conda - name: cffi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_0.tar.bz2 - version: 1.15.1 -- category: main - dependencies: - clang-format-15: 15.0.1 default_h2e3cab8_0 - libclang-cpp15: '>=15.0.1,<15.1.0a0' - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: b27e221ef3f74976d431e55d946fac84 - sha256: b137bc37dacf190159099bcac1cd4647adb23cb926461c8260202c95736312ef - manager: conda - name: clang-format - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 40edd9ebc04e4b4ec27c1008e5e3f99d - sha256: f828e0eac4f14d8868039f93cb4674582d95be4c1d89b34007f8154af3af4edf - manager: conda - name: click - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_0.tar.bz2 - version: 8.1.3 -- category: main - dependencies: - crashtest: '>=0.3.0,<0.4.0' - pastel: '>=0.2.0,<0.3.0' - pylev: '>=1.3,<2.0' - python: '' - hash: - md5: 159273f717a11e53b2656f8b6521a5e2 - sha256: 59b5c9ea3415e45e1beb1c191e3a0bf0dcca92c200a184704ea55002d1ef535c - manager: conda - name: clikit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyh9f0ad1d_0.tar.bz2 - version: 0.6.2 -- category: main - dependencies: - python: '' - six: '>=1.4.0' - hash: - md5: c69f19038efee4eb534623610d0c2053 - sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 - manager: conda - name: docker-pycreds - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 - version: 0.4.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: ec83bf44e734dfd8f0b507156df855a0 - sha256: 23e9ab2a539949427b4e4e02bf52a32427da1fe06cb21154e5cd8205ee40098b - manager: conda - name: docutils - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.15.2-py39hf3d152e_5.tar.bz2 - version: 0.15.2 -- category: main - dependencies: - expat: '>=2.4.8,<3.0a0' - gmp: '>=6.2.1,<7.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - mpc: '>=1.2.1,<2.0a0' - mpfr: '>=4.1.0,<5.0a0' - ncurses: '>=6.3,<7.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: ae197de48b202c65efd7a61135ac0ae5 - sha256: null - manager: conda - name: esp-tools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/esp-tools-1.0.1-0_h1234567_g8925bf5.tar.bz2 - version: 1.0.1 -- category: main - dependencies: - curl: '' - expat: '>=2.4.9,<3.0a0' - gettext: '' - libgcc-ng: '>=12' - libiconv: '>=1.17,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - pcre2: '>=10.37,<10.38.0a0' - perl: 5.* - hash: - md5: 8f0dccb08b30a45afe1def2081f82914 - sha256: bb5518206303796d72471d1c046e0d697efcb4e868d811a97f3dae634fe6667d - manager: conda - name: git - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.38.0-pl5321h5fbbf19_0.tar.bz2 - version: 2.38.0 -- category: main - dependencies: - python: '>=3.4' - smmap: '>=3.0.1,<4' - hash: - md5: 40fc6b14a45dee3a3fd9f302d026108e - sha256: fa018c53bd1c171dccde16c4eb9dd9f3ff6b7f2d222c564d48b5516ec1ee24ec - manager: conda - name: gitdb - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.9-pyhd8ed1ab_0.tar.bz2 - version: 4.0.9 -- category: main - dependencies: - gmp: '>=6.2.1,<7.0a0' - libgcc-ng: '>=9.4.0' - mpc: '>=1.2.1,<2.0a0' - mpfr: '>=4.1.0,<5.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 465c0b520e3ac7d7ed001cb31d1ad3c4 - sha256: 90ede58bfaac41a33801263426cb1f792e6ea48153fe344dc48de0b0fb6cbd7a - manager: conda - name: gmpy2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py39h78fa15d_0.tar.bz2 - version: 2.1.2 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '>=4,<5' - hash: - md5: 87cafe8c7638a5ac6fd8ec8fb01f1508 - sha256: 6f7da913ecad98951cadfe512af2c3979fbff752bf714da66760701e5463dd29 - manager: conda - name: graphql-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.3-pyhd8ed1ab_0.tar.bz2 - version: 3.2.3 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0a0' - freetype: '>=2.12.1,<3.0a0' - graphite2: '' - icu: '>=70.1,<71.0a0' - libgcc-ng: '>=12' - libglib: '>=2.74.0,<3.0a0' - libstdcxx-ng: '>=12' - hash: - md5: 888056bd4b12e110b10d4d1f29161c5e - sha256: 57c6ae03c3e70fe7cd28b9e5f27ee470181aef5426f6796a52bc591cfe473183 - manager: conda - name: harfbuzz - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-5.3.0-h418a68e_0.tar.bz2 - version: 5.3.0 -- category: main - dependencies: - python: '' - six: '>=1.9' - webencodings: '' - hash: - md5: b2355343d6315c892543200231d7154a - sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4 - manager: conda - name: html5lib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2 - version: '1.1' -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: f67fbf5dd896aeac1e145638bd1a7abf - sha256: bffda3932fb8aa968ac6ba35d9de9cd3f5b8f8a39945071576c86ec5109482ed - manager: conda - name: humanfriendly - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py39hf3d152e_2.tar.bz2 - version: '10.0' -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - zipp: '>=0.5' - hash: - md5: 4c2a0eabf0b8980b2c755646a6f750eb - sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 - manager: conda - name: importlib-metadata - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 - version: 4.11.4 -- category: main - dependencies: - python: '>=3.6' - zipp: '>=0.4' - hash: - md5: 24dd95143fc4f3898143c93a6d5a5d41 - sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 - manager: conda - name: importlib_resources - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 - version: 3.3.1 -- category: main - dependencies: - more-itertools: '' - python: '>=3.7' - hash: - md5: 6e2ef6e4a000db889c124f3927c24f7c - sha256: 82f11df8c7464fe28eb6dab0ebd755aacd8d2b4f15ba97b769bdaee27983e4d8 - manager: conda - name: jaraco.classes - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.2.2-pyhd8ed1ab_0.tar.bz2 - version: 3.2.2 -- category: main - dependencies: - jsonpointer: '>=1.9' - python: '>=3.6' - hash: - md5: 09150b51b0528a31a0f6500b96fdde82 - sha256: d87fd8da2d3327744821b6b1d1e5b76e4077224fb626ce02d6623a1bc6ee2563 - manager: conda - name: jsonpatch - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.32-pyhd8ed1ab_0.tar.bz2 - version: '1.32' -- category: main - dependencies: - python: '' - six: '' - hash: - md5: 7b503c6c097fa8677d6ff17d2bfb623f - sha256: b89ace740500f4a311475ae44add2675d72dc42c02971910ea844812edf93736 - manager: conda - name: junit-xml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/junit-xml-1.9-pyh9f0ad1d_0.tar.bz2 - version: '1.9' -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - libstdcxx-ng: '>=9.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: c5d6241b3ec5d02c316a5f66f14024c7 - sha256: 32fa01aacf67d40b54fbcf9c7e89aae964450ffdb58bb93baba068d8b5c72c3e - manager: conda - name: kiwisolver - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.1-py39h1a9c180_1.tar.bz2 - version: 1.3.1 -- category: main - dependencies: - elfutils: '>=0.187,<0.188.0a0' - libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 5b3ed39ee3809d63d347b649de0a45f8 - sha256: null - manager: conda - name: libdwarf - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 - version: 0.0.0.20190110_28_ga81397fc4 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 7cda413e43b252044a270c2477031c5c - sha256: 05e22cdcefeebe18698acc1b7445fd7e8b4b07c4d65c99f688ddeff8569d42d0 - manager: conda - name: markupsafe - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.1-py39hb9d737c_1.tar.bz2 - version: 2.1.1 -- category: main - dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 35b4a1a56408657cd2c6ce7145c21ecf - sha256: f3a6149980035ee354ddbaf026e8e82db91dcdd1759439522e10d0d64decf237 - manager: conda - name: msgpack-python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.4-py39hf939315_0.tar.bz2 - version: 1.0.4 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: fc7500ebc3299b6f4a66652fa83f627e - sha256: 2f6ad58442a4f1daa114b440fff46e018cc7323493f91a2bab0bb23d5935f03d - manager: conda - name: mypy_extensions - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_5.tar.bz2 - version: 0.4.3 -- category: main - dependencies: - libblas: '>=3.8.0,<4.0a0' - libcblas: '>=3.8.0,<4.0a0' - libgcc-ng: '>=10.3.0' - liblapack: '>=3.8.0,<4.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 0cf333996ebdeeba8d1c8c1c0ee9eff9 - sha256: 6ec8d7ade9e083de4f8a532d9e71d14e780cc9059a625b57174cc68f9a99b930 - manager: conda - name: numpy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.19.5-py39hd249d9e_3.tar.bz2 - version: 1.19.5 -- category: main - dependencies: - pyparsing: '>=2.0.2' - python: '>=2.7' - hash: - md5: be69a38e912054a62dc82cc3c7711a64 - sha256: 887645177378f0d383b150259c7f255e9a1a47383872be118e197dc175718316 - manager: conda - name: packaging - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/packaging-20.9-pyh44b312d_0.tar.bz2 - version: '20.9' -- category: main - dependencies: - ptyprocess: '>=0.5' - python: '' - hash: - md5: 5909e7b978141dd80d28dbf9de627827 - sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 - manager: conda - name: pexpect - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 - version: 4.8.0 -- category: main - dependencies: - freetype: '>=2.10.4,<3.0a0' - jpeg: '>=9e,<10a' - lcms2: '>=2.12,<3.0a0' - libgcc-ng: '>=12' - libtiff: '>=4.4.0,<5.0a0' - libwebp-base: '>=1.2.4,<2.0a0' - libxcb: '>=1.13,<1.14.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openjpeg: '>=2.5.0,<2.6.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tk: '>=8.6.12,<8.7.0a0' - hash: - md5: 3b74a959f6a8008f5901de60b3572c09 - sha256: 607a85830e1c39ded9c825ab0fb24d0768a5c11314dc99957f10479cd2961936 - manager: conda - name: pillow - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py39hd5dbb17_2.tar.bz2 - version: 9.2.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: c375c89340e563053f3656c7f134d265 - sha256: d82e717937e171a2b124030acd2625e0a3ab62e82a137a21c03a91013280c29f - manager: conda - name: pluggy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_3.tar.bz2 - version: 1.0.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: bfefe349de77edb720cb4688821ff78e - sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 - manager: conda - name: poetry-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 - version: 1.0.8 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 1e7ffe59e21862559e06b981817e5058 - sha256: ffd165f67a3d5bec03fd3d7c9ab35b8ff4d0f66c5be42f5d4d50db96637a34aa - manager: conda - name: psutil - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.2-py39hb9d737c_0.tar.bz2 - version: 5.9.2 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: b7d981539b1a880d19c6a158104a3fa1 - sha256: e7685b82c1d6269d5fc3a626a4f26138e4136b4b470f308f1a65b01ff17b3b38 - manager: conda - name: pycosat - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.3-py39hb9d737c_1010.tar.bz2 - version: 0.6.3 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 306061499621615a60841fa7fc8ba75b - sha256: c7d6dc368e1e3092dc3b3eae5841a6f1d0952033f4e259fb639ab54958c4a6b8 - manager: conda - name: pyinotify - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1005.tar.bz2 - version: 0.9.6 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: e2575d7508c7933047544ac7a15e021d - sha256: 9da8d2a32f1d961eaefb5f9aedb53ce74ad4da1a6272ae4cd4eb2fab7d6ed1b0 - manager: conda - name: pyrsistent - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.18.1-py39hb9d737c_1.tar.bz2 - version: 0.18.1 -- category: main - dependencies: - python: '>=3.6' - six: '>=1.5' - hash: - md5: dd999d1cc9f79e67dbb855c8924c7984 - sha256: 54d7785c7678166aa45adeaccfc1d2b8c3c799ca2dc05d4a82bb39b1968bd7da - manager: conda - name: python-dateutil - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 - version: 2.8.2 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - yaml: '>=0.2.5,<0.3.0a0' - hash: - md5: 896c2e9e5ed4b8b9148380b658898fdf - sha256: 030c5a81b4aafcfa169ba13ef7cbc5f1cf201b524013082903edd68471086d1e - manager: conda - name: pyyaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39hb9d737c_3.tar.bz2 - version: 5.4.1 -- category: main - dependencies: - pyasn1: '>=0.1.3' - python: '' - hash: - md5: 3452ab3790dbb1df9508b3fa4ea2f806 - sha256: 6ea0fcd8f40c7f78e2c6cff344bb91f457682aa352ee48364246371a41410ee8 - manager: conda - name: rsa - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/rsa-4.7.2-pyh44b312d_0.tar.bz2 - version: 4.7.2 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a0fabd69dd35bb24ec84d28dc01c3c5b - sha256: 388a1b6b559156b27f6eb1952a85632ad907f0572d31e3897dba338d28c44860 - manager: conda - name: ruamel.yaml.clib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.6-py39hb9d737c_1.tar.bz2 - version: 0.2.6 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - yaml: '>=0.2.5,<0.3.0a0' - hash: - md5: 89efb3c015ef8bc2a33535a2c1b852b2 - sha256: d417615e90a5f66004ef9f742396db129eaa0dcbe7f723288eb2ddc34d39750f - manager: conda - name: ruamel_yaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py39hb9d737c_1007.tar.bz2 - version: 0.15.80 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 4252d0c211566a9f65149ba7f6e87aa4 - sha256: ec8146799fabb0edfd0b2622fdd05413c9a2fcd13dfa846958214f9909ab3435 - manager: conda - name: setuptools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py39hf3d152e_1.tar.bz2 - version: 59.8.0 -- category: main - dependencies: - python: '>=3.6' - typing: '>=3.6,<4.0' - hash: - md5: f82cf1ff4aa8228ec71041b8adef19d6 - sha256: d25441deeb45f575a85977e4444f15d26db2491f5471469f0e5e4fa2e8888a4b - manager: conda - name: tomlkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.11.5-pyha770c72_0.tar.bz2 - version: 0.11.5 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a3c57360af28c0d9956622af99a521cd - sha256: c51e56ebf493a94f4f25840a0175405b3f650cd63ebcd6e19a68ac9cfb5e5411 - manager: conda - name: tornado - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_0.tar.bz2 - version: '6.2' -- category: main - dependencies: - colorama: '' - python: '>=2.7' - hash: - md5: 5526ff3f88f9db87bb0924b9ce575345 - sha256: d196e0c3a057a840147fa23d3d43eafd6b63258846bdafe8ac17f70b534f91bd - manager: conda - name: tqdm - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.64.1-pyhd8ed1ab_0.tar.bz2 - version: 4.64.1 -- category: main - dependencies: - typing_extensions: 4.4.0 pyha770c72_0 - hash: - md5: be969210b61b897775a0de63cd9e9026 - sha256: 6f129b1bc18d111dcf3abaec6fcf6cbee00f1b77bb42d0f0bc8d85f8faa65cf0 - manager: conda - name: typing-extensions - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.4.0-hd8ed1ab_0.tar.bz2 - version: 4.4.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -3710,7 +3084,25 @@ package: version: '2.36' - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + flex: '>=2.6.4,<3.0a0' + gxx_impl_linux-64: '' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + make: '' + perl: '' + hash: + md5: 41af6df1758bae89161daf268566384e + sha256: e2f2302d69c0d6928d95a1c699b5ef0b14e0243e78495734962c78136d2e6b9f + manager: conda + name: verilator + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/verilator-4.226-he0ac6c6_1.tar.bz2 + version: '4.226' +- category: main + dependencies: + gettext: '>=0.21.1,<1.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' @@ -3718,107 +3110,215 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: ccb6242365b032a5469310116286d834 - sha256: e2b8864ce60cc0f39da4e82cb786d474d7b572114952cc3dea20a287e3731684 + md5: 8f23fe6252f0db61a467fc68235a6c6c + sha256: 1ff7b1aa32d188658e797ba09579afc9712ef00a5b10700ebc10d57155dcd299 manager: conda name: vim optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0335-py39pl5321h20e6244_0.tar.bz2 - version: 9.0.0335 + url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0814-py39pl5321h20e6244_0.tar.bz2 + version: 9.0.0814 - category: main dependencies: - distlib: '>=0.3.5,<1' - filelock: '>=3.4.1,<4' - platformdirs: '>=2.4,<3' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '' hash: - md5: 165e71a44187ac22e2e1669fd3ca2392 - sha256: 31540fea0c3fd62543ee65ad4b2deff1eac08f4765b1037db7d6a82fbc4719c2 + md5: 3563be4c5611a44210d9ba0c16113136 + sha256: 302f4f4bd1ad00c0be1426ecf6bb01db59cfd8aff3de0cf1596526dca1a6b70e manager: conda - name: virtualenv + name: webencodings optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.16.5-py39hf3d152e_0.tar.bz2 - version: 20.16.5 + url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2 + version: 0.5.1 - category: main dependencies: - libgcc-ng: '>=10.3.0' + python: '>=3.7' + hash: + md5: 6df990e93f39e91a3f45d4d885404d56 + sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b + manager: conda + name: websocket-client + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda + version: 1.5.0 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: c829cfb8cb826acb9de0ac1a2df0a940 + sha256: bd4f11ff075ff251ade9f57686f31473e25be46ab282d9603f551401250f9f44 + manager: conda + name: wheel + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2 + version: 0.38.4 +- category: main + dependencies: + libgcc-ng: '>=12' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 25a4f17bf308bc36a15ebe63c3864ac7 - sha256: 3b9eaa6d7040406ab31023bd7596b4c49c4128216b702ee64a8a9cccc74b45e0 + md5: f5906293b6eabeaaeafc90e427f9cbe5 + sha256: 16fa658554048c0eb37684685cf046ea3ef9e1f1fe03c92cbd8f726197ba60fe manager: conda name: wrapt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.14.1-py39hb9d737c_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.14.1-py39hb9d737c_1.tar.bz2 version: 1.14.1 - category: main dependencies: - libgcc-ng: '>=9.3.0' - xorg-inputproto: '' - xorg-libx11: '>=1.7.1,<2.0a0' - xorg-libxext: 1.3.* - xorg-libxi: 1.7.* - xorg-recordproto: '' + python: '>=3.6' hash: - md5: a220b1a513e19d5cb56c1311d44f12e6 - sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87 + md5: b5b33faed6ed2b4ba47a690b8f5c0818 + sha256: eb40b33ae953e0020406318c9be0eb6edf62f3aa8e64ab0bf1953440b1a92763 manager: conda - name: xorg-libxtst + name: xmltodict optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2 - version: 1.2.3 + url: https://conda.anaconda.org/conda-forge/noarch/xmltodict-0.13.0-pyhd8ed1ab_0.tar.bz2 + version: 0.13.0 - category: main dependencies: - cffi: '>=1.0.0' - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=9.3.0' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-xextproto: '' + hash: + md5: 536cc5db4d0a3ba0630541aec064b5e4 + sha256: cf47ccbf49d46189d7bdadeac1387c826be82deb92ce6badbb03baae4b67ed26 + manager: conda + name: xorg-libxext + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2 + version: 1.3.4 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-fixesproto: '' + xorg-libx11: '>=1.7.0,<2.0a0' + hash: + md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a + sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3 + manager: conda + name: xorg-libxfixes + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2 + version: 5.0.3 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-renderproto: '' + hash: + md5: f59c1242cc1dd93e72c2ee2b360979eb + sha256: 7d907ed9e2ec5af5d7498fb3ab744accc298914ae31497ab6dcc6ef8bd134d00 + manager: conda + name: xorg-libxrender + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2 + version: 0.9.10 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: edc3568566cc48335f0b5d86d40fdbb9 + sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed + manager: conda + name: zipp + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda + version: 3.12.0 +- category: main + dependencies: + python: '>=3.6' + pytz: '' + hash: + md5: 2ea70fde8d581ba9425a761609eed6ba + sha256: 21a8403d886136c0a80f965ae5387fa1693b19ddd69023bcd0e844f2510d7e2f + manager: conda + name: babel + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.11.0-pyhd8ed1ab_0.tar.bz2 + version: 2.11.0 +- category: main + dependencies: + python: '>=3.6' + typing_extensions: '' + hash: + md5: be3b5cae027b3ead96829ef7717c76c3 + sha256: 4592888a3c5f1ad2e36ff89039ff1912c623695f985622cf0fcfc2d0cb315053 + manager: conda + name: botocore-stubs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.24.7-pyhd8ed1ab_0.tar.bz2 + version: 1.24.7 +- category: main + dependencies: + fontconfig: '>=2.13.96,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + icu: '>=70.1,<71.0a0' + libgcc-ng: '>=12' + libglib: '>=2.72.1,<3.0a0' + libpng: '>=1.6.38,<1.7.0a0' + libxcb: '>=1.13,<1.14.0a0' + libzlib: '>=1.2.12,<1.3.0a0' + pixman: '>=0.40.0,<1.0a0' + xorg-libice: '' + xorg-libsm: '' + xorg-libx11: '' + xorg-libxext: '' + xorg-libxrender: '' + zlib: '>=1.2.12,<1.3.0a0' + hash: + md5: d1a88f3ed5b52e1024b80d4bcd26a7a0 + sha256: f062cf56e6e50d3ad4b425ebb3765ca9138c6ebc52e6a42d1377de8bc8d954f6 + manager: conda + name: cairo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-ha61ee94_1014.tar.bz2 + version: 1.16.0 +- category: main + dependencies: + libffi: '>=3.4,<4.0a0' + libgcc-ng: '>=12' + pycparser: '' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 05a99367d885ec9990f25e74128a8a08 - sha256: 4a520850207e965244c70a412f030f1c353b70b942ad99a0a0cfb83e64bbd60e + md5: 20080319ef73fbad74dcd6d62f2a3ffe + sha256: 485a8f65c58c26c7d48bfea20ed1d6f1493f3329dd2c9c0a888a1c2b7c2365c5 manager: conda - name: brotlipy + name: cffi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1004.tar.bz2 - version: 0.7.0 + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_3.conda + version: 1.15.1 - category: main dependencies: - clang-format: 15.0.1 default_h2e3cab8_0 - libclang: '>=15.0.1,<15.1.0a0' - libclang-cpp15: '>=15.0.1,<15.1.0a0' + libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' + libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: ef163795e59e62da40e622ee88b7f468 - sha256: 8fcbebb32ca12bbe1413bada6ab559b280f10256e1d07f522d64cef0292b2f71 + md5: ffc64b2f543d2d128a9fc4e75e4436ac + sha256: e793476788a00ddedd2cd4f41fb59d9ca6f47e593eb04d5012b11206a1a3d0c7 manager: conda - name: clang-tools + name: clang-format-15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - clikit: '>=0.6.0,<0.7.0' - python: '>=3.6' - hash: - md5: 4c82b11a3d06031bd58e7d869f53d965 - sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c - manager: conda - name: cleo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 - version: 0.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_0.conda + version: 15.0.7 - category: main dependencies: click: '' @@ -3834,35 +3334,72 @@ package: version: 1.2.2 - category: main dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tqdm: '' + crashtest: '>=0.3.0,<0.4.0' + pastel: '>=0.2.0,<0.3.0' + pylev: '>=1.3,<2.0' + python: '' hash: - md5: ae2e8e8dd87ed4286c89fc8c081e9bdf - sha256: e11ea9eac5dcaf43b3a3292c8daeed9f6c9dbf568a7ca2e27909d3a95c35ef35 + md5: 159273f717a11e53b2656f8b6521a5e2 + sha256: 59b5c9ea3415e45e1beb1c191e3a0bf0dcca92c200a184704ea55002d1ef535c manager: conda - name: conda-package-handling + name: clikit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-package-handling-1.9.0-py39hb9d737c_0.tar.bz2 - version: 1.9.0 + url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyh9f0ad1d_0.tar.bz2 + version: 0.6.2 - category: main dependencies: - cffi: '>=1.12' + bzip2: '>=1.0.8,<2.0a0' + expat: '>=2.5.0,<3.0a0' + libcurl: '>=7.87.0,<8.0a0' libgcc-ng: '>=12' - openssl: '>=1.1.1q,<1.1.2a' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + libstdcxx-ng: '>=12' + libuv: '' + libzlib: '>=1.2.13,<1.3.0a0' + ncurses: '>=6.3,<7.0a0' + rhash: '' + xz: '>=5.2.6,<6.0a0' + zlib: '' + zstd: '>=1.5.2,<1.6.0a0' hash: - md5: db3436b5db460fa721859db55694d8ff - sha256: d005958fac69f5fc888841e3743c950b8105f2d1e2f244ee0fa6a1a23f27b5f4 + md5: e0ce22752cbd71a6b32b23d96b787e42 + sha256: 439297a5bbfd6d1bab577544f9dc7737630237b82bbc8c9ee98f8a34bf286654 manager: conda - name: cryptography + name: cmake optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-38.0.1-py39hd97740a_0.tar.bz2 - version: 38.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.25.2-h077f3f9_0.conda + version: 3.25.2 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libcurl: 7.87.0 hdc1c0ab_0 + libgcc-ng: '>=12' + libssh2: '>=1.10.0,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + hash: + md5: b14123ca479b9473d7f7395b0fd25c97 + sha256: a91f7dcc89f86716acbd02804a461943cfca7835ffb8b4937fe2d45a86e6ab65 + manager: conda + name: curl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.87.0-hdc1c0ab_0.conda + version: 7.87.0 +- category: main + dependencies: + python: '' + six: '>=1.4.0' + hash: + md5: c69f19038efee4eb534623610d0c2053 + sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 + manager: conda + name: docker-pycreds + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 + version: 0.4.0 - category: main dependencies: cloudpickle: '' @@ -3908,30 +3445,105 @@ package: version: 0.18.0 - category: main dependencies: - gitdb: '>=4.0.1,<5' - python: '>=3.7' - typing_extensions: '>=3.7.4.3' + bzip2: '>=1.0.8,<2.0a0' + libarchive: '>=3.5.2,<3.6.0a0' + libcurl: '>=7.82.0,<8.0a0' + libgcc-ng: '>=10.3.0' + libmicrohttpd: '>=0.9.75,<0.10.0a0' + libstdcxx-ng: '>=10.3.0' + libzlib: '>=1.2.11,<1.3.0a0' + sqlite: '>=3.38.2,<4.0a0' + xz: '>=5.2.5,<5.3.0a0' + zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 5c3c75a7349ad3760c3de38be9432121 - sha256: 4b5f95a42c10d104951b3bdc1163d28fbaa4cb2bb9adc3e61d100db493d5f8a3 + md5: 2e9ec0e21d51118b004f1f98e4fbf598 + sha256: bee5b4a723472cc844775a36dbdca35ecb24f40fbb162924bd8536b05930c3dc manager: conda - name: gitpython + name: elfutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.28-pyhd8ed1ab_0.tar.bz2 - version: 3.1.28 + url: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.187-h989201e_0.tar.bz2 + version: '0.187' - category: main dependencies: - importlib-metadata: '>=4.11.4,<4.11.5.0a0' + python: '>=3.4' + smmap: '>=3.0.1,<4' hash: - md5: 9a1925fdb91c81437b8012e48ede6851 - sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + md5: 3706d2f3d7cb5dae600c833345a76132 + sha256: 0003ab2b971913380633c711bf49a54dcf06e179986c725b0925854b58878377 manager: conda - name: importlib_metadata + name: gitdb optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.10-pyhd8ed1ab_0.conda + version: 4.0.10 +- category: main + dependencies: + python: '>=3.6' + typing_extensions: '>=4,<5' + hash: + md5: 87cafe8c7638a5ac6fd8ec8fb01f1508 + sha256: 6f7da913ecad98951cadfe512af2c3979fbff752bf714da66760701e5463dd29 + manager: conda + name: graphql-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.3-pyhd8ed1ab_0.tar.bz2 + version: 3.2.3 +- category: main + dependencies: + python: '' + six: '>=1.9' + webencodings: '' + hash: + md5: b2355343d6315c892543200231d7154a + sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4 + manager: conda + name: html5lib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2 + version: '1.1' +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + zipp: '>=0.5' + hash: + md5: 4c2a0eabf0b8980b2c755646a6f750eb + sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 + manager: conda + name: importlib-metadata + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 version: 4.11.4 +- category: main + dependencies: + python: '>=3.6' + zipp: '>=0.4' + hash: + md5: 24dd95143fc4f3898143c93a6d5a5d41 + sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 + manager: conda + name: importlib_resources + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 + version: 3.3.1 +- category: main + dependencies: + more-itertools: '' + python: '>=3.7' + hash: + md5: 31e4a1506968d017229bdb64695013a1 + sha256: 6a81b67a1de8f761f66a4540bbd07cc27f9fbf2c7d67aa3732ebef379cf62874 + manager: conda + name: jaraco.classes + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.2.3-pyhd8ed1ab_0.tar.bz2 + version: 3.2.3 - category: main dependencies: markupsafe: '>=2.0' @@ -3945,6 +3557,474 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2 version: 3.1.2 +- category: main + dependencies: + jsonpointer: '>=1.9' + python: '>=3.6' + hash: + md5: 09150b51b0528a31a0f6500b96fdde82 + sha256: d87fd8da2d3327744821b6b1d1e5b76e4077224fb626ce02d6623a1bc6ee2563 + manager: conda + name: jsonpatch + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.32-pyhd8ed1ab_0.tar.bz2 + version: '1.32' +- category: main + dependencies: + python: '' + six: '' + hash: + md5: 7b503c6c097fa8677d6ff17d2bfb623f + sha256: b89ace740500f4a311475ae44add2675d72dc42c02971910ea844812edf93736 + manager: conda + name: junit-xml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/junit-xml-1.9-pyh9f0ad1d_0.tar.bz2 + version: '1.9' +- category: main + dependencies: + libclang13: 15.0.7 default_h3e3d535_0 + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 189f7f97245f594b7a9d8e2b9f311cf8 + sha256: e837bd39a07949e6f27d69bcc784ecc1e7c9f7c96c920c0a1f875f5c23b986b2 + manager: conda + name: libclang + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + expat: '>=2.5.0,<3.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + icu: '>=70.1,<71.0a0' + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp: '' + libwebp-base: '>=1.2.4,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + zlib: '' + hash: + md5: 82ef57611ace65b59db35a9687264572 + sha256: 6674781023188deeda7752e5dc429a54fd1639c9d61cbb25296cbbb55367884a + manager: conda + name: libgd + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5aea950_4.conda + version: 2.3.3 +- category: main + dependencies: + python: '' + setuptools: '' + six: '' + tornado: '' + hash: + md5: b7190e3ec3eff52839434bf4698e2d62 + sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765 + manager: conda + name: livereload + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 + version: 2.6.3 +- category: main + dependencies: + libgcc-ng: '>=9.4.0' + mypy_extensions: '>=0.4.3,<0.5.0' + psutil: '>=4.0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + tomli: '>=1.1.0' + typing_extensions: '>=3.7.4' + hash: + md5: 2ec6c26d45a781f3d3810fb2de290e8f + sha256: 5329a800c4caa0cb43b4340e7ce0b0ce7a1b0e9dde450b864c83605f4c08492c + manager: conda + name: mypy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 + version: '0.931' +- category: main + dependencies: + ptyprocess: '>=0.5' + python: '' + hash: + md5: 5909e7b978141dd80d28dbf9de627827 + sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 + manager: conda + name: pexpect + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 + version: 4.8.0 +- category: main + dependencies: + freetype: '>=2.12.1,<3.0a0' + lcms2: '>=2.14,<3.0a0' + libgcc-ng: '>=12' + libjpeg-turbo: '>=2.1.4,<3.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp-base: '>=1.2.4,<2.0a0' + libxcb: '>=1.13,<1.14.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openjpeg: '>=2.5.0,<3.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + tk: '>=8.6.12,<8.7.0a0' + hash: + md5: d62ba9d1a981544c809813afaf0be5c0 + sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 + manager: conda + name: pillow + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda + version: 9.4.0 +- category: main + dependencies: + python: '>=3.7' + setuptools: '' + wheel: '' + hash: + md5: 85b35999162ec95f9f999bac15279c02 + sha256: bbffec284bd0e154363e845121f43007e7e64c80412ff13be21909be907b697d + manager: conda + name: pip + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.0-pyhd8ed1ab_0.conda + version: '23.0' +- category: main + dependencies: + python: '>=3.6' + setuptools: '' + hash: + md5: c78cd16b11cd6a295484bd6c8f24bea1 + sha256: e8710e24f60b6a97289468f47914e53610101755088bc237621cc1980edbfcd9 + manager: conda + name: pygments + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.14.0-pyhd8ed1ab_0.conda + version: 2.14.0 +- category: main + dependencies: + attrs: '>=19.2.0' + iniconfig: '' + packaging: '' + pluggy: '>=0.12,<2' + py: '>=1.8.2' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + toml: '' + hash: + md5: 6e76597729a7ac9b0124303c326f4706 + sha256: 12d9d5b7d6e5aa639725dddc35d3f8dec8fe01bd05ccf60ac45975f93d1534cf + manager: conda + name: pytest + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pytest-6.2.5-py39hf3d152e_3.tar.bz2 + version: 6.2.5 +- category: main + dependencies: + python: '>=3.6' + six: '>=1.5' + hash: + md5: dd999d1cc9f79e67dbb855c8924c7984 + sha256: 54d7785c7678166aa45adeaccfc1d2b8c3c799ca2dc05d4a82bb39b1968bd7da + manager: conda + name: python-dateutil + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 + version: 2.8.2 +- category: main + dependencies: + __glibc: '>=2.17,<3.0.a0' + libcurl: '>=7.83.1,<8.0a0' + libgcc-ng: '>=12' + libglib: '>=2.72.1,<3.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + pixman: '>=0.40.0,<1.0a0' + zstd: '>=1.5.2,<1.6.0a0' + hash: + md5: def7188533bc19a8df31e57de92260cf + sha256: 0e6f27f17a562308344271e8011553afc7335176ec415a8e89f07892df06db31 + manager: conda + name: qemu + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 + version: 5.0.0 +- category: main + dependencies: + pyasn1: '>=0.1.3' + python: '' + hash: + md5: 3452ab3790dbb1df9508b3fa4ea2f806 + sha256: 6ea0fcd8f40c7f78e2c6cff344bb91f457682aa352ee48364246371a41410ee8 + manager: conda + name: rsa + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/rsa-4.7.2-pyh44b312d_0.tar.bz2 + version: 4.7.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + ruamel.yaml.clib: '>=0.1.2' + setuptools: '' + hash: + md5: 51ad16ab9c63e5d14145f34adbbacf70 + sha256: be03761fc9230416697e78e1a9b35af3165b03e7e8c6efa0d01157898d564741 + manager: conda + name: ruamel.yaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py39hb9d737c_2.tar.bz2 + version: 0.17.21 +- category: main + dependencies: + python: '>=3.6' + typing: '>=3.6,<4.0' + hash: + md5: 471bf9e605820b59988e830382b8d654 + sha256: e8b3bc2203266636740ce10536ef951c52b53b43bfed3b938117547efc47e374 + manager: conda + name: tomlkit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.11.6-pyha770c72_0.tar.bz2 + version: 0.11.6 +- category: main + dependencies: + colorama: '' + python: '>=2.7' + hash: + md5: 5526ff3f88f9db87bb0924b9ce575345 + sha256: d196e0c3a057a840147fa23d3d43eafd6b63258846bdafe8ac17f70b534f91bd + manager: conda + name: tqdm + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.64.1-pyhd8ed1ab_0.tar.bz2 + version: 4.64.1 +- category: main + dependencies: + typing_extensions: 4.4.0 pyha770c72_0 + hash: + md5: be969210b61b897775a0de63cd9e9026 + sha256: 6f129b1bc18d111dcf3abaec6fcf6cbee00f1b77bb42d0f0bc8d85f8faa65cf0 + manager: conda + name: typing-extensions + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.4.0-hd8ed1ab_0.tar.bz2 + version: 4.4.0 +- category: main + dependencies: + markupsafe: '>=2.1.1' + python: '>=3.7' + hash: + md5: 8e69568592e552919201f730b01a58c2 + sha256: 3bb3d6a98f9e3c6081166d81368e4a0e48fdbfe19e683a957ac344b063c42412 + manager: conda + name: werkzeug + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-2.2.2-pyhd8ed1ab_0.tar.bz2 + version: 2.2.2 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-inputproto: '' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-libxext: 1.3.* + xorg-libxfixes: 5.0.* + hash: + md5: e77615e5141cad5a2acaa043d1cf0ca5 + sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68 + manager: conda + name: xorg-libxi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2 + version: 1.7.10 +- category: main + dependencies: + cffi: '>=1.1' + libgcc-ng: '>=12' + pip: '' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + six: '>=1.4.1' + hash: + md5: 93f72f06a4b00ce36d16007c01e6d1aa + sha256: 8afe6676576da6e661ab7c0f2dfa52acc9e6f9bfc5ad2f1d57bf5131ddbdd975 + manager: conda + name: bcrypt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-3.2.2-py39hb9d737c_1.tar.bz2 + version: 3.2.2 +- category: main + dependencies: + cffi: '>=1.0.0' + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: a639fdd9428d8b25f8326a3838d54045 + sha256: 293229afcd31e81626e5cfe0478be402b35d29b73aa421a49470645debda5019 + manager: conda + name: brotlipy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1005.tar.bz2 + version: 0.7.0 +- category: main + dependencies: + clang-format-15: 15.0.7 default_had23c3d_0 + libclang-cpp15: '>=15.0.7,<15.1.0a0' + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 01a6a903c7217697422aed91a0ba197d + sha256: c240e47db71a38f975d05c4467a8d0cc068a14f91189fce24c36187f369220b5 + manager: conda + name: clang-format + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + clikit: '>=0.6.0,<0.7.0' + python: '>=3.6' + hash: + md5: 4c82b11a3d06031bd58e7d869f53d965 + sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c + manager: conda + name: cleo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 + version: 0.8.1 +- category: main + dependencies: + cffi: '>=1.12' + libgcc-ng: '>=12' + openssl: '>=3.0.7,<4.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 70ac60b214a8df9b9ce63e05af7d0976 + sha256: eae8fcb35d983ee2155b8450f8aaf8709062366855d992cb7f9aa686623b99b8 + manager: conda + name: cryptography + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py39h079d5ae_0.conda + version: 39.0.0 +- category: main + dependencies: + click: '>=8.0' + importlib-metadata: '>=3.6.0' + itsdangerous: '>=2.0' + jinja2: '>=3.0' + python: '>=3.7' + werkzeug: '>=2.2.2' + hash: + md5: 85fad4c7889dd969ed4c02cf63cfe9c5 + sha256: e047c40122dc3fd53c534924271e9635d3dbf5ba606ccd2bd7f7c70b63697037 + manager: conda + name: flask + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/flask-2.2.2-pyhd8ed1ab_0.tar.bz2 + version: 2.2.2 +- category: main + dependencies: + curl: '' + expat: '>=2.5.0,<3.0a0' + gettext: '' + libgcc-ng: '>=12' + libiconv: '>=1.17,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + pcre2: '>=10.40,<10.41.0a0' + perl: 5.* + hash: + md5: 12f9ef434e479d7ec9dcd3ab9799a49d + sha256: ddb50e3c1dbefdc867a3ad660e2b62de13341af10bd3470ff47420108ef5e81f + manager: conda + name: git + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.39.1-pl5321h693f4a3_0.conda + version: 2.39.1 +- category: main + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.7' + typing_extensions: '>=3.7.4.3' + hash: + md5: 0c217ab2f5ef6925e4e52c70b57cfc4a + sha256: 2ccd8aa401701947398a087b1aa11042b1b088e7331fed574b7ec9909bee09d6 + manager: conda + name: gitpython + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.30-pyhd8ed1ab_0.conda + version: 3.1.30 +- category: main + dependencies: + cairo: '>=1.16.0,<2.0a0' + freetype: '>=2.12.1,<3.0a0' + graphite2: '' + icu: '>=70.1,<71.0a0' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libstdcxx-ng: '>=12' + hash: + md5: 448fe40d2fed88ccf4d9ded37cbb2b38 + sha256: f300fcb390253d6d63346ee71e56f82bc830783d1682ac933fe9ac86f39da942 + manager: conda + name: harfbuzz + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-6.0.0-h8e241bc_0.conda + version: 6.0.0 +- category: main + dependencies: + importlib-metadata: '>=4.11.4,<4.11.5.0a0' + hash: + md5: 9a1925fdb91c81437b8012e48ede6851 + sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + manager: conda + name: importlib_metadata + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 + version: 4.11.4 - category: main dependencies: attrs: '>=17.4.0' @@ -3965,33 +4045,16 @@ package: - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' - libdwarf: 0.0.0.20190110_28_ga81397fc4 h753d276_0 libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' hash: - md5: 899c511688e6c41cb51c2921a8d25e63 - sha256: null + md5: 5b3ed39ee3809d63d347b649de0a45f8 manager: conda - name: libdwarf-dev + name: libdwarf optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 + url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 version: 0.0.0.20190110_28_ga81397fc4 -- category: main - dependencies: - python: '' - setuptools: '' - six: '' - tornado: '' - hash: - md5: b7190e3ec3eff52839434bf4698e2d62 - sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765 - manager: conda - name: livereload - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 - version: 2.6.3 - category: main dependencies: certifi: '>=2020.06.20' @@ -4018,53 +4081,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.3.4-py39h2fa2bec_0.tar.bz2 version: 3.3.4 -- category: main - dependencies: - libgcc-ng: '>=9.4.0' - mypy_extensions: '>=0.4.3,<0.5.0' - psutil: '>=4.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tomli: '>=1.1.0' - typing_extensions: '>=3.7.4' - hash: - md5: 2ec6c26d45a781f3d3810fb2de290e8f - sha256: 5329a800c4caa0cb43b4340e7ce0b0ce7a1b0e9dde450b864c83605f4c08492c - manager: conda - name: mypy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 - version: '0.931' -- category: main - dependencies: - alsa-lib: '>=1.2.7.2,<1.2.8.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - giflib: '>=5.2.1,<5.3.0a0' - harfbuzz: '>=5.1.0,<6.0a0' - jpeg: '>=9e,<10a' - lcms2: '>=2.12,<3.0a0' - libcups: '>=2.3.3,<2.4.0a0' - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - xorg-libx11: '' - xorg-libxext: '' - xorg-libxi: '' - xorg-libxrender: '' - xorg-libxtst: '' - hash: - md5: cd1b2e4756ca8d14bc7501e38360aa79 - sha256: 1274f314793e9b1abb27a2aea581e661d751a4f685be50787bcc135e03fd185b - manager: conda - name: openjdk - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-17.0.3-h85293d2_2.tar.bz2 - version: 17.0.3 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4084,195 +4100,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/pandas-1.1.5-py39hde0f152_0.tar.bz2 version: 1.1.5 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0a0' - fontconfig: '>=2.14.0,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - fribidi: '>=1.0.10,<2.0a0' - harfbuzz: '>=5.2.0,<6.0a0' - libgcc-ng: '>=12' - libglib: '>=2.74.0,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - hash: - md5: 509e3f89508398070d3bf7769d9e8b03 - sha256: 735a19c98460b640ad7f2eb7dc4a9cebac8263f0ca27ba74f3fb99bcf01b1997 - manager: conda - name: pango - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.11-h382ae3d_0.tar.bz2 - version: 1.50.11 -- category: main - dependencies: - python: '>=3.7' - setuptools: '' - wheel: '' - hash: - md5: 0b43abe4d3ee93e82742d37def53a836 - sha256: 507ae896a2f9ccc7bbedc2f7fd10dc2ac666575769b55b5e94ca44b86db193e0 - manager: conda - name: pip - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pip-22.2.2-pyhd8ed1ab_0.tar.bz2 - version: 22.2.2 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - typing-extensions: '>=4.1.0' - hash: - md5: e2b6f1e8fb5669ab40c8cb235e0f3a21 - sha256: e7325b056f10f92d20502c3a29ac8301edc87ce1eafadf13c567e54edefbbe39 - manager: conda - name: pydantic - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.2-py39hb9d737c_0.tar.bz2 - version: 1.10.2 -- category: main - dependencies: - python: '>=3.6' - setuptools: '' - hash: - md5: 9f478e8eedd301008b5f395bad0caaed - sha256: 4f61addd5ab463c5fe7a3040a2d710ff2aed9c989b6cee2de2486187108bcdd5 - manager: conda - name: pygments - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.13.0-pyhd8ed1ab_0.tar.bz2 - version: 2.13.0 -- category: main - dependencies: - attrs: '>=19.2.0' - iniconfig: '' - packaging: '' - pluggy: '>=0.12,<2' - py: '>=1.8.2' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - toml: '' - hash: - md5: 6e76597729a7ac9b0124303c326f4706 - sha256: 12d9d5b7d6e5aa639725dddc35d3f8dec8fe01bd05ccf60ac45975f93d1534cf - manager: conda - name: pytest - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pytest-6.2.5-py39hf3d152e_3.tar.bz2 - version: 6.2.5 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - ruamel.yaml.clib: '>=0.1.2' - setuptools: '' - hash: - md5: 2b94cf785616198b112170b9838262a4 - sha256: 69d7d081acf7880f05d01ab93bfbecb3bc59b4bc8812630a359651b211aadb6a - manager: conda - name: ruamel.yaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py39hb9d737c_1.tar.bz2 - version: 0.17.21 -- category: main - dependencies: - markupsafe: '>=2.1.1' - python: '>=3.7' - hash: - md5: 8e69568592e552919201f730b01a58c2 - sha256: 3bb3d6a98f9e3c6081166d81368e4a0e48fdbfe19e683a957ac344b063c42412 - manager: conda - name: werkzeug - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-2.2.2-pyhd8ed1ab_0.tar.bz2 - version: 2.2.2 -- category: main - dependencies: - importlib_metadata: '>=0.23,<5' - python: '>=3.5' - hash: - md5: b8152341fc3fc9880c6e1b9d188974e5 - sha256: 2abb116f5bdc62d5e83c9dd15e5fc30c2a9571f728ccc012fad03350ed1d581e - manager: conda - name: argcomplete - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-1.12.3-pyhd8ed1ab_2.tar.bz2 - version: 1.12.3 -- category: main - dependencies: - click: '>=8.0' - importlib-metadata: '>=3.6.0' - itsdangerous: '>=2.0' - jinja2: '>=3.0' - python: '>=3.7' - werkzeug: '>=2.2.2' - hash: - md5: 85fad4c7889dd969ed4c02cf63cfe9c5 - sha256: e047c40122dc3fd53c534924271e9635d3dbf5ba606ccd2bd7f7c70b63697037 - manager: conda - name: flask - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/flask-2.2.2-pyhd8ed1ab_0.tar.bz2 - version: 2.2.2 -- category: main - dependencies: - atk-1.0: '>=2.36.0' - cairo: '>=1.16.0,<2.0.0a0' - gdk-pixbuf: '>=2.42.6,<3.0a0' - gettext: '>=0.19.8.1,<1.0a0' - libgcc-ng: '>=9.4.0' - libglib: '>=2.70.2,<3.0a0' - pango: '>=1.50.3,<1.51.0a0' - hash: - md5: 957a0255ab58aaf394a91725d73ab422 - sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87 - manager: conda - name: gtk2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2 - version: 2.24.33 -- category: main - dependencies: - importlib_metadata: '' - python: ==2.7.*|>=3.5 - hash: - md5: 35f19fabdfd44c8b53889be95333848c - sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 - manager: conda - name: jsonpickle - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 - version: 2.2.0 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0.0a0' - gdk-pixbuf: '>=2.42.8,<3.0a0' - gettext: '>=0.19.8.1,<1.0a0' - libgcc-ng: '>=12' - libglib: '>=2.70.2,<3.0a0' - libxml2: '>=2.9.14,<2.11.0a0' - pango: '>=1.50.7,<1.51.0a0' - hash: - md5: 921e53675ed5ea352f022b79abab076a - sha256: 9b81f3854660e902a417e8194b43ed2f5d2a082227df28ba6804c68ac7c16aa0 - manager: conda - name: librsvg - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 - version: 2.54.4 - category: main dependencies: pip: '' @@ -4288,17 +4115,49 @@ package: version: 5.10.0 - category: main dependencies: - cryptography: '>=38.0.0,<39' - python: '>=3.6' + python: '>=3.7' + typing-extensions: '>=4.4' hash: - md5: fbfa0a180d48c800f922a10a114a8632 - sha256: 42f04dded77ac2597108378d62b121697d0e982aba7b20a462a7239030563628 + md5: 0b4cc3f8181b0d8446eb5387d7848a54 + sha256: 5d469cd150e4413b15eedb66bdc7a3831a4249e2e5646b8c9dcdf713e35fc598 manager: conda - name: pyopenssl + name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2 - version: 22.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.6.2-pyhd8ed1ab_0.conda + version: 2.6.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + typing-extensions: '>=4.2.0' + hash: + md5: 80592d1fbd412e21cf62a0b3546aef58 + sha256: 594ac092ec25a31e6260c50635de8fe939d4b378ad2b832d0e2d91d85ee2374d + manager: conda + name: pydantic + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.4-py39h72bdee0_1.conda + version: 1.10.4 +- category: main + dependencies: + cffi: '>=1.4.1' + libgcc-ng: '>=12' + libsodium: '>=1.0.18,<1.0.19.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + six: '' + hash: + md5: 1022b37795420d806b7b36b4e622ee9b + sha256: 937447b9122e4fe2525aba3568bd0635123e6293564b157ccb6753300553d84e + manager: conda + name: pynacl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py39hb9d737c_2.tar.bz2 + version: 1.5.0 - category: main dependencies: pytest: '>=3.6.0' @@ -4325,6 +4184,201 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 version: 3.7.0 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-inputproto: '' + xorg-libx11: '>=1.7.1,<2.0a0' + xorg-libxext: 1.3.* + xorg-libxi: 1.7.* + xorg-recordproto: '' + hash: + md5: a220b1a513e19d5cb56c1311d44f12e6 + sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87 + manager: conda + name: xorg-libxtst + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2 + version: 1.2.3 +- category: main + dependencies: + cffi: '>=1.11' + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + zstd: '>=1.5.2,<1.6.0a0' + hash: + md5: 6023bdb101f9c7fcf11595442cb832b0 + sha256: 7297303784e4b4964fa15eac0d0559f3598d9abf8d941b33f51315c590e16eda + manager: conda + name: zstandard + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.19.0-py39h29414ee_1.conda + version: 0.19.0 +- category: main + dependencies: + importlib_metadata: '>=0.23,<5' + python: '>=3.5' + hash: + md5: b8152341fc3fc9880c6e1b9d188974e5 + sha256: 2abb116f5bdc62d5e83c9dd15e5fc30c2a9571f728ccc012fad03350ed1d581e + manager: conda + name: argcomplete + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-1.12.3-pyhd8ed1ab_2.tar.bz2 + version: 1.12.3 +- category: main + dependencies: + clang-format: 15.0.7 default_had23c3d_0 + libclang: '>=15.0.7,<15.1.0a0' + libclang-cpp15: '>=15.0.7,<15.1.0a0' + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: d08e8e7facf7aa93aaf8ae20b31fda65 + sha256: 5456e5d86b908d1cad5d2dc924f836404b5e5d97a77db518372e7ad7d5daf469 + manager: conda + name: clang-tools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + python: '>=3.7' + zstandard: '>=0.15' + hash: + md5: 1a2fa9e53cfbc2e4d9ab21990805a436 + sha256: 48cde99cc0abe5e50fb00713710851db9f76812a644892a9a2b5cbf9fe9707f5 + manager: conda + name: conda-package-streaming + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/conda-package-streaming-0.7.0-pyhd8ed1ab_1.conda + version: 0.7.0 +- category: main + dependencies: + flask: '>=0.9' + python: '' + six: '' + hash: + md5: f06be6d2d27dc3ea2b3da84ade76583c + sha256: 0ffe072bf8b7bfdbb3a2e6f41cd65264259a92a77db3fb3ffc4e74f3eee2ea4d + manager: conda + name: flask_cors + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 + version: 3.0.10 +- category: main + dependencies: + importlib_metadata: '' + python: ==2.7.*|>=3.5 + hash: + md5: 35f19fabdfd44c8b53889be95333848c + sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 + manager: conda + name: jsonpickle + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 + version: 2.2.0 +- category: main + dependencies: + elfutils: '>=0.187,<0.188.0a0' + libdwarf: 0.0.0.20190110_28_ga81397fc4 h753d276_0 + libgcc-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + hash: + md5: 899c511688e6c41cb51c2921a8d25e63 + manager: conda + name: libdwarf-dev + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 + version: 0.0.0.20190110_28_ga81397fc4 +- category: main + dependencies: + alsa-lib: '>=1.2.8,<1.2.9.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + giflib: '>=5.2.1,<5.3.0a0' + harfbuzz: '>=6.0.0,<7.0a0' + jpeg: '>=9e,<10a' + lcms2: '>=2.14,<3.0a0' + libcups: '>=2.3.3,<2.4.0a0' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + xorg-libx11: '' + xorg-libxext: '' + xorg-libxi: '' + xorg-libxrender: '' + xorg-libxtst: '' + hash: + md5: 71a5dfe4a375fc43497cdc6f4aedff9d + sha256: baa527e6b59572e00e68c2362e1771f7741f3f062dac7a8c6365a97f48c04413 + manager: conda + name: openjdk + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-17.0.3-h58dac75_5.conda + version: 17.0.3 +- category: main + dependencies: + cairo: '>=1.16.0,<2.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + fribidi: '>=1.0.10,<2.0a0' + harfbuzz: '>=6.0.0,<7.0a0' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + hash: + md5: 667dc93c913f0156e1237032e3a22046 + sha256: 7ae10db69ed593d8e51205dfc8a8297b09bfc9aa351f0e07199d4edccb16ca13 + manager: conda + name: pango + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.12-hd33c08f_1.conda + version: 1.50.12 +- category: main + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + pynacl: '>=1.5' + python: '>=3.6' + hash: + md5: 9159272243591905b0766ae53e942218 + sha256: 98728c9e3ec10c198154a5c8c0cec51eea76ecbd4744618449725d166c050fcb + manager: conda + name: paramiko + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.0.0-pyhd8ed1ab_0.conda + version: 3.0.0 +- category: main + dependencies: + cryptography: '>=38.0.0,<40' + python: '>=3.6' + hash: + md5: d41957700e83bbb925928764cb7f8878 + sha256: adbf8951f22bfa950b9e24394df1ef1d2b2d7dfb194d91c7f42bc11900695785 + manager: conda + name: pyopenssl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda + version: 23.0.0 - category: main dependencies: cryptography: '' @@ -4343,17 +4397,18 @@ package: version: 3.3.0 - category: main dependencies: - __unix: '' - openjdk: '>=8' + attrs: '' + pbr: '' + python: '>=3.6' hash: - md5: 52677be60e57aed79cbbedece88e24e9 - sha256: a09ebc40802f7b3bd177e2ccbd9ac4883dd8a562a2628165613c70bab1e6e113 + md5: 010e6280a9dc265d0488b598c45103d9 + sha256: 02e18825ab15654d6555aa2d78c396e726e200e398691bd0bce3b810205e28df manager: conda - name: sbt + name: sarif-om optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.7.2-hd8ed1ab_0.tar.bz2 - version: 1.7.2 + url: https://conda.anaconda.org/conda-forge/noarch/sarif-om-1.0.4-pyhd8ed1ab_0.tar.bz2 + version: 1.0.4 - category: main dependencies: cryptography: '' @@ -4362,13 +4417,13 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 19c5efd8d571b01b15afe65648faf262 - sha256: c19c7a07b3f74b997057e544e02acdd0073e97a67dddd6219e6c59990fb1b52d + md5: cfb68a22e2d9108634a08a8a3b19d1b6 + sha256: db76e25d0c1cad3ca6339fd4d09c9cd03dcea7072b302c6eaa4123a358e98a78 manager: conda name: secretstorage optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_1.tar.bz2 version: 3.3.3 - category: main dependencies: @@ -4386,47 +4441,51 @@ package: version: 3.3.1 - category: main dependencies: - flask: '>=0.9' - python: '' - six: '' + distlib: '>=0.3.6,<1' + filelock: '>=3.4.1,<4' + platformdirs: '>=2.4,<3' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: f06be6d2d27dc3ea2b3da84ade76583c - sha256: 0ffe072bf8b7bfdbb3a2e6f41cd65264259a92a77db3fb3ffc4e74f3eee2ea4d + md5: dd1be6ccb267f13bdc5c44cfb76c4080 + sha256: 3d9c15c6a69160d4133dc77adad49c70d932139631a5e52602637cd77ba82e10 manager: conda - name: flask_cors + name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 - version: 3.0.10 + url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.17.1-py39hf3d152e_0.conda + version: 20.17.1 - category: main dependencies: - cairo: '>=1.16.0,<2.0.0a0' - expat: '>=2.4.8,<3.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - gdk-pixbuf: '>=2.42.8,<3.0a0' - gtk2: '' - gts: '>=0.7.6,<0.8.0a0' - libgcc-ng: '>=12' - libgd: '>=2.3.3,<2.4.0a0' - libglib: '>=2.72.1,<3.0a0' - librsvg: '>=2.54.4,<3.0a0' - libstdcxx-ng: '>=12' - libtool: '' - libwebp-base: '>=1.2.4,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - pango: '>=1.50.9,<1.51.0a0' - zlib: '>=1.2.12,<1.3.0a0' + conda-package-streaming: '>=0.7.0' + python: '>=3.7' hash: - md5: 123c55da3e9ea8664f73c70e13ef08c2 - sha256: b361670365155a56f0714fef9bae58ff858a0fc13d7f04530e4252e98b9b164d + md5: 44800e9bd13143292097c65e57323038 + sha256: c453b2a648e7a059f26326d476069cf81627c9a3fa12da4ab22eb39e7bfdc095 manager: conda - name: graphviz + name: conda-package-handling optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-6.0.1-h5abf519_0.tar.bz2 - version: 6.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/conda-package-handling-2.0.2-pyh38be061_0.conda + version: 2.0.2 +- category: main + dependencies: + atk-1.0: '>=2.36.0' + cairo: '>=1.16.0,<2.0.0a0' + gdk-pixbuf: '>=2.42.6,<3.0a0' + gettext: '>=0.19.8.1,<1.0a0' + libgcc-ng: '>=9.4.0' + libglib: '>=2.70.2,<3.0a0' + pango: '>=1.50.3,<1.51.0a0' + hash: + md5: 957a0255ab58aaf394a91725d73ab422 + sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87 + manager: conda + name: gtk2 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2 + version: 2.24.33 - category: main dependencies: attrs: '' @@ -4444,35 +4503,52 @@ package: version: 1.2.3 - category: main dependencies: - importlib_metadata: '>=3.6' + importlib_metadata: '>=4.11.4' jaraco.classes: '' jeepney: '>=0.4.2' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 secretstorage: '>=3.2' hash: - md5: 53de394e0ab10ccb6b9db0528050123f - sha256: 4e5d918992cd28e91382c9bbc7e2911530d51641f03cbc33ed0eb98297b2a5eb + md5: ae2df7a822f7671da22da24ead24cc0a + sha256: 107e6a5ba122dff162e9d34a87af1ffbb4dca1f7dd1547294646774ca9421524 manager: conda name: keyring optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.9.3-py39hf3d152e_0.tar.bz2 - version: 23.9.3 + url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.13.1-py39hf3d152e_0.conda + version: 23.13.1 - category: main dependencies: - attrs: '' - pbr: '' - python: '>=3.6' + cairo: '>=1.16.0,<2.0.0a0' + gdk-pixbuf: '>=2.42.8,<3.0a0' + gettext: '>=0.19.8.1,<1.0a0' + libgcc-ng: '>=12' + libglib: '>=2.70.2,<3.0a0' + libxml2: '>=2.9.14,<2.11.0a0' + pango: '>=1.50.7,<1.51.0a0' hash: - md5: 010e6280a9dc265d0488b598c45103d9 - sha256: 02e18825ab15654d6555aa2d78c396e726e200e398691bd0bce3b810205e28df + md5: 921e53675ed5ea352f022b79abab076a + sha256: 9b81f3854660e902a417e8194b43ed2f5d2a082227df28ba6804c68ac7c16aa0 manager: conda - name: sarif-om + name: librsvg optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sarif-om-1.0.4-pyhd8ed1ab_0.tar.bz2 - version: 1.0.4 + url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 + version: 2.54.4 +- category: main + dependencies: + __unix: '' + openjdk: '>=8' + hash: + md5: 9db52fde2303937e5ae766d3c0c2c21e + sha256: 4a5967e73309839e57f254046e2a07cb16039a0c46d820d302382fd910751fde + manager: conda + name: sbt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.8.2-hd8ed1ab_0.conda + version: 1.8.2 - category: main dependencies: brotlipy: '>=0.6.0' @@ -4483,14 +4559,14 @@ package: pysocks: '>=1.5.6,<2.0,!=1.5.7' python: <4.0 hash: - md5: 0738978569b10669bdef41c671252dd1 - sha256: 57a823b83428156aa2bc18f34159a744657c9bd117a125ca4559b0518a2e4fa2 + md5: 01f33ad2e0aaf6b5ba4add50dad5ad29 + sha256: f2f09c44e47946ce631dbc9a8a79bb463ac0f4122aaafdbcc51f200a1e420ca6 manager: conda name: urllib3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2 - version: 1.26.11 + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.14-pyhd8ed1ab_0.conda + version: 1.26.14 - category: main dependencies: jmespath: '>=0.7.1,<1.0.0' @@ -4508,17 +4584,33 @@ package: version: 1.23.21 - category: main dependencies: - graphviz: '>=2.46.1' - python: '>=3' + cairo: '>=1.16.0,<2.0a0' + expat: '>=2.5.0,<3.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + gdk-pixbuf: '>=2.42.10,<3.0a0' + gtk2: '' + gts: '>=0.7.6,<0.8.0a0' + libgcc-ng: '>=12' + libgd: '>=2.3.3,<2.4.0a0' + libglib: '>=2.74.1,<3.0a0' + librsvg: '>=2.54.4,<3.0a0' + libstdcxx-ng: '>=12' + libtool: '' + libwebp-base: '>=1.2.4,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + pango: '>=1.50.12,<2.0a0' + zlib: '' hash: - md5: cd0b0b05f32477491145e9829f6000e1 - sha256: f62e0e1bf66af069c763a8383f085d31ac6252f9ef5021c9488ef68572060589 + md5: e7ecda996c443142a0e9c379f3b28e48 + sha256: cecaa9e6dce7f2df042768d9a794f0126565a30384fcd59879e107d760bed7f1 manager: conda - name: python-graphviz + name: graphviz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.19-pyhaef67bd_0.tar.bz2 - version: '0.19' + url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-7.1.0-h2e5815a_0.conda + version: 7.1.0 - category: main dependencies: certifi: '>=2017.4.17' @@ -4527,88 +4619,82 @@ package: python: '>=3.7,<4.0' urllib3: '>=1.21.1,<1.27' hash: - md5: 089382ee0e2dc2eae33a04cc3c2bddb0 - sha256: b45d0da6774c8231ab4fef0427b3050e7c54c84dfe453143dd4010999c89e050 + md5: 11d178fc55199482ee48d6812ea83983 + sha256: 22c081b4cdd023a514400413f50efdf2c378f56f2a5ea9d65666aacf4696490a manager: conda name: requests optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2 - version: 2.28.1 + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.2-pyhd8ed1ab_0.conda + version: 2.28.2 - category: main dependencies: botocore: '>=1.11.3' python: '>=3.4' wrapt: '' hash: - md5: f5e722eaa36ec10f604195907d443fc3 - sha256: 8d3e8e01c8a3462b71393a3ec4c3bf81d5ee62a1e56fb20ff33a9bf38667b573 + md5: 2f18ecd9ec078c10f7086ad7ee05289b + sha256: ab3afec58f5368351efac43e813e62f944d41bd879c99e45ad49910aac666447 manager: conda name: aws-xray-sdk optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-xray-sdk-2.10.0-pyhd8ed1ab_0.tar.bz2 - version: 2.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/aws-xray-sdk-2.11.0-pyhd8ed1ab_0.tar.bz2 + version: 2.11.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' requests: '' hash: - md5: 6eefee9888f33f150b5d44d616b1a613 - sha256: c863c2bf200008e255f69bececda3477c1bb23e2b63a82612099a91a418ca2ea + md5: e8f0410e0aa03342304357c5cc3bb75d + sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda version: 0.12.11 - category: main dependencies: conda-package-handling: '>=1.3.0' + pluggy: '>=1.0.0' pycosat: '>=0.6.3' pyopenssl: '>=16.2.0' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 requests: '>=2.20.1,<3' - ruamel_yaml: '>=0.11.14,<0.17' + ruamel.yaml: '>=0.11.14,<0.18' setuptools: '>=31.0.1' toolz: '>=0.8.1' + tqdm: '>=4' hash: - md5: 7b5613a2a677f1e2d1dad5a98fa43192 - sha256: 61b904fe1a666885ef02c2f069c9fd12d88f9dc989b625e0a2f20a35430bd1f5 + md5: b2482d4fe1bc47af8e699f3ffec9dbb8 + sha256: 2fcb48155d829cb344ddf83589998babd94f298323166975d625be7e8e7ac1a6 manager: conda name: conda optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.9.0-py39hf3d152e_1.tar.bz2 - version: 22.9.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.11.1-py39hf3d152e_1.conda + version: 22.11.1 - category: main dependencies: - appdirs: '>=1.4.3' - asn1crypto: '>=0.22.0' - cffi: '>=1.10.0' - cryptography: '>=1.9' - docker-pycreds: '>=0.3.0' - idna: '>=2.5' - packaging: '>=16.8' - pycparser: '>=2.17' - pyopenssl: '>=17.0.0' - pyparsing: '>=2.2.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - requests: '>=2.14.2' - six: '>=1.10.0' - websocket-client: '>=0.40.0' + packaging: '>=14.0' + paramiko: '>=2.4.3' + python: '>=3.7' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' hash: - md5: adbd239e5bf8b3f85fbc31fc98151e3c - sha256: bc7bec670f6ce5c011d64211422d45a8a4ad89713b6f46b56b05f2f3b74ad5a9 + md5: 8b0d1b5227ce39053aa69c3ff18417ec + sha256: 45e16e6f7e4105c71c1494ca523b01e676349a25ee1f8114a6c10bbdd8549d50 manager: conda name: docker-py optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docker-py-5.0.3-py39hf3d152e_2.tar.bz2 - version: 5.0.3 + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.0.0-pyhd8ed1ab_0.tar.bz2 + version: 6.0.0 - category: main dependencies: appdirs: '' @@ -4625,6 +4711,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2 version: 1.4.3 +- category: main + dependencies: + graphviz: '>=2.46.1' + python: '>=3' + hash: + md5: cd0b0b05f32477491145e9829f6000e1 + sha256: f62e0e1bf66af069c763a8383f085d31ac6252f9ef5021c9488ef68572060589 + manager: conda + name: python-graphviz + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.19-pyhaef67bd_0.tar.bz2 + version: '0.19' - category: main dependencies: python: '' @@ -4728,6 +4827,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.20.21-pyhd8ed1ab_0.tar.bz2 version: 1.20.21 +- category: main + dependencies: + cachecontrol: 0.12.11 pyhd8ed1ab_1 + lockfile: '>=0.9' + python: '>=3.6' + hash: + md5: 9df660456c0076d27b802448f7ede78f + sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + manager: conda + name: cachecontrol-with-filecache + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda + version: 0.12.11 - category: main dependencies: colorama: '' @@ -4735,30 +4848,31 @@ package: networkx: '' python: '>=3.6' hash: - md5: 74c9c60684e578fb92b27df42846b733 - sha256: 1c726baaa6ffd3986b0f1bfd655b8311da0345be915d31738b4965c397b2e92d + md5: f47b4fbd862cc05b914d2e4862df72a1 + sha256: 3a7f989bdcb5a6a284d092745892f8f27d15b348a02b95229d258899d418fd82 manager: conda name: conda-tree optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/conda-tree-1.0.5-pyhd8ed1ab_0.tar.bz2 - version: 1.0.5 + url: https://conda.anaconda.org/conda-forge/noarch/conda-tree-1.1.0-pyhd8ed1ab_0.conda + version: 1.1.0 - category: main dependencies: - conda: '>=4.6' + __unix: '' + conda: '>=4.6,<23.1.0' conda-standalone: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + pillow: '>=3.1' + python: '>=3.7' ruamel_yaml: '>=0.11.14,<0.16' hash: - md5: e5596cad685fd9edec29955a614abf69 - sha256: 214a4055b49d6288393afeecb53c2a3d8d6559fff686aa03c2d6abef69577522 + md5: 1ce2f0c21b90fc7669ba1f0e34c2dd04 + sha256: 78bd867a49b8d15edf4a4d98abe7c16762c3f9a532d6eccb8ddf3fb76b30c6f9 manager: conda name: constructor optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/constructor-3.3.1-py39hf3d152e_0.tar.bz2 - version: 3.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.2-pyhe4f9e05_0.conda + version: 3.4.2 - category: main dependencies: cachecontrol: '>=0.12.9,<0.13.0' @@ -4807,32 +4921,33 @@ package: - category: main dependencies: docutils: <0.18 - python: '>=2.7' - sphinx: '>=1.6' + python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + sphinx: '>=1.6,<6' hash: - md5: 9f633f2f2869184e31acfeae95b24345 - sha256: 3752f28effe86b371475492d42550b30125d9ca2ead88af7e49da2a793e82e68 + md5: a8d25c9077767faf05148421a04874f6 + sha256: 05336b16250a43671a32f59afb227c42015c2a5156b6d3830e181543182582a3 manager: conda name: sphinx_rtd_theme optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.0.0-pyhd8ed1ab_0.tar.bz2 - version: 1.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.1.1-pyha770c72_1.conda + version: 1.1.1 - category: main dependencies: - boto3: ~=1.5 - jsonschema: ~=3.2 - python: '>=3.6' - six: ~=1.15 + boto3: '>=1.19.5,<2' + jsonschema: '>=3.2,<5' + pydantic: ~=1.10.2 + python: '>=3.7' + typing_extensions: ~=4.4.0 hash: - md5: b8103c86e59eee59cca2dc5da1691cba - sha256: 94fd5915c0f0f39ec7b0430f068caf4a35521c6ab3b3f9e82d014b91d33b8866 + md5: 598c51cdb44da89abe884e6d36f3309f + sha256: 2b52ec2fdd49f9aca3b764b407f1aa1549c43cbb78762912c5ae86551b4c57ca manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.52.0-pyhd8ed1ab_0.tar.bz2 - version: 1.52.0 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.58.1-pyhd8ed1ab_0.conda + version: 1.58.1 - category: main dependencies: boto3: '' @@ -4849,28 +4964,38 @@ package: version: 1.21.6 - category: main dependencies: + cachecontrol-with-filecache: '>=0.12.9' + cachy: '>=0.3.0' click: '>=8.0' click-default-group: '' + clikit: '>=0.6.2' + crashtest: '>=0.3.0' ensureconda: '>=1.3' + html5lib: '>=1.0' + importlib-metadata: '>=1.7.0' jinja2: '' - poetry: '' + keyring: '>=21.2.0' + packaging: '>=20.4' + pkginfo: '>=1.4' pydantic: '>=1.8.1' python: '>=3.6' pyyaml: '>=5.1' - requests: '>=2' + requests: '>=2.18' ruamel.yaml: '' tomli: '' - toolz: <1.0.0,>=0.12.0 - typing-extensions: '' + tomlkit: '>=0.7.0' + toolz: '>=0.12.0,<1.0.0' + typing_extensions: '' + virtualenv: '>=20.0.26' hash: - md5: 496c81a0d226177dbabb5fa495fadda9 - sha256: 39b181da4620222ba831dc9570f600753c52bb8f649bfef036d2c79245a4c145 + md5: 6622e6ee316eb482344519bf5ae27750 + sha256: 9ffda11f9ef636927224c2fad7eb005ce09a91eb52dca2f56868bebb2dca5ea1 manager: conda name: conda-lock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.1.3-pyhd8ed1ab_0.tar.bz2 - version: 1.1.3 + url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_1.conda + version: 1.4.0 - category: main dependencies: boto3: '' @@ -4887,26 +5012,23 @@ package: version: 1.21.0 - category: main dependencies: - aws-sam-translator: '>=1.40.0' - importlib_resources: '>=1.4,<4' - jschema-to-python: ~=1.2.3 + aws-sam-translator: '>=1.13.0' jsonpatch: '' - jsonschema: ~=3.0 - junit-xml: ~=1.9 - networkx: ~=2.4 - python: '>=3.6' - pyyaml: '>5.4' - sarif-om: ~=1.0.4 - six: '>=1.11' + jsonschema: '>=3,<4' + python: '' + pyyaml: '' + requests: '>=2.15.0' + setuptools: '' + six: '>=1.11,<2' hash: - md5: c0194acb049810fc8eba88a3184e570f - sha256: 7920575550b0a9bd75f2007c00ff53164f35e7aebe887117d7c24c626af05371 + md5: 8d4741824cf4fde7260aafa95e6beff2 + sha256: 99e0ccd5c4bf4687280d0f63bac6c556ef35ba840ee4751dd63457b63c64a98f manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.67.0-pyhd8ed1ab_0.tar.bz2 - version: 0.67.0 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.23.2-py_0.tar.bz2 + version: 0.23.2 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' @@ -4942,15 +5064,12 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/moto-3.1.0-pyhd8ed1ab_0.tar.bz2 version: 3.1.0 -- category: main - dependencies: {} +- dependencies: {} hash: sha256: ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344 manager: pip name: bcrypt - optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/aa/48/fd2b197a9741fa790ba0b88a9b10b5e88e62ff5cf3e1bc96d8354d7ce613/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl version: 4.0.1 - category: main @@ -4961,7 +5080,6 @@ package: name: mock optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl version: 4.0.3 - category: main @@ -4972,9 +5090,24 @@ package: name: mypy-boto3-ec2 optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/a4/60/815ee785b017d49e09f42175e791a3a3495293b0dbce7d18c74f43a1e8a4/mypy_boto3_ec2-1.21.9-py3-none-any.whl version: 1.21.9 +- dependencies: {} + hash: + sha256: ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf + manager: pip + name: numpy + platform: linux-64 + url: https://files.pythonhosted.org/packages/43/55/fea3342371187dea4044521c0ba82b90fb5a42fb92446be019b316dd3320/numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + version: 1.24.1 +- dependencies: {} + hash: + sha256: 40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 + manager: pip + name: pyyaml + platform: linux-64 + url: https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl + version: '6.0' - category: main dependencies: six: '*' @@ -4984,7 +5117,6 @@ package: name: asttokens optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl version: 2.0.8 - category: main @@ -4997,9 +5129,17 @@ package: name: paramiko-ng optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9f/53/1ac75eab589149b1e02e38185ecebf09e1b805fc3fdeadbc16d1a2b7d208/paramiko_ng-2.8.10-py2.py3-none-any.whl version: 2.8.10 +- dependencies: + ruamel.yaml.clib: '>=0.2.6' + hash: + sha256: 742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7 + manager: pip + name: ruamel.yaml + platform: linux-64 + url: https://files.pythonhosted.org/packages/9e/cb/938214ac358fbef7058343b3765c79a1b7ed0c366f7f992ce7ff38335652/ruamel.yaml-0.17.21-py3-none-any.whl + version: 0.17.21 - category: main dependencies: mock: '*' @@ -5010,7 +5150,6 @@ package: name: sure optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/c7/ee/043531858afab5f312ca02867de51189c0c1dd76ba652f1d95ffa13d07f7/sure-2.0.0.tar.gz version: 2.0.0 - category: main @@ -5023,9 +5162,22 @@ package: name: fab-classic optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/86/f4/c301effc438788c184bbd0c08a586135f325581e6c4cf9f1d40229f9894b/fab_classic-1.19.1-py2.py3-none-any.whl version: 1.19.1 +- category: main + dependencies: + numpy: '>=1.23.0,<2.0.0' + pydantic: '>=1.9.2,<2.0.0' + pyyaml: '>=6.0,<7.0' + ruamel.yaml: '>=0.17.21,<0.18.0' + hash: + sha256: c593396dee542e25632a5cb2487f255bbdf9d7e7e6e311e8cb5b8278b2c27e10 + manager: pip + name: hammer-vlsi + optional: false + platform: linux-64 + url: https://files.pythonhosted.org/packages/63/98/235edaf1baccb3fb2c6b1bc96d278d4cf6854e765363cfbf7da8c80b9751/hammer_vlsi-1.0.0rc2-py3-none-any.whl + version: 1.0.0rc2 - category: main dependencies: asttokens: '>=2,<3' @@ -5036,7 +5188,6 @@ package: name: icontract optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/d8/91/9756e7cf0b155e80bf9a62beffdd1dec4afce43cc6ab7f432f2267c62762/icontract-2.6.2-py3-none-any.whl version: 2.6.2 - category: main @@ -5049,7 +5200,6 @@ package: name: pylddwrap optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/6b/4e/aebc1cff19a572dbcc7e60d8e74f38fd568ef9185650b39f72fde9ff84d1/pylddwrap-1.2.1.tar.gz version: 1.2.1 version: 1 diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 421d43a7..1e7933e3 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -7,7 +7,7 @@ # Install this environment as "YOURENV" with: # conda-lock install -n YOURENV --file conda-requirements-riscv-tools-linux-64.conda-lock.yml # To update a single package to the latest version compatible with the version constraints in the source: -# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE +# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: # conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml metadata: @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 18e98e3b7d2dbc99136ae91e74c8b58b0bab4248cd1e10da4626231a40700eb0 + linux-64: 018e415637315593469f01c8f9b46d7006c95d919144866a9460ea34395ea604 platforms: - linux-64 sources: @@ -51,36 +51,36 @@ package: - category: main dependencies: {} hash: - md5: ce8d1b98cc96642f2d2e5da1873de2e6 - sha256: fc08379d634e7806485be606ead3265385949054959940c8ecb88a67c26ace42 + md5: c3c1c898537714ab47e415c03da7b4df + sha256: c248fcc6476b8d8ebac8c03e8d4eab967a2f723e86ed632a846ab11877ed5ded manager: conda name: bash-completion optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/bash-completion-2.11-0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/bash-completion-2.11-ha770c72_1.tar.bz2 version: '2.11' - category: main dependencies: {} hash: - md5: 41e4e87062433e283696cf384f952ef6 - sha256: 058355034667e77d15389700f6b2364cc74efce0af63a418eacc1ce252458942 + md5: ff9f73d45c4a07d6f424495288a26080 + sha256: 8f6c81b0637771ae0ea73dc03a6d30bec3326ba3927f2a7b91931aa2d59b1789 manager: conda name: ca-certificates optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2 - version: 2022.9.24 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda + version: 2022.12.7 - category: main dependencies: {} hash: - md5: 2adf191e11723cd8156dcaa421419d1e - sha256: e52fb8cf5bc5eb80c69f2239a08868ddd6fa26fdf67a1a0312970308f698fc96 + md5: dbc503dcc77ca9b81ba956d21c3a2ea4 + sha256: cbe3c2391106204ad7ee10eafae72ea70744a32339846f637131be486099338e manager: conda name: conda-standalone optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-4.12.0-ha770c72_0.tar.bz2 - version: 4.12.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-22.11.1-ha770c72_0.conda + version: 22.11.1 - category: main dependencies: {} hash: @@ -128,69 +128,80 @@ package: - category: main dependencies: {} hash: - md5: bd4f2e711b39af170e7ff15163fe87ee - sha256: ad7985a9ff622880cf87c42db1ffe2dfb040d8175c1bb352fc8f3705c7e0962f + md5: 7aca3059a1729aa76c597603f10b0dd3 + sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd manager: conda name: ld_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda + version: '2.40' - category: main dependencies: {} hash: - md5: 0e6ab30ea5307e18bff4689958b51b83 - sha256: 9875a188edb25e996eb2ef5d2664d995ddb166a868d3377851a8f33d6c63297d + md5: 199a7292b1d3535376ecf7670c231d1f + sha256: d6df7758b85d4f82baaa526bff1b9f0a9ae2b73b0df7fcb27cafdaf5e24fdefb manager: conda name: libgcc-devel_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-12.1.0-h1ec3361_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-12.2.0-h3b97bd3_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: b02605b875559ff99f04351fd5040760 - sha256: 4d20cbd5dbe47e0dacd298d5cc0745ae19dcd5cd7cfaf937387adc876ee481c7 + md5: 164b4b1acaedc47ee7e658ae6b308ca3 + sha256: 03ea784edd12037dc3a7a0078ff3f9c3383feabb34d5ba910bb2fd7a21a2d961 manager: conda name: libgfortran5 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.1.0-hdcd56e2_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: db535a3c3b757e1d34e6b031a111f029 - sha256: 3588334fa16d57452dc83527dd4490821a39f1a049565d4390d774635559f4fc + md5: 277d373b57791ee71cafc3c5bfcf0641 + sha256: 152a54b52b0bc0cda89b4394e43f010ce2a16f4012a3e706709d53a68407df46 manager: conda name: libstdcxx-devel_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-12.1.0-h1ec3361_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-12.2.0-h3b97bd3_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: 6f5ba041a41eb102a1027d9e68731be7 - sha256: c2483256b324253599bdbe6ddb4a04f7a154259473e626aacbfdee7686a994d2 + md5: 1030b1f38c129f2634eae026f704fe60 + sha256: 0289e6a7b9a5249161a3967909e12dcfb4ab4475cdede984635d3fb65c606f08 manager: conda name: libstdcxx-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.1.0-ha89aaad_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2 + version: 12.2.0 - category: main dependencies: {} hash: - md5: 456b5b1d99e7a9654b331bcd82e71042 - sha256: 3d234013a4e2f70f40068f29b8790e959d5cc97cd4b1c6a0aa5446eec03819b9 + md5: 0dd193187d54e585cac7eab942a8847e + sha256: 89e8c4436dd04d8b4a0c13c508e930be56973a480a9714171969de953bdafd3a + manager: conda + name: python_abi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.conda + version: '3.9' +- category: main + dependencies: {} + hash: + md5: 51fc4fcfb19f5d95ffc8c339db5068e8 + sha256: 0bfae0b9962bc0dbf79048f9175b913ed4f53c4310d06708dc7acbb290ad82f6 manager: conda name: tzdata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2022d-h191b570_0.tar.bz2 - version: 2022d + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda + version: 2022g - category: main dependencies: font-ttf-dejavu-sans-mono: '' @@ -220,28 +231,28 @@ package: version: 3.10.0 - category: main dependencies: - libgfortran5: 12.1.0 hdcd56e2_16 + libgfortran5: 12.2.0 h337968e_19 hash: - md5: 6bf15e29a20f614b18ae89368260d0a2 - sha256: 8b9ebde578c74c9e2d93cbe6940a09ee4d0ca4080a0f385bdcd10be536f07abb + md5: cd7a806282c16e1f2d39a7e80d3a3e0d + sha256: c7d061f323e80fbc09564179073d8af303bf69b953b0caddcf79b47e352c746f manager: conda name: libgfortran-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.1.0-h69a702a_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2 + version: 12.2.0 - category: main dependencies: _libgcc_mutex: 0.1 conda_forge hash: - md5: f013cf7749536ce43d82afbffdf499ab - sha256: 499fab15d3897a7bf7a1d82dd44c76dad1ceeaec0b71e348e77fb8a753ff898d + md5: cedcee7c064c01c403f962c9e8d3c373 + sha256: 81a76d20cfdee9fe0728b93ef057ba93494fd1450d42bc3717af4e468235661e manager: conda name: libgomp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.1.0-h8d9b700_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.2.0-h65d4601_19.tar.bz2 + version: 12.2.0 - category: main dependencies: _libgcc_mutex: 0.1 conda_forge @@ -282,42 +293,42 @@ package: version: '2.17' - category: main dependencies: - ld_impl_linux-64: 2.36.1 hea4e1c9_2 + ld_impl_linux-64: 2.40 h41732ed_0 sysroot_linux-64: '' hash: - md5: 32aae4265554a47ea77f7c09f86aeb3b - sha256: 7cdcbb78f3b521efbcbd72424fb56a4e030001cccf2a6bca800aef4b9a5ed93a + md5: 33084421a8c0af6aef1b439707f7662a + sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d manager: conda name: binutils_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.36.1-h193b22a_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda + version: '2.40' - category: main dependencies: _libgcc_mutex: 0.1 conda_forge _openmp_mutex: '>=4.5' hash: - md5: 4f05bc9844f7c101e6e147dab3c88d5c - sha256: 2fde3d9f0199bf4f5447b35d3fd74d058c17ef2b6c68815eb1b469f2aec138b9 + md5: e4c94f80aef025c17ab0828cd85ef535 + sha256: f3899c26824cee023f1e360bd0859b0e149e2b3e8b1668bc6dd04bfc70dcd659 manager: conda name: libgcc-ng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.1.0-h8d9b700_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=12' hash: - md5: 4a826cd983be6c8fff07a64b6d2079e7 - sha256: b2ea5be6ca4f16d62c7de3df62155b106f2009d9c317db187c47267abc1cb03d + md5: be733e69048951df1e4b4b7bb8c7666f + sha256: 2c0a618d0fa695e4e01a30e7ff31094be540c52e9085cbd724edb132c65cf9cd manager: conda name: alsa-lib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.7.2-h166bdaf_0.tar.bz2 - version: 1.2.7.2 + url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz2 + version: 1.2.8 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -332,16 +343,16 @@ package: version: 1.07.1 - category: main dependencies: - binutils_impl_linux-64: '>=2.36.1,<2.36.2.0a0' + binutils_impl_linux-64: '>=2.40,<2.41.0a0' hash: - md5: 3111f86041b5b6863545ca49130cca95 - sha256: 17ae32b02c9cfb4c01ddcbe733d8bc432bd5003447cca9eb1727dd13c8fa940e + md5: ccc940fddbc3fcd3d79cd4c654c4b5c4 + sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c manager: conda name: binutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.36.1-hdd6e379_2.tar.bz2 - version: 2.36.1 + url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda + version: '2.40' - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -396,7 +407,6 @@ package: libstdcxx-ng: '>=12' hash: md5: 6bfb79319763a11c7423c9d0e0ee00b7 - sha256: null manager: conda name: dromajo optional: false @@ -420,14 +430,14 @@ package: libgcc-ng: '>=12' libstdcxx-ng: '>=12' hash: - md5: 493ac8b2503a949aebe33d99ea0c284f - sha256: 2e2b3fadca2aa04244197d645947b91edb73fed1da17b8c5f8b8f1fdc6cd06ac + md5: c4fbad8d4bddeb3c085f18cbf97fbfad + sha256: b44db0b92ae926b3fbbcd57c179fceb64fa11a9f9d09082e03be58b74dcad832 manager: conda name: expat optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.9-h27087fc_0.tar.bz2 - version: 2.4.9 + url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2 + version: 2.5.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -457,14 +467,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 17f91dc8bb7a259b02be5bfb2cd2395f - sha256: e33f9c58fe6d48e65f3c271fdd39999ad439b0ea03c683ca609e50b7aeda47ee + md5: 14947d8770185e5153fdd04d4673ed37 + sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a manager: conda name: gettext optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.19.8.1-h27087fc_1009.tar.bz2 - version: 0.19.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2 + version: 0.21.1 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -569,14 +579,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: fc84a0446e4e4fb882e78d786cfb9734 - sha256: 6f7cbc9347964e7f9697bde98a8fb68e0ed926888b3116474b1224eaa92209dc + md5: 5cc781fd91968b11a8a7fdbee0982676 + sha256: f9983a8ea03531f2c14bce76c870ca325c0fddf0c4e872bff1f78bc52624179c manager: conda name: libdeflate optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2 - version: '1.14' + url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.17-h0b41bf4_0.conda + version: '1.17' - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -591,15 +601,15 @@ package: version: '4.33' - category: main dependencies: - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=12' hash: - md5: 6b0f2dd6a16b984110e8b6eed67b569b - sha256: 17110a07bc1bd3ea546840efb55d17ae2f80cd3dd0af882918cf7fa1c6bc0247 + md5: b479e94095fbb82702d736b1c100c0e8 + sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd manager: conda name: libfdt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2 version: 1.6.1 - category: main dependencies: @@ -625,6 +635,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2 version: '1.17' +- category: main + dependencies: + libgcc-ng: '>=12' + hash: + md5: b4f717df2d377410b462328bf0e8fb7d + sha256: 0d8b666ca4deabf948a76654df0fa1277145bed1c9e8a58e18a649c22c5f1c3e + manager: conda + name: libjpeg-turbo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2 + version: 2.1.4 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -653,16 +675,28 @@ package: version: 0.3.21 - category: main dependencies: - libgcc-ng: '>=12.1.0' + libgcc-ng: '>=12.2.0' hash: - md5: 72d63459c86185f8f636772f28d6eb35 - sha256: 8030597934a3008b962340184af5d45605c1fb313443cc3a4a2b6b45b8dea162 + md5: 80d0e00150401e9c06a055f36e8e73f2 + sha256: 6cf904606c091e1cab5cf3b1f1bb0d6756474e6e37b1a97a502fc1255d71641b manager: conda name: libsanitizer optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.1.0-ha89aaad_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.2.0-h46fd767_19.tar.bz2 + version: 12.2.0 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + hash: + md5: c3788462a6fbddafdb413a9f9053e58d + sha256: 53da0c8b79659df7b53eebdb80783503ce72fb4b10ed6e9e05cc0e9e4207a130 + manager: conda + name: libsodium + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 + version: 1.0.18 - category: main dependencies: libgcc-ng: '>=12' @@ -677,16 +711,16 @@ package: version: 4.19.0 - category: main dependencies: - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' hash: - md5: 16e143a1ed4b4fd169536373957f6fee - sha256: eadbb80c922dce355c0f8f7fc560f20f61263245799d076a1d5251d147d0d250 + md5: f204c8ba400ec475452737094fb81d52 + sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1 manager: conda name: libtool optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.6-h9c3ff4c_1008.tar.bz2 - version: 2.4.6 + url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda + version: 2.4.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -739,27 +773,27 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 6a2e5b333ba57ce7eec61e90260cbb79 - sha256: f73c296d19454b79e19f6ad3f7ab7f9733132575226e68e7128c615ecacc1e5d + md5: f3f9de449d32ca9b9c66a22863c96f41 + sha256: 22f3663bcf294d349327e60e464a51cd59664a71b8ed70c28a9f512d10bc77dd manager: conda name: libzlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.12-h166bdaf_4.tar.bz2 - version: 1.2.12 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2 + version: 1.2.13 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libstdcxx-ng: '>=9.3.0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' hash: - md5: fbe97e8fa6f275d7c76a09e795adc3e6 - sha256: 56313fe4e602319682d4ea05c0ed3c5c45fc79884a5896f2cb7436b15d6987f9 + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f manager: conda name: lz4-c optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2 - version: 1.9.3 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + version: 1.9.4 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -837,14 +871,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 07acc367c7fc8b716770cd5b36d31717 - sha256: 13ba391de59386eff710a9e40cd7a3c53ef8dab6c7818dd4eaaf0401029ddd1b + md5: 45758f4ece9c8b7b5f99328bd5caae51 + sha256: 2fca71b8d95edc0e530f9512cdd9187407ad486868b7c247fc16cab1e4172ffa manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1q-h166bdaf_0.tar.bz2 - version: 1.1.1q + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_2.conda + version: 3.0.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1076,42 +1110,42 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libiconv: '>=1.17,<2.0.0a0' + libiconv: '>=1.17,<2.0a0' hash: - md5: 9b0ebfb39213d15e60d2c211c9c443b6 - sha256: 2af344c4c970412bb4f949a2d353a989bdb980e42040263b66cdb0e341ce63e5 + md5: 3a04f6b950cc884a43c2b737a38da9bd + sha256: 43a2b08d6eed3263be63805edd720133eda2189e8c673238c37e407fa2b84f2e manager: conda name: diffutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/diffutils-3.8-h1869db9_1.tar.bz2 - version: '3.8' + url: https://conda.anaconda.org/conda-forge/linux-64/diffutils-3.9-h6c2ea63_0.conda + version: '3.9' - category: main dependencies: libfdt: '>=1.6.1,<1.7.0a0' - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=12' yaml: '>=0.2.5,<0.3.0a0' hash: - md5: caa34d1dbb00e66fc12387ee364c24ce - sha256: cb20ea4ea3ae9c2ab6728b934666dc4cc0fac7c7acc4df66c9ab3819128a006e + md5: 22b23b5006eb63ed81af6a84569c930e + sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5 manager: conda name: dtc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2 version: 1.6.1 - category: main dependencies: gettext: '' - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' hash: - md5: 8d0b19bcc4a822e154eaf924483c9edb - sha256: 377377897759dc0183ad2db9a3c4472d50d81a74b62ad974f32109900d891743 + md5: 0045534ae3fc1682e8096b0c70b2570b + sha256: 30aca48b587e51d51f148d9b450a07fb21475585375e5c54c0048b13a31a437a manager: conda name: findutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h7f98852_1001.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h166bdaf_1001.tar.bz2 version: 4.6.0 - category: main dependencies: @@ -1120,12 +1154,12 @@ package: ncurses: '>=6.3,<7.0a0' hash: md5: f3530f0cfbc7b4e243cb6b8f19cd077d - sha256: null + sha256: e9fa4c912e6c72dcc10e00c6769c6b0e20d32446345ef9f07626257cc80f7d7d manager: conda name: firtool optional: false platform: linux-64 - url: https://anaconda.org/ucb-bar/firtool/1.25.0/download/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda version: 1.25.0 - category: main dependencies: @@ -1143,22 +1177,22 @@ package: version: 2.6.4 - category: main dependencies: - binutils_impl_linux-64: 2.36.1.* - libgcc-devel_linux-64: 12.1.0 h1ec3361_16 - libgcc-ng: '>=12.1.0' - libgomp: '>=12.1.0' - libsanitizer: 12.1.0 ha89aaad_16 - libstdcxx-ng: '>=12.1.0' + binutils_impl_linux-64: '>=2.39' + libgcc-devel_linux-64: 12.2.0 h3b97bd3_19 + libgcc-ng: '>=12.2.0' + libgomp: '>=12.2.0' + libsanitizer: 12.2.0 h46fd767_19 + libstdcxx-ng: '>=12.2.0' sysroot_linux-64: '' hash: - md5: 8db926c5e0250835beca6557221b600b - sha256: 344d543e87657facf6d6baf0ef877f7e003f1a25d969f196083be370ae59a410 + md5: bb48ea333c8e6dcc159a1575f04d869e + sha256: 1e67063ca887c0569c647d7e8e3da9d09234585ed0fce7f728d6709d7314d0f5 manager: conda name: gcc_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.1.0-hea43390_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.2.0-hcc96c02_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1199,18 +1233,18 @@ package: version: 3.1.20191231 - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + gettext: '>=0.21.1,<1.0a0' libgcc-ng: '>=12' libunistring: '>=0,<1.0a0' hash: - md5: 7726ff4317aaecba7a4e7c2a16d38b21 - sha256: 6051ca2b05ff5d08fcc1b5b653d34454dc0a099eec374683fea7ada6033bac62 + md5: 7440fbafd870b8bab68f83a064875d34 + sha256: 888848ae85be9df86f56407639c63bdce8e7651f0b2517be9bc0ac6e38b2d21d manager: conda name: libidn2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.3-h166bdaf_0.tar.bz2 - version: 2.3.3 + url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.4-h166bdaf_0.tar.bz2 + version: 2.3.4 - category: main dependencies: libgcc-ng: '>=12' @@ -1230,70 +1264,70 @@ package: libev: '>=4.33,<4.34.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' hash: - md5: 6fe9e31c2b8d0b022626ccac13e6ca3c - sha256: 44b87b28efb1fa34632730f37a39250ef955a3497d7d9cd0ec60316ac134278e + md5: dd682f0b6d65e75b2bc868fc8e93d87e + sha256: acb80dfd0b7be38c47101df812fc903374c8408daec127edb6f11a648a67c243 manager: conda name: libnghttp2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.47.0-hdcd2b5c_1.tar.bz2 - version: 1.47.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.51.0-hff17c54_0.conda + version: 1.51.0 - category: main dependencies: libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 575078de1d3a3114b3ce131bd1508d0c - sha256: 422a544fbfc8d8bf43de4b2dc5c7c991294ad0e37b37439d8dbf740f07a75437 + md5: e1c890aebdebbfbf87e2c917187b4416 + sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462 manager: conda name: libpng optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.38-h753d276_0.tar.bz2 - version: 1.6.38 + url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda + version: 1.6.39 - category: main dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 25170d5304fd05b82d67e3e342509336 - sha256: 8109460cdad70d66f2a404e82b5345ea6b42b9c5a21860b23a953964cf6e8669 + md5: 4b36c68184c6c85d88c6e595a32a1ede + sha256: 760118d7879b5524e118db1c75cc2a5dfceb2c4940dcae94751a94786c8cf12b manager: conda name: libprotobuf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-3.21.7-h6239696_0.tar.bz2 - version: 3.21.7 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-3.21.12-h3eb15da_0.conda + version: 3.21.12 - category: main dependencies: libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 978924c298fc2215f129e8171bbea688 - sha256: 919396aa0e5d0df8d8082db554d850639aa363aff13f4feabf2ee642f823b6d4 + md5: 2e5f9a37d487e1019fd4d8113adb2f9f + sha256: 6008a0b914bd1a3510a3dba38eada93aa0349ebca3a21e5fa276833c8205bf49 manager: conda name: libsqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.39.4-h753d276_0.tar.bz2 - version: 3.39.4 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2 + version: 3.40.0 - category: main dependencies: libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.5,<4.0a0' hash: - md5: 89acee135f0809a18a1f4537390aa2dd - sha256: 3c2ed83502bedf4ec8c5b972accb6ff1b6c018f72fb711cdb65cb8540d5ab89e + md5: d85acad4b47dff4e3def14a769a97906 + sha256: 9a9a01f35d2d50326eb8ca7c0a92d0c45b2d0f77d9ea117680c70094ff480c0c manager: conda name: libssh2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-haa6b8db_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-hf14f497_3.tar.bz2 version: 1.10.0 - category: main dependencies: @@ -1314,18 +1348,18 @@ package: dependencies: icu: '>=70.1,<71.0a0' libgcc-ng: '>=12' - libiconv: '>=1.16,<2.0.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - xz: '>=5.2.5,<5.3.0a0' + libiconv: '>=1.17,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + xz: '>=5.2.6,<6.0a0' hash: - md5: aced7c1f4b4dbfea08e033c6ae97c53e - sha256: 3c00e90a6eb6cc741731a09f848c12f3ef5ba5d03c9bbeb194029f39b7a48a5f + md5: 3b933ea47ef8f330c4c068af25fcd6a8 + sha256: b30713fb4477ff4f722280d956593e7e7a2cb705b7444dcc278de447432b43b1 manager: conda name: libxml2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.14-h22db469_4.tar.bz2 - version: 2.9.14 + url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-h7463322_0.tar.bz2 + version: 2.10.3 - category: main dependencies: libgcc-ng: '>=7.3.0' @@ -1372,14 +1406,14 @@ package: libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' hash: - md5: dfd26f27a9d5de96cec1d007b9aeb964 - sha256: ed3fa628b94a82ff039bdc9591c241dfc2c555f0efdfb07a0b53be4b2d9dfe6c + md5: 69e2c796349cd9b273890bee0febfe1b + sha256: 7a29ec847556eed4faa1646010baae371ced69059a4ade43851367a076d6108a manager: conda name: pcre2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.37-hc3806b6_1.tar.bz2 - version: '10.37' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2 + version: '10.40' - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -1434,16 +1468,16 @@ package: version: 4.8.0 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libiconv: '>=1.16,<2.0.0a0' + libgcc-ng: '>=12' + libiconv: '>=1.17,<2.0a0' hash: - md5: 33614741eb453005e0c74e027c325508 - sha256: 967aa10d9197b2a9753f21cb9e7d729560d90df41eb2fa2a3e2ffcb66891d98b + md5: 55aeaa9caf9a1cfd1a8cd3ad4e7885ea + sha256: 469b04c8f5ed59b8765cc501b593903ca831e604a59f40d6578a3326b082a946 manager: conda name: tar optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tar-1.34-ha1f6473_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/tar-1.34-hb2e2bae_1.tar.bz2 version: '1.34' - category: main dependencies: @@ -1488,29 +1522,29 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libzlib: 1.2.12 h166bdaf_4 + libzlib: 1.2.13 h166bdaf_4 hash: - md5: 995cc7813221edbc25a3db15357599a0 - sha256: 7b452922585c700cfbca2fbca8052cf44ebb1661d02c44a66bdd73e9b7bc9167 + md5: 4b11e365c0275b808be78b30f904e295 + sha256: 282ce274ebe6da1fbd52efbb61bd5a93dec0365b14d64566e6819d1691b75300 manager: conda name: zlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.12-h166bdaf_4.tar.bz2 - version: 1.2.12 + url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2 + version: 1.2.13 - category: main dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: adcf0be7897e73e312bd24353b613f74 - sha256: c42d9ec413edd7e984b6cac676997105d0f106556a0f045961153b049b95b87c + md5: 6b63daed8feeca47be78f323e793d555 + sha256: fbe49a8c8df83c2eccb37c5863ad98baeb29796ec96f2c503783d7b89bf80c98 manager: conda name: zstd optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h3eb15da_6.conda version: 1.5.2 - category: main dependencies: @@ -1555,16 +1589,16 @@ package: version: '3.8' - category: main dependencies: - gcc_impl_linux-64: '>=12.1.0,<12.1.1.0a0' + gcc_impl_linux-64: '>=12.2.0,<12.2.1.0a0' hash: - md5: 376d2d246e1228913ef6b6d32d191ad0 - sha256: 32908d2d36adfb327aa28d30ab8af2bb32a653d84706696b797379b27c83fcce + md5: 8b6a817ae6f518315cd82a8e826077e8 + sha256: d5230896809664dec267b3f06b50586de5d7cda22a914b82dc5ab136251d94fd manager: conda name: conda-gcc-specs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.1.0-h559a835_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.2.0-he6d4335_19.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1595,29 +1629,29 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 4e54cbfc47b8c74c2ecc1e7730d8edce - sha256: 97325af03590d9f9cc7fcb35ad869fa409c51820b0c721bfc9fe7a6d058d0bb0 + md5: e1232042de76d24539a436d37597eb06 + sha256: 1eb913727b54e9aa63c6d9a1177db4e2894cee97c5f26910a2b61899d5ac904f manager: conda name: freetype optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda version: 2.12.1 - category: main dependencies: - gcc_impl_linux-64: 12.1.0.* + gcc_impl_linux-64: 12.2.0.* hash: - md5: 41eda6f576d154ff857f2782446ca975 - sha256: 2e53954244ab346c537b78dcc54e0dddf1c101387d4b77180663a9028a969bd3 + md5: b4d86475bd1a21d139ea78770f606471 + sha256: 3cfb989723f8e115d35553c2b1d899b0f4185fc0551a996b9ff4037083a36432 manager: conda name: gcc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.1.0-h9ea6d83_10.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.2.0-h26027b1_11.tar.bz2 + version: 12.2.0 - category: main dependencies: libgcc-ng: '>=12' @@ -1637,34 +1671,34 @@ package: version: 3.7.8 - category: main dependencies: - gcc_impl_linux-64: 12.1.0 hea43390_16 - libstdcxx-devel_linux-64: 12.1.0 h1ec3361_16 + gcc_impl_linux-64: 12.2.0 hcc96c02_19 + libstdcxx-devel_linux-64: 12.2.0 h3b97bd3_19 sysroot_linux-64: '' hash: - md5: f64e7c4aad2bf9d75ef1849ba12d550e - sha256: 32e2b3182704acee2058e3346a7d1b8d562729f502c99b1beef13eb3b0c686c2 + md5: 698aae34e4f5e0ea8eac0d529c8f20b6 + sha256: eaca73bdeabe7d862f41e88be18788d00bd2135bc6003bbe7423e96c4275b944 manager: conda name: gxx_impl_linux-64 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.1.0-hea43390_16.tar.bz2 - version: 12.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.2.0-hcc96c02_19.tar.bz2 + version: 12.2.0 - category: main dependencies: keyutils: '>=1.6.1,<2.0a0' libedit: '>=3.1.20191231,<4.0a0' - libgcc-ng: '>=10.3.0' - libstdcxx-ng: '>=10.3.0' - openssl: '>=1.1.1l,<1.1.2a' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + openssl: '>=3.0.7,<4.0a0' hash: - md5: 7d862b05445123144bec92cb1acc8ef8 - sha256: 3d0f0a8806b6bbe5f9584ff69e0b569d8b3a5b8bd4f35564fdbd304c7ef28fd1 + md5: 89a41adce7106749573d883b2f657d78 + sha256: 51a346807ce981e1450eb04c3566415b05eed705bc9e6c98c198ec62367b7c62 manager: conda name: krb5 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h3790be6_0.tar.bz2 - version: 1.19.3 + url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda + version: 1.20.1 - category: main dependencies: bzip2: '>=1.0.8,<2.0a0' @@ -1673,17 +1707,17 @@ package: libzlib: '>=1.2.12,<1.3.0a0' lz4-c: '>=1.9.3,<1.10.0a0' lzo: '>=2.10,<3.0a0' - openssl: '>=1.1.1o,<1.1.2a' + openssl: '>=3.0.3,<4.0a0' xz: '>=5.2.5,<5.3.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 5b28408cfb6d2026ae7f2e7cb963f71a - sha256: 083a9e69c5f5687b47b0d00adbcc7e502c4babf275fa95e61a816fe071a75304 + md5: c0c3973a9f2df3e1a408e3205d86a88d + sha256: b67ff7262422ef04bfa1056c5ef10eba4d64773f40bb34314e0d492f58e726e7 manager: conda name: libarchive optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hb890918_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hada088e_3.tar.bz2 version: 3.5.2 - category: main dependencies: @@ -1699,22 +1733,22 @@ package: version: 3.9.0 - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + gettext: '>=0.21.1,<1.0a0' libffi: '>=3.4,<4.0a0' libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - pcre2: '>=10.37,<10.38.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + pcre2: '>=10.40,<10.41.0a0' hash: - md5: fe768553d0fe619bb9704e3c79c0ee2e - sha256: 6ef0ee03ca5b59e3c86992dc5744ab1b45c1d3d130a04d756ca27381e41c1b80 + md5: ed5349aa96776e00b34eccecf4a948fe + sha256: 3cbad3d63cff2dd9ac1dc9cce54fd3d657f3aff53df41bfe5bae9d760562a5af manager: conda name: libglib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.0-h7a41b64_0.tar.bz2 - version: 2.74.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2 + version: 2.74.1 - category: main dependencies: libblas: 3.9.0 16_linux64_openblas @@ -1731,120 +1765,145 @@ package: dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libxml2: '>=2.9.14,<2.10.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libxml2: '>=2.10.3,<2.11.0a0' + libzlib: '>=1.2.13,<1.3.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 71c80340652d1d9e81fa8473818c7024 - sha256: 450215ad03f1ca4003b52110bd3ca38bc8015b9d9bfda5d2ee01ef62ad187141 + md5: 70cbb0c2033665f2a7339bf0ec51a67f + sha256: 3fb9a9cfd2f5c79e8116c67f95d5a9b790ec66807ae0d8cebefc26fda9f836a7 manager: conda name: libllvm15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.2-h503ea73_0.tar.bz2 - version: 15.0.2 + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hadd5161_0.conda + version: 15.0.7 - category: main dependencies: jpeg: '>=9e,<10a' lerc: '>=4.0.0,<5.0a0' - libdeflate: '>=1.14,<1.15.0a0' + libdeflate: '>=1.17,<1.18.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' libwebp-base: '>=1.2.4,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - xz: '>=5.2.6,<5.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + xz: '>=5.2.6,<6.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 901791f0ec7cddc8714e76e273013a91 - sha256: 19f29fcaab2e6b97cb1991a5a703b5951e981dc8a093945f20382288b29a4668 + md5: 2e648a34072eb39d7c4fc2a9981c5f0c + sha256: e3e18d91fb282b61288d4fd2574dfa31f7ae90ef2737f96722fb6ad3257862ee manager: conda name: libtiff optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2 - version: 4.4.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h6adf6a1_2.conda + version: 4.5.0 - category: main dependencies: libgcc-ng: '>=12' - libprotobuf: '>=3.21.6,<3.22.0a0' + libprotobuf: '>=3.21.9,<3.22.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.3,<7.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.7,<4.0a0' perl: '>=5.32.1,<5.33.0a0 *_perl5' hash: - md5: 6214246121a9e89e3d40e2ef16f0ce2c - sha256: f40975a3c76067602514c620b5afaba065baaca4e320499f46a62023033fc818 + md5: c660c643ea8a05e4bce078d6486d04fd + sha256: c1d3f6053f3983229ffd362ef6192f148f80ccac0d287429756017a98deaac01 manager: conda name: mosh optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.3.2-pl5321h4981305_1013.tar.bz2 - version: 1.3.2 + url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h9ed9655_0.tar.bz2 + version: 1.4.0 - category: main dependencies: gmp: '>=6.2.1,<7.0a0' - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' mpfr: '>=4.1.0,<5.0a0' hash: - md5: c5d36085ed66e1c582d652fb921e99fb - sha256: 304e369ae27b09528dc487c86cfddbf80d34402198bdef6d6111080ad470baf5 + md5: 289c71e83dc0daa7d4c81f04180778ca + sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29 manager: conda name: mpc optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.2.1-h9f54685_0.tar.bz2 - version: 1.2.1 + url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda + version: 1.3.1 +- category: main + dependencies: + bzip2: '>=1.0.8,<2.0a0' + ld_impl_linux-64: '>=2.36.1' + libffi: '>=3.4,<4.0a0' + libgcc-ng: '>=12' + libnsl: '>=2.0.0,<2.1.0a0' + libsqlite: '>=3.40.0,<4.0a0' + libuuid: '>=2.32.1,<3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + ncurses: '>=6.3,<7.0a0' + openssl: '>=3.0.7,<4.0a0' + readline: '>=8.1.2,<9.0a0' + tk: '>=8.6.12,<8.7.0a0' + tzdata: '' + xz: '>=5.2.6,<6.0a0' + hash: + md5: 7b9485fce17fac2dd4aca6117a9936c2 + sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 + manager: conda + name: python + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda + version: 3.9.15 - category: main dependencies: libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' lz4-c: '>=1.9.3,<1.10.0a0' - openssl: '>=1.1.1q,<1.1.2a' + openssl: '>=3.0.5,<4.0a0' popt: '>=1.16,<2.0a0' xxhash: '>=0.8.0,<0.8.1.0a0' zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 8bb91b42e10a2449da2d7fbef94eba0c - sha256: 940ddd78d697f3aca18ebbac6ff2531dbb22308d556d4db196424f9d966b9ad4 + md5: 17b9e821cc0557b5822e0f9607e3bbc2 + sha256: 7ce5a05f7f706de9973b751a71ac06f5a924a8bd57d329dbcce2017f01910fbe manager: conda name: rsync optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/rsync-3.2.6-h220164a_0.tar.bz2 - version: 3.2.6 + url: https://conda.anaconda.org/conda-forge/linux-64/rsync-3.2.7-h70740c4_0.tar.bz2 + version: 3.2.7 - category: main dependencies: libgcc-ng: '>=12' - libsqlite: 3.39.4 h753d276_0 - libzlib: '>=1.2.12,<1.3.0a0' + libsqlite: 3.40.0 h753d276_0 + libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.3,<7.0a0' readline: '>=8.1.2,<9.0a0' hash: - md5: 643c271de2dd23ecbd107284426cebc2 - sha256: b0a812bcdc8c622852e4769f66d1db8a2e437a867acf64067ce31f9a0181acc8 + md5: bb11803129cbbb53ed56f9506ff74145 + sha256: baf0e77938e5215653aa6609ff154cb94aeb0a08083ff8dec2d3ba8dd62263e9 manager: conda name: sqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.39.4-h4ff8645_0.tar.bz2 - version: 3.39.4 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2 + version: 3.40.0 - category: main dependencies: libgcc-ng: '>=9.4.0' libidn2: '>=2,<3.0a0' libunistring: '>=0,<1.0a0' - openssl: '>=1.1.1l,<1.1.2a' + openssl: '>=3.0.0,<4.0a0' zlib: '>=1.2.11,<1.3.0a0' hash: - md5: 674f6b42484dbfd11906c3b0a93585e9 - sha256: d46fe5f94627cc2cdbed1f3cbadd9693a7ff9550fce2b892ed4d334de841b6ce + md5: c990e108f39e1b43adf61e984360c9a1 + sha256: a68061ccc7159630406053bb42a6ece01e8819bc2df7eb112172ba57e54b85e9 manager: conda name: wget optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/wget-1.20.3-ha56f1ee_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/wget-1.20.3-ha35d2d1_1.tar.bz2 version: 1.20.3 - category: main dependencies: @@ -1863,312 +1922,16 @@ package: version: 1.7.2 - category: main dependencies: - libgcc-ng: '>=9.3.0' - libglib: '>=2.64.6,<3.0a0' - libstdcxx-ng: '>=9.3.0' + python: '>=3.6' hash: - md5: 661e1ed5d92552785d9f8c781ce68685 - sha256: dde04e006d330e42165c49778546c466aa5ae03499f20cdd2bcbc7f0306f896d - manager: conda - name: atk-1.0 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.36.0-h3371d22_4.tar.bz2 - version: 2.36.0 -- category: main - dependencies: - expat: '>=2.4.2,<3.0a0' - libgcc-ng: '>=9.4.0' - libglib: '>=2.70.2,<3.0a0' - hash: - md5: ecfff944ba3960ecb334b9a2663d708d - sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 - manager: conda - name: dbus - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - version: 1.13.6 -- category: main - dependencies: - expat: '>=2.4.8,<3.0a0' - freetype: '>=2.12.1,<3.0a0' - libgcc-ng: '>=12' - libuuid: '>=2.32.1,<3.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 139ace7da04f011abbd531cb2a9840ee - sha256: 58388e28faa2078b0d93ec8d236f102b945e169c0b0fef9e8aa4496abe9548ce - manager: conda - name: fontconfig - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.0-hc2a2eb6_1.tar.bz2 - version: 2.14.0 -- category: main - dependencies: - jpeg: '>=9e,<10a' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - libtiff: '>=4.4.0,<5.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - zlib: '>=1.2.12,<1.3.0a0' - hash: - md5: a61c6312192e7c9de71548a6706a21e6 - sha256: b7379d19afe924b39e29e47b046f99a4a737f58a210c27d083391c0f8f012aad - manager: conda - name: gdk-pixbuf - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.8-hff1cb4f_1.tar.bz2 - version: 2.42.8 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - libglib: '>=2.66.4,<3.0a0' - libstdcxx-ng: '>=9.3.0' - hash: - md5: 112eb9b5b93f0c02e59aea4fd1967363 - sha256: ed9ae774aa867ad41bb0aa3f4a088f326dec32ab3468040322dbbd6c5bf33b0a - manager: conda - name: gts - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h64030ff_2.tar.bz2 - version: 0.7.6 -- category: main - dependencies: - gcc: 12.1.0.* - gxx_impl_linux-64: 12.1.0.* - hash: - md5: fd875ec9914bc3b7b1eb1676e8862c71 - sha256: 178342981f2f6d60eb4c150583b0f52f42232549f7929c5066e610881cbf8633 - manager: conda - name: gxx - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.1.0-h9ea6d83_10.tar.bz2 - version: 12.1.0 -- category: main - dependencies: - jpeg: '>=9d,<10a' - libgcc-ng: '>=9.3.0' - libtiff: '>=4.2.0,<5.0a0' - hash: - md5: 797117394a4aa588de6d741b06fad80f - sha256: 5b3c77a84b1dbfa53932dee830f35a42cfc5541e23ca0626f8058b04dcf518d1 - manager: conda - name: lcms2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.12-hddcbb42_0.tar.bz2 - version: '2.12' -- category: main - dependencies: - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 6e589829ed83703e00b048f8157f7f08 - sha256: 05379f8f5cf40bb9302248b5b68f86e1f697701210d42a1b3a0ecbeff1b8dfe8 - manager: conda - name: libclang-cpp15 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 294ce7498f7fafa0044da2417738442f - sha256: be800140be1496cc66c1acf289a80e5a96ba5c2787df0678b9480d5abae2a4a2 - manager: conda - name: libclang13 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.1-default_h3a83d3e_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 3b88f1d0fe2580594d58d7e44d664617 - sha256: 293b4be657b9bb534c58b2add62c5088fdbd2e943ff5aea5b4595564cc15e681 - manager: conda - name: libcups - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h3e49a29_2.tar.bz2 - version: 2.3.3 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libgcc-ng: '>=12' - libnghttp2: '>=1.47.0,<2.0a0' - libssh2: '>=1.10.0,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - hash: - md5: 054fb5981fdbe031caeb612b71d85f84 - sha256: d78f5f53eec42c94d67d91acdfd8ff2bff31df48184e2107c5717023e43271ba - manager: conda - name: libcurl - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.85.0-h7bff187_0.tar.bz2 - version: 7.85.0 -- category: main - dependencies: - gnutls: '>=3.7.6,<3.8.0a0' - libgcc-ng: '>=12' - hash: - md5: 78ff89df42ec0d4fe4355490d7843d9b - sha256: 780c82366caab4a741f2a4baa901a9b71fad6c2b8f1f64c168f10f61a939e9d4 - manager: conda - name: libmicrohttpd - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.75-h2603550_1.tar.bz2 - version: 0.9.75 -- category: main - dependencies: - giflib: '>=5.2.1,<5.3.0a0' - jpeg: '>=9e,<10a' - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libtiff: '>=4.4.0,<5.0a0' - libwebp-base: '>=1.2.4,<2.0a0' - hash: - md5: 802e43f480122a85ae6a34c1909f8f98 - sha256: 56520354bc39baeab8df964138639110eafa6069e34e9545f8818c8abd742f32 - manager: conda - name: libwebp - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.2.4-h522a892_0.tar.bz2 - version: 1.2.4 -- category: main - dependencies: - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libstdcxx-ng: '>=12' - libtiff: '>=4.4.0,<5.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: a11b4df9271a8d7917686725aa04c8f2 - sha256: a715cba5649f12a1dca53dfd72fc49577152041f033d7595cf4b6a655a5b93b6 - manager: conda - name: openjpeg - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2 - version: 2.5.0 -- category: main - dependencies: - bzip2: '>=1.0.8,<2.0a0' - ld_impl_linux-64: '>=2.36.1' - libffi: '>=3.4.2,<3.5.0a0' - libgcc-ng: '>=12' - libnsl: '>=2.0.0,<2.1.0a0' - libuuid: '>=2.32.1,<3.0a0' - libzlib: '>=1.2.11,<1.3.0a0' - ncurses: '>=6.3,<7.0a0' - openssl: '>=1.1.1o,<1.1.2a' - readline: '>=8.1,<9.0a0' - sqlite: '>=3.38.5,<4.0a0' - tk: '>=8.6.12,<8.7.0a0' - tzdata: '' - xz: '>=5.2.5,<5.3.0a0' - hash: - md5: 69bc307cc4d7396c5fccb26bbcc9c379 - sha256: 411462cd0726d5a13fd04295887d1137175df55687e4783f26ac1cbb46a10b7f - manager: conda - name: python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.13-h9a8a25e_0_cpython.tar.bz2 - version: 3.9.13 -- category: main - dependencies: - flex: '>=2.6.4,<3.0a0' - gxx_impl_linux-64: '' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - make: '' - perl: '' - hash: - md5: 41af6df1758bae89161daf268566384e - sha256: e2f2302d69c0d6928d95a1c699b5ef0b14e0243e78495734962c78136d2e6b9f - manager: conda - name: verilator - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/verilator-4.226-he0ac6c6_1.tar.bz2 - version: '4.226' -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-xextproto: '' - hash: - md5: 536cc5db4d0a3ba0630541aec064b5e4 - sha256: cf47ccbf49d46189d7bdadeac1387c826be82deb92ce6badbb03baae4b67ed26 - manager: conda - name: xorg-libxext - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2 - version: 1.3.4 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-fixesproto: '' - xorg-libx11: '>=1.7.0,<2.0a0' - hash: - md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a - sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3 - manager: conda - name: xorg-libxfixes - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2 - version: 5.0.3 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-renderproto: '' - hash: - md5: f59c1242cc1dd93e72c2ee2b360979eb - sha256: 7d907ed9e2ec5af5d7498fb3ab744accc298914ae31497ab6dcc6ef8bd134d00 - manager: conda - name: xorg-libxrender - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2 - version: 0.9.10 -- category: main - dependencies: - python: '' - hash: - md5: 2489a97287f90176ecdc3ca982b4b0a0 - sha256: 662690cace8f8a3e1358d01ddb8c019bf70ddfccd250220a6a488efc93ea5baf + md5: 06006184e203b61d3525f90de394471e + sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95 manager: conda name: alabaster optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2 - version: 0.7.12 + url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda + version: 0.7.13 - category: main dependencies: python: '' @@ -2193,18 +1956,32 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/asn1crypto-1.5.1-pyhd8ed1ab_0.tar.bz2 version: 1.5.1 +- category: main + dependencies: + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libstdcxx-ng: '>=12' + hash: + md5: 6c72ec3e660a51736913ef6ea68c454b + sha256: 2f9314de13c1f0b54510a2afa0cdc02c0e3f828fccfc4277734f9590b11a65f1 + manager: conda + name: atk-1.0 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-hd4edc92_1.tar.bz2 + version: 2.38.0 - category: main dependencies: python: '>=3.5' hash: - md5: 6d3ccbc56256204925bfa8378722792f - sha256: 86133878250874b3823bae7369bcad90187132537726cb1b546d88a0552d24de + md5: 8b76db7818a4e401ed4486c4c1635cd9 + sha256: 3a58d4a4933fa8735471c782d35326ab78e0bcfce84756408515f82a94e4dec4 manager: conda name: attrs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2 - version: 22.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda + version: 22.2.0 - category: main dependencies: python: '>=3.6' @@ -2217,45 +1994,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2 version: 0.3.0 -- category: main - dependencies: - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - icu: '>=70.1,<71.0a0' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - libxcb: '>=1.13,<1.14.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - pixman: '>=0.40.0,<1.0a0' - xorg-libice: '' - xorg-libsm: '' - xorg-libx11: '' - xorg-libxext: '' - xorg-libxrender: '' - zlib: '>=1.2.12,<1.3.0a0' - hash: - md5: d1a88f3ed5b52e1024b80d4bcd26a7a0 - sha256: f062cf56e6e50d3ad4b425ebb3765ca9138c6ebc52e6a42d1377de8bc8d954f6 - manager: conda - name: cairo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-ha61ee94_1014.tar.bz2 - version: 1.16.0 - category: main dependencies: python: '>=3.7' hash: - md5: f66309b099374af91369e67e84af397d - sha256: 52e7459b3c457e888e2b6a4e6d13ab7f8675999bc12d20a83e34f12591a8771a + md5: fb9addc3db06e56abe03e0e9f21a63e6 + sha256: 5e22af4776700200fab2c1df41a2188ab9cfe90a50c4f388592bb978562c88ec manager: conda name: certifi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2 - version: 2022.9.24 + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda + version: 2022.12.7 - category: main dependencies: python: '>=3.6' @@ -2270,55 +2020,29 @@ package: version: 2.1.1 - category: main dependencies: - libclang-cpp15: '>=15.0.1,<15.1.0a0' - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + __unix: '' + python: '>=3.8' hash: - md5: 7a362fdef3d72b52c5ce25ec03db84d2 - sha256: 9d5e0eda13deaae0d5e0b92df2d5a7334f785b01d89266c650bedf0140744d7c + md5: 20e4087407c7cb04a40817114b333dbf + sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea manager: conda - name: clang-format-15 + name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 + version: 8.1.3 - category: main dependencies: python: '>=3.6' hash: - md5: a6cf47b09786423200d7982d1faa19eb - sha256: ad15e71f51afa48f44592e9f7cee74b6e1b90ddb1caacb5d3e043a62775b64bb + md5: b325bfc4cff7d7f8a868f1f7ecc4ed16 + sha256: f0c2fd0e842899a05ddd7b147fb26424adf58be0e8e54e5bc68b8f7e67d05dcd manager: conda name: cloudpickle optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 - version: 2.2.0 -- category: main - dependencies: - bzip2: '>=1.0.8,<2.0a0' - expat: '>=2.4.8,<3.0a0' - libcurl: '>=7.83.1,<8.0a0' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - libuv: '' - libzlib: '>=1.2.12,<1.3.0a0' - ncurses: '>=6.3,<7.0a0' - rhash: '' - xz: '>=5.2.6,<5.3.0a0' - zlib: '>=1.2.12,<1.3.0a0' - zstd: '>=1.5.2,<1.6.0a0' - hash: - md5: c57977f63831a8f43ace75fcc7151b9d - sha256: a7d740765dcb6c8f1d594550ae25d221b2a507d4f1d5e4ea94e8c5d4e3b1f215 - manager: conda - name: cmake - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.24.2-h5432695_0.tar.bz2 - version: 3.24.2 + url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.1-pyhd8ed1ab_0.conda + version: 2.2.1 - category: main dependencies: python: '' @@ -2343,23 +2067,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.3.1-pyhd8ed1ab_0.tar.bz2 version: 0.3.1 -- category: main - dependencies: - krb5: '>=1.19.3,<1.20.0a0' - libcurl: 7.85.0 h7bff187_0 - libgcc-ng: '>=12' - libssh2: '>=1.10.0,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - hash: - md5: a8ac96d6b09b8ed5b0ac6563901e2195 - sha256: 82e1c096d498804e22da92ae076e70d77ac43344e4c8035f7ca407645bec7ef1 - manager: conda - name: curl - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.85.0-h7bff187_0.tar.bz2 - version: 7.85.0 - category: main dependencies: python: '>=3.6' @@ -2372,51 +2079,146 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2 version: 0.11.0 +- category: main + dependencies: + expat: '>=2.4.2,<3.0a0' + libgcc-ng: '>=9.4.0' + libglib: '>=2.70.2,<3.0a0' + hash: + md5: ecfff944ba3960ecb334b9a2663d708d + sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 + manager: conda + name: dbus + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 + version: 1.13.6 - category: main dependencies: python: 2.7|>=3.6 hash: - md5: f15c3912378a07726093cc94d1e13251 - sha256: fe48fec5aeb77e5963ffb58de6fbb880eb545bbe25c609f614e39c56e4a193a6 + md5: b65b4d50dbd2d50fa0aeac367ec9eed7 + sha256: 06eb7167d4d760b3b437a491e32ab5b3f89e2a18f023c117fe213b038d88538a manager: conda name: distlib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.5-pyhd8ed1ab_0.tar.bz2 - version: 0.3.5 + url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.6-pyhd8ed1ab_0.tar.bz2 + version: 0.3.6 - category: main dependencies: - bzip2: '>=1.0.8,<2.0a0' - libarchive: '>=3.5.2,<3.6.0a0' - libcurl: '>=7.82.0,<8.0a0' - libgcc-ng: '>=10.3.0' - libmicrohttpd: '>=0.9.75,<0.10.0a0' - libstdcxx-ng: '>=10.3.0' - libzlib: '>=1.2.11,<1.3.0a0' - sqlite: '>=3.38.2,<4.0a0' - xz: '>=5.2.5,<5.3.0a0' - zstd: '>=1.5.2,<1.6.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 2e9ec0e21d51118b004f1f98e4fbf598 - sha256: bee5b4a723472cc844775a36dbdca35ecb24f40fbb162924bd8536b05930c3dc + md5: eeb35a5548c9b90fcfd6b36bc013557b + sha256: b9cfde2a6a78a54f3e8e65f009cf9d6faabface5e96d66d65d278be7c577f0e5 manager: conda - name: elfutils + name: docutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.187-h989201e_0.tar.bz2 - version: '0.187' + url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.15.2-py39hf3d152e_6.tar.bz2 + version: 0.15.2 - category: main dependencies: python: '>=3.7' hash: - md5: 10f0218dbd493ab2e5dc6759ddea4526 - sha256: 5b5884b070fbe23bb714c3de22038ed6056b6533b0974c81d5f4a7ef451b7eff + md5: 1addc115923d646ca19ed90edc413506 + sha256: 739c48f62747c942aa733041d36a2c1af41c2ecf2a59f1fec90cd7200e01be9a manager: conda name: filelock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.8.0-pyhd8ed1ab_0.tar.bz2 - version: 3.8.0 + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.0-pyhd8ed1ab_0.conda + version: 3.9.0 +- category: main + dependencies: + expat: '>=2.5.0,<3.0a0' + freetype: '>=2.12.1,<3.0a0' + libgcc-ng: '>=12' + libuuid: '>=2.32.1,<3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 0f69b688f52ff6da70bccb7ff7001d1d + sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83 + manager: conda + name: fontconfig + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda + version: 2.14.2 +- category: main + dependencies: + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + hash: + md5: 1a109126a43003d65b39c1cad656bc9b + sha256: a27f49d85e0a730374cc77606e9484b23b0f3edf32df1994b6d7ff5dd44aef92 + manager: conda + name: gdk-pixbuf + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h05c8ddd_0.conda + version: 2.42.10 +- category: main + dependencies: + gmp: '>=6.2.1,<7.0a0' + libgcc-ng: '>=12' + mpc: '>=1.2.1,<2.0a0' + mpfr: '>=4.1.0,<5.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: d019ebf9a328e19c211be7e916c57b80 + sha256: f5a5ab463d7d9e9c4f6a70748adf334ad28072c9befe4748d0eaa48fccc24d56 + manager: conda + name: gmpy2 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py39h376b7d2_1.tar.bz2 + version: 2.1.2 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + libglib: '>=2.66.4,<3.0a0' + libstdcxx-ng: '>=9.3.0' + hash: + md5: 112eb9b5b93f0c02e59aea4fd1967363 + sha256: ed9ae774aa867ad41bb0aa3f4a088f326dec32ab3468040322dbbd6c5bf33b0a + manager: conda + name: gts + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h64030ff_2.tar.bz2 + version: 0.7.6 +- category: main + dependencies: + gcc: 12.2.0.* + gxx_impl_linux-64: 12.2.0.* + hash: + md5: 2b54322e0dbb1345d64913e8b20b7d7c + sha256: f6c390055f2846d6013160c41dece0973daf577c5f1aaa73ff5dcf597b35d0ec + manager: conda + name: gxx + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.2.0-h26027b1_11.tar.bz2 + version: 12.2.0 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 3844897723d78cca5f813ad6bee5fc7b + sha256: e15ee3e17a30738fb8e2adccef809a41b388bcaf3cc9fc895c15287a86e93ce1 + manager: conda + name: humanfriendly + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py39hf3d152e_4.tar.bz2 + version: '10.0' - category: main dependencies: python: '>=3.6' @@ -2443,16 +2245,16 @@ package: version: 1.4.1 - category: main dependencies: - python: '' + python: '>=3.7' hash: - md5: 39161f81cc5e5ca45b8226fbb06c6905 - sha256: 9423ded508ebda87dae21d7876134e406ffeb88e6059f3fe1a909d180c351959 + md5: f800d2da156d08e289b14e87e43c1ae5 + sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 manager: conda name: iniconfig optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2 - version: 1.1.1 + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + version: 2.0.0 - category: main dependencies: python: '>=3.7' @@ -2515,44 +2317,108 @@ package: version: '2.0' - category: main dependencies: - libclang13: 15.0.1 default_h3a83d3e_0 - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libgcc-ng: '>=9.3.0' + libstdcxx-ng: '>=9.3.0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 12b3d5cfa7a87103fcc906111aad80c1 - sha256: a207724037b161dad53f24064e2d839ea35a82c1ff176e8bbd6bf3649323dbd4 + md5: c5d6241b3ec5d02c316a5f66f14024c7 + sha256: 32fa01aacf67d40b54fbcf9c7e89aae964450ffdb58bb93baba068d8b5c72c3e manager: conda - name: libclang + name: kiwisolver optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.1-py39h1a9c180_1.tar.bz2 + version: 1.3.1 - category: main dependencies: - expat: '>=2.4.8,<3.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.10.4,<3.0a0' - icu: '>=70.1,<71.0a0' jpeg: '>=9e,<10a' - libgcc-ng: '>=10.3.0' - libpng: '>=1.6.37,<1.7.0a0' - libtiff: '>=4.3.0,<5.0a0' - libwebp: '' - libwebp-base: '>=1.2.2,<2.0a0' - libzlib: '>=1.2.11,<1.3.0a0' - zlib: '>=1.2.11,<1.3.0a0' + libgcc-ng: '>=12' + libtiff: '>=4.5.0,<4.6.0a0' hash: - md5: ea9758cf553476ddf75c789fdd239dc5 - sha256: ce87f320fb409c453671fc0c074ba04987f75b4e9a88d074650f23a92eae1054 + md5: c2566c2ea5f153ddd6bf4acaf7547d97 + sha256: 632f191ac65bc673f8fcef9947e2c8431b0db6ca357ceebde3bdc4ed187af814 manager: conda - name: libgd + name: lcms2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h18fbbfe_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda + version: '2.14' +- category: main + dependencies: + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: e80f44a23af61278b5efce3562f25e91 + sha256: 81e2f7b100fe0d458460a21d81535b88c84534e55fdc7023e8337086755543dc + manager: conda + name: libclang-cpp15 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: dcfae510179c3de2e42b3a2276d059e0 + sha256: 71539a4d472adc39a52e3cbbf5d33c06f09fd63f0c8f718fd2fb1274e7511b57 + manager: conda + name: libclang13 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_0.conda + version: 15.0.7 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: c9f4416a34bc91e0eb029f912c68f81f + sha256: 0ccd610207807f53328f137b2adc99c413f8e1dcd1302f0325412796a94eaaf7 + manager: conda + name: libcups + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda version: 2.3.3 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libgcc-ng: '>=12' + libnghttp2: '>=1.47.0,<2.0a0' + libssh2: '>=1.10.0,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + hash: + md5: bc302fa1cf8eda15c60f669b7524a320 + sha256: dbe6253906a6a1a0b0c4f26581143f4b434c58c67db78ee4adaf2c1c37bae226 + manager: conda + name: libcurl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.87.0-hdc1c0ab_0.conda + version: 7.87.0 +- category: main + dependencies: + gnutls: '>=3.7.6,<3.8.0a0' + libgcc-ng: '>=12' + hash: + md5: 78ff89df42ec0d4fe4355490d7843d9b + sha256: 780c82366caab4a741f2a4baa901a9b71fad6c2b8f1f64c168f10f61a939e9d4 + manager: conda + name: libmicrohttpd + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.75-h2603550_1.tar.bz2 + version: 0.9.75 - category: main dependencies: python: '>=3.4' @@ -2565,6 +2431,23 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/libusb1-2.0.1-pyhd8ed1ab_0.tar.bz2 version: 2.0.1 +- category: main + dependencies: + giflib: '>=5.2.1,<5.3.0a0' + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp-base: '>=1.2.4,<2.0a0' + hash: + md5: 77003f63d1763c1e6569a02c1742c9f4 + sha256: 43d563a16fe9db32b7d0be8d89968005f21139e9285dfe1fbfe9ae6647f1cc9f + manager: conda + name: libwebp + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.2.4-h1daa5a0_1.conda + version: 1.2.4 - category: main dependencies: python: '' @@ -2577,30 +2460,117 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/lockfile-0.12.2-py_1.tar.bz2 version: 0.12.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 35514f5320206df9f4661c138c02e1c1 + sha256: da31fe95611393bb7dd3dee309a89328448570fd8a3205c2c55c03eb73688b61 + manager: conda + name: markupsafe + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.2-py39h72bdee0_0.conda + version: 2.1.2 - category: main dependencies: python: '>=3.6' hash: - md5: f6dfba59b0021f654e55c226634f39d4 - sha256: 9ad66a1d52da6f4bcdb832539e15762b72e1c75c7c32461be6e02c2da53c02d3 + md5: 9b6ad26944f19f599800b068e0582227 + sha256: 9b13d47aab2ee2708157bf90244915652b9d2ceaee9952694cfd5caff3559fbc manager: conda name: more-itertools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-8.14.0-pyhd8ed1ab_0.tar.bz2 - version: 8.14.0 + url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-9.0.0-pyhd8ed1ab_0.tar.bz2 + version: 9.0.0 +- category: main + dependencies: + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 1476ded6cd61da1e2d921a2396207c75 + sha256: a1f373b96221b13df5ab32ccf586232e6d82068c362278d0348a326951b93c34 + manager: conda + name: msgpack-python + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.4-py39hf939315_1.tar.bz2 + version: 1.0.4 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: a49da0929650af17fc943a90465e6ffc + sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 + manager: conda + name: mypy_extensions + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 + version: 0.4.3 - category: main dependencies: python: '>=3.8' hash: - md5: 1b74438a7270b1e2cbd3de9dba18ebb6 - sha256: eda4b0dba46c72770bc410c794f4da62509623a24c12b9805954828278915dc7 + md5: 88e40007414ea9a13f8df20fcffa87e2 + sha256: edd149a40ea746ce17c1b135c72a1646810e99071bedb7d808914cc31b3c8a5d manager: conda name: networkx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.7-pyhd8ed1ab_0.tar.bz2 - version: 2.8.7 + url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda + version: '3.0' +- category: main + dependencies: + libblas: '>=3.8.0,<4.0a0' + libcblas: '>=3.8.0,<4.0a0' + libgcc-ng: '>=10.3.0' + liblapack: '>=3.8.0,<4.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 0cf333996ebdeeba8d1c8c1c0ee9eff9 + sha256: 6ec8d7ade9e083de4f8a532d9e71d14e780cc9059a625b57174cc68f9a99b930 + manager: conda + name: numpy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.19.5-py39hd249d9e_3.tar.bz2 + version: 1.19.5 +- category: main + dependencies: + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libstdcxx-ng: '>=12' + libtiff: '>=4.5.0,<4.6.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 5ce6a42505c6e9e6151c54c3ec8d68ea + sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2 + manager: conda + name: openjpeg + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda + version: 2.5.0 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: 1ff2e3ca41f0ce16afec7190db28288b + sha256: 00288f5e5e841711e8b8fef1f1242c858d8ef99ccbe5d7e0df4789d5d8d40645 + manager: conda + name: packaging + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.0-pyhd8ed1ab_0.conda + version: '23.0' - category: main dependencies: python: '>=2.7' @@ -2617,26 +2587,53 @@ package: dependencies: python: '>=3.6' hash: - md5: 0f2d0da112ff6fd76cc3ce038d72d2c9 - sha256: 2f025bd6425932cbbca83a24194f8c4ef098d6aa4b4c6f878f73d926a1041303 + md5: be1e9f1c65a1ed0f2ae9352fec99db64 + sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502 manager: conda name: pkginfo optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.8.3-pyhd8ed1ab_0.tar.bz2 - version: 1.8.3 + url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda + version: 1.9.6 - category: main dependencies: - python: '>=3.7' + python: '>=3.8' hash: - md5: 2fb3f88922e7aec26ba652fcdfe13950 - sha256: a46843e317318405a8c66b640e7ad0c95d2f536918faa4f36cdfcda852000bcd + md5: 7d301a0d25f424d96175f810935f0da9 + sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 manager: conda - name: platformdirs + name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.2-pyhd8ed1ab_1.tar.bz2 - version: 2.5.2 + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 + version: 1.0.0 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: bfefe349de77edb720cb4688821ff78e + sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 + manager: conda + name: poetry-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 + version: 1.0.8 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 12184951da572828fb986b06ffb63eed + sha256: 515cf2cfc0504eb5758fa9ddfabc1dcbd7182da7650828aac97c9eee35597c84 + manager: conda + name: psutil + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2 + version: 5.9.4 - category: main dependencies: python: '' @@ -2675,7 +2672,21 @@ package: version: 0.4.8 - category: main dependencies: - python: ==2.7.*|>=3.4 + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 00f348bb07e883ceb502b02227b0c900 + sha256: 5ab9b896c57be67ab3c6c837c93688902540cc3eb7b30f79c7fedec8d71e8ec9 + manager: conda + name: pycosat + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.4-py39hb9d737c_1.tar.bz2 + version: 0.6.4 +- category: main + dependencies: + python: 2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -2685,6 +2696,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2 version: '2.21' +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: fdd9fda18e2af3df572dbeccaaff135a + sha256: 3f6e7c4727df937e72ba78853933c64153ecb5588391c4c97cb019cca1c6fa94 + manager: conda + name: pyinotify + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1006.tar.bz2 + version: 0.9.6 - category: main dependencies: python: '>=3.3' @@ -2709,6 +2733,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.6-pyhd8ed1ab_0.tar.bz2 version: 3.0.6 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 659013ef00dcd1751bfd26d894f73857 + sha256: 8b8719429dc47dd15252fe65fc77a3ad81f25aa5f4db0e6b1d7cdc54722e6ef4 + manager: conda + name: pyrsistent + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.19.3-py39h72bdee0_0.conda + version: 0.19.3 - category: main dependencies: __unix: '' @@ -2722,49 +2760,105 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 version: 1.7.1 -- category: main - dependencies: - python: 3.9.* - hash: - md5: 39adde4247484de2bb4000122fdcf665 - sha256: 67231829ea0101fee30c68f788fdba40a11bbee8fdac556daaab5832bd27bf3d - manager: conda - name: python_abi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2 - version: '3.9' - category: main dependencies: python: '>=3.6' hash: - md5: fc0dcaf9761d042fb8ac9128ce03fddb - sha256: c9104b60f1a0637973c60161bd00f720bbc9fd5167f2a26161cbf86d6e948f7e + md5: f59d49a7b464901cf714b9e7984d01a2 + sha256: 93cfc7a92099e26b0575a343da4a667b52371cc38e4dee4ee264dc041ef77bac manager: conda name: pytz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pytz-2022.4-pyhd8ed1ab_0.tar.bz2 - version: '2022.4' + url: https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7.1-pyhd8ed1ab_0.conda + version: 2022.7.1 - category: main dependencies: - __glibc: '>=2.17,<3.0.a0' - libcurl: '>=7.83.1,<8.0a0' - libgcc-ng: '>=12' - libglib: '>=2.72.1,<3.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - pixman: '>=0.40.0,<1.0a0' - zstd: '>=1.5.2,<1.6.0a0' + __unix: '' + python: '>=2.7' hash: - md5: def7188533bc19a8df31e57de92260cf - sha256: 0e6f27f17a562308344271e8011553afc7335176ec415a8e89f07892df06db31 + md5: 2807a0becd1d986fe1ef9b7f8135f215 + sha256: 6502696aaef571913b22a808b15c185bd8ea4aabb952685deb29e6a6765761cb manager: conda - name: qemu + name: pywin32-on-windows optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 - version: 5.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + version: 0.1.0 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + yaml: '>=0.2.5,<0.3.0a0' + hash: + md5: 36a51b5f1856dc5a8d781220a4bc54ba + sha256: da790c97de2d40421caa5e7119ab4674302603b56f23849660392ab571c52aaa + manager: conda + name: pyyaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39hb9d737c_4.tar.bz2 + version: 5.4.1 +- category: main + dependencies: + expat: '>=2.4.8,<3.0a0' + gmp: '>=6.2.1,<7.0a0' + libzlib: '>=1.2.12,<1.3.0a0' + mpc: '>=1.2.1,<2.0a0' + mpfr: '>=4.1.0,<5.0a0' + ncurses: '>=6.3,<7.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 8a574054a336665b34ffebca58dba813 + manager: conda + name: riscv-tools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/riscv-tools-1.0.1-0_h1234567_gdcdbcaf.tar.bz2 + version: 1.0.1 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: d9da3b1d13895666f4cc2559d37b8de4 + sha256: b75af1f9c7a7f26215f7afbaa6fb84f34c08cf1bca6d5b8b248267dea62f4742 + manager: conda + name: ruamel.yaml.clib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.7-py39h72bdee0_1.conda + version: 0.2.7 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + yaml: '>=0.2.5,<0.3.0a0' + hash: + md5: f862616e19cd2aaa411d24725116b486 + sha256: 762f7719759ea01a81817424cc23d45e595aeabaa6e27adc0a70dadedd4301d2 + manager: conda + name: ruamel_yaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py39hb9d737c_1008.tar.bz2 + version: 0.15.80 +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 4252d0c211566a9f65149ba7f6e87aa4 + sha256: ec8146799fabb0edfd0b2622fdd05413c9a2fcd13dfa846958214f9909ab3435 + manager: conda + name: setuptools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py39hf3d152e_1.tar.bz2 + version: 59.8.0 - category: main dependencies: python: '>=3.6' @@ -2817,14 +2911,14 @@ package: dependencies: python: '>=3.5' hash: - md5: 20b2eaeaeea4ef9a9a0d99770620fd09 - sha256: bd7838485e34e7ec5717552f83fa4a02623ff5fb854c10f2f57080b85d13c69e + md5: 5a31a7d564f551d0e6dff52fd8cb5b16 + sha256: 802810d8321d55e5666806d565e72949eabf77ad510fe2758ce1da2441675ef1 manager: conda name: sphinxcontrib-applehelp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2 - version: 1.0.2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.4-pyhd8ed1ab_0.conda + version: 1.0.4 - category: main dependencies: python: '>=3.5' @@ -2841,14 +2935,14 @@ package: dependencies: python: '>=3.5' hash: - md5: 77dad82eb9c8c1525ff7953e0756d708 - sha256: 3c1170f3a3170e59b156e375c949db98941892850e59fa4085c437a5df0e767d + md5: 6c8c4d6eb2325e59290ac6dbbeacd5f0 + sha256: aeff20be994e6f9520a91fc177a33cb3e4d0911cdf8d27e575d001f00afa33fd manager: conda name: sphinxcontrib-htmlhelp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2 - version: 2.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.1-pyhd8ed1ab_0.conda + version: 2.0.1 - category: main dependencies: python: '>=3.5' @@ -2921,6 +3015,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2 version: 0.12.0 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 8a7d309b08cff6386fe384aa10dd3748 + sha256: 67c3eef0531caf75a81945844288f363cd3b7b029829bd91ed0994bf6b231f34 + manager: conda + name: tornado + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_1.tar.bz2 + version: '6.2' - category: main dependencies: python: '>=3.6' @@ -2957,740 +3065,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.4.0-pyha770c72_0.tar.bz2 version: 4.4.0 -- category: main - dependencies: - python: '' - hash: - md5: 3563be4c5611a44210d9ba0c16113136 - sha256: 302f4f4bd1ad00c0be1426ecf6bb01db59cfd8aff3de0cf1596526dca1a6b70e - manager: conda - name: webencodings - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2 - version: 0.5.1 -- category: main - dependencies: - python: '>=3.7' - hash: - md5: f3b20ec2c97bad7104679b1d62eb7a11 - sha256: 911ac2b5c2bbe602c806ded8e5a40bd132e99ffa1dda10e27e6bc046c962fed6 - manager: conda - name: websocket-client - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.4.1-pyhd8ed1ab_0.tar.bz2 - version: 1.4.1 -- category: main - dependencies: - python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4' - hash: - md5: 1ca02aaf78d9c70d9a81a3bed5752022 - sha256: aede66e6370f3b936164a703e48362f9080d7162234058fb2ee63cc84d528afc - manager: conda - name: wheel - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2 - version: 0.37.1 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: b5b33faed6ed2b4ba47a690b8f5c0818 - sha256: eb40b33ae953e0020406318c9be0eb6edf62f3aa8e64ab0bf1953440b1a92763 - manager: conda - name: xmltodict - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/xmltodict-0.13.0-pyhd8ed1ab_0.tar.bz2 - version: 0.13.0 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - xorg-inputproto: '' - xorg-libx11: '>=1.7.0,<2.0a0' - xorg-libxext: 1.3.* - xorg-libxfixes: 5.0.* - hash: - md5: e77615e5141cad5a2acaa043d1cf0ca5 - sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68 - manager: conda - name: xorg-libxi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2 - version: 1.7.10 -- category: main - dependencies: - python: '>=3.7' - hash: - md5: 6f3fd8c9e0ab504010fb4216d5919c24 - sha256: 7740d6fcd4fffb895a93c765388382b58ea78e005180cee88078eb18e59f7f06 - manager: conda - name: zipp - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.9.0-pyhd8ed1ab_0.tar.bz2 - version: 3.9.0 -- category: main - dependencies: - python: '>=3.6' - pytz: '' - hash: - md5: 72f1c6d03109d7a70087bc1d029a8eda - sha256: 45297f4ce5786ff5bdf188846fcaa163f45629eebc285faf2e9e2cbeb6e57a91 - manager: conda - name: babel - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/babel-2.10.3-pyhd8ed1ab_0.tar.bz2 - version: 2.10.3 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '' - hash: - md5: be3b5cae027b3ead96829ef7717c76c3 - sha256: 4592888a3c5f1ad2e36ff89039ff1912c623695f985622cf0fcfc2d0cb315053 - manager: conda - name: botocore-stubs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.24.7-pyhd8ed1ab_0.tar.bz2 - version: 1.24.7 -- category: main - dependencies: - libffi: '>=3.4.2,<3.5.0a0' - libgcc-ng: '>=12' - pycparser: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 61e961a94c8fd535e4496b17e7452dfe - sha256: 36340ca4f6935f5841197aa91c6ffef5966b031fa1267cdee7e3add5ba4dfc81 - manager: conda - name: cffi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_0.tar.bz2 - version: 1.15.1 -- category: main - dependencies: - clang-format-15: 15.0.1 default_h2e3cab8_0 - libclang-cpp15: '>=15.0.1,<15.1.0a0' - libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: b27e221ef3f74976d431e55d946fac84 - sha256: b137bc37dacf190159099bcac1cd4647adb23cb926461c8260202c95736312ef - manager: conda - name: clang-format - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 40edd9ebc04e4b4ec27c1008e5e3f99d - sha256: f828e0eac4f14d8868039f93cb4674582d95be4c1d89b34007f8154af3af4edf - manager: conda - name: click - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_0.tar.bz2 - version: 8.1.3 -- category: main - dependencies: - crashtest: '>=0.3.0,<0.4.0' - pastel: '>=0.2.0,<0.3.0' - pylev: '>=1.3,<2.0' - python: '' - hash: - md5: 159273f717a11e53b2656f8b6521a5e2 - sha256: 59b5c9ea3415e45e1beb1c191e3a0bf0dcca92c200a184704ea55002d1ef535c - manager: conda - name: clikit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyh9f0ad1d_0.tar.bz2 - version: 0.6.2 -- category: main - dependencies: - python: '' - six: '>=1.4.0' - hash: - md5: c69f19038efee4eb534623610d0c2053 - sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 - manager: conda - name: docker-pycreds - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 - version: 0.4.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: ec83bf44e734dfd8f0b507156df855a0 - sha256: 23e9ab2a539949427b4e4e02bf52a32427da1fe06cb21154e5cd8205ee40098b - manager: conda - name: docutils - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.15.2-py39hf3d152e_5.tar.bz2 - version: 0.15.2 -- category: main - dependencies: - curl: '' - expat: '>=2.4.9,<3.0a0' - gettext: '' - libgcc-ng: '>=12' - libiconv: '>=1.17,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openssl: '>=1.1.1q,<1.1.2a' - pcre2: '>=10.37,<10.38.0a0' - perl: 5.* - hash: - md5: 8f0dccb08b30a45afe1def2081f82914 - sha256: bb5518206303796d72471d1c046e0d697efcb4e868d811a97f3dae634fe6667d - manager: conda - name: git - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.38.0-pl5321h5fbbf19_0.tar.bz2 - version: 2.38.0 -- category: main - dependencies: - python: '>=3.4' - smmap: '>=3.0.1,<4' - hash: - md5: 40fc6b14a45dee3a3fd9f302d026108e - sha256: fa018c53bd1c171dccde16c4eb9dd9f3ff6b7f2d222c564d48b5516ec1ee24ec - manager: conda - name: gitdb - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.9-pyhd8ed1ab_0.tar.bz2 - version: 4.0.9 -- category: main - dependencies: - gmp: '>=6.2.1,<7.0a0' - libgcc-ng: '>=9.4.0' - mpc: '>=1.2.1,<2.0a0' - mpfr: '>=4.1.0,<5.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 465c0b520e3ac7d7ed001cb31d1ad3c4 - sha256: 90ede58bfaac41a33801263426cb1f792e6ea48153fe344dc48de0b0fb6cbd7a - manager: conda - name: gmpy2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py39h78fa15d_0.tar.bz2 - version: 2.1.2 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '>=4,<5' - hash: - md5: 87cafe8c7638a5ac6fd8ec8fb01f1508 - sha256: 6f7da913ecad98951cadfe512af2c3979fbff752bf714da66760701e5463dd29 - manager: conda - name: graphql-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.3-pyhd8ed1ab_0.tar.bz2 - version: 3.2.3 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0a0' - freetype: '>=2.12.1,<3.0a0' - graphite2: '' - icu: '>=70.1,<71.0a0' - libgcc-ng: '>=12' - libglib: '>=2.74.0,<3.0a0' - libstdcxx-ng: '>=12' - hash: - md5: 888056bd4b12e110b10d4d1f29161c5e - sha256: 57c6ae03c3e70fe7cd28b9e5f27ee470181aef5426f6796a52bc591cfe473183 - manager: conda - name: harfbuzz - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-5.3.0-h418a68e_0.tar.bz2 - version: 5.3.0 -- category: main - dependencies: - python: '' - six: '>=1.9' - webencodings: '' - hash: - md5: b2355343d6315c892543200231d7154a - sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4 - manager: conda - name: html5lib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2 - version: '1.1' -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: f67fbf5dd896aeac1e145638bd1a7abf - sha256: bffda3932fb8aa968ac6ba35d9de9cd3f5b8f8a39945071576c86ec5109482ed - manager: conda - name: humanfriendly - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py39hf3d152e_2.tar.bz2 - version: '10.0' -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - zipp: '>=0.5' - hash: - md5: 4c2a0eabf0b8980b2c755646a6f750eb - sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 - manager: conda - name: importlib-metadata - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 - version: 4.11.4 -- category: main - dependencies: - python: '>=3.6' - zipp: '>=0.4' - hash: - md5: 24dd95143fc4f3898143c93a6d5a5d41 - sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 - manager: conda - name: importlib_resources - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 - version: 3.3.1 -- category: main - dependencies: - more-itertools: '' - python: '>=3.7' - hash: - md5: 6e2ef6e4a000db889c124f3927c24f7c - sha256: 82f11df8c7464fe28eb6dab0ebd755aacd8d2b4f15ba97b769bdaee27983e4d8 - manager: conda - name: jaraco.classes - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.2.2-pyhd8ed1ab_0.tar.bz2 - version: 3.2.2 -- category: main - dependencies: - jsonpointer: '>=1.9' - python: '>=3.6' - hash: - md5: 09150b51b0528a31a0f6500b96fdde82 - sha256: d87fd8da2d3327744821b6b1d1e5b76e4077224fb626ce02d6623a1bc6ee2563 - manager: conda - name: jsonpatch - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.32-pyhd8ed1ab_0.tar.bz2 - version: '1.32' -- category: main - dependencies: - python: '' - six: '' - hash: - md5: 7b503c6c097fa8677d6ff17d2bfb623f - sha256: b89ace740500f4a311475ae44add2675d72dc42c02971910ea844812edf93736 - manager: conda - name: junit-xml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/junit-xml-1.9-pyh9f0ad1d_0.tar.bz2 - version: '1.9' -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - libstdcxx-ng: '>=9.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: c5d6241b3ec5d02c316a5f66f14024c7 - sha256: 32fa01aacf67d40b54fbcf9c7e89aae964450ffdb58bb93baba068d8b5c72c3e - manager: conda - name: kiwisolver - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.1-py39h1a9c180_1.tar.bz2 - version: 1.3.1 -- category: main - dependencies: - elfutils: '>=0.187,<0.188.0a0' - libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - hash: - md5: 5b3ed39ee3809d63d347b649de0a45f8 - sha256: null - manager: conda - name: libdwarf - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 - version: 0.0.0.20190110_28_ga81397fc4 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 7cda413e43b252044a270c2477031c5c - sha256: 05e22cdcefeebe18698acc1b7445fd7e8b4b07c4d65c99f688ddeff8569d42d0 - manager: conda - name: markupsafe - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.1-py39hb9d737c_1.tar.bz2 - version: 2.1.1 -- category: main - dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 35b4a1a56408657cd2c6ce7145c21ecf - sha256: f3a6149980035ee354ddbaf026e8e82db91dcdd1759439522e10d0d64decf237 - manager: conda - name: msgpack-python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.4-py39hf939315_0.tar.bz2 - version: 1.0.4 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: fc7500ebc3299b6f4a66652fa83f627e - sha256: 2f6ad58442a4f1daa114b440fff46e018cc7323493f91a2bab0bb23d5935f03d - manager: conda - name: mypy_extensions - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_5.tar.bz2 - version: 0.4.3 -- category: main - dependencies: - libblas: '>=3.8.0,<4.0a0' - libcblas: '>=3.8.0,<4.0a0' - libgcc-ng: '>=10.3.0' - liblapack: '>=3.8.0,<4.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 0cf333996ebdeeba8d1c8c1c0ee9eff9 - sha256: 6ec8d7ade9e083de4f8a532d9e71d14e780cc9059a625b57174cc68f9a99b930 - manager: conda - name: numpy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.19.5-py39hd249d9e_3.tar.bz2 - version: 1.19.5 -- category: main - dependencies: - pyparsing: '>=2.0.2' - python: '>=2.7' - hash: - md5: be69a38e912054a62dc82cc3c7711a64 - sha256: 887645177378f0d383b150259c7f255e9a1a47383872be118e197dc175718316 - manager: conda - name: packaging - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/packaging-20.9-pyh44b312d_0.tar.bz2 - version: '20.9' -- category: main - dependencies: - ptyprocess: '>=0.5' - python: '' - hash: - md5: 5909e7b978141dd80d28dbf9de627827 - sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 - manager: conda - name: pexpect - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 - version: 4.8.0 -- category: main - dependencies: - freetype: '>=2.10.4,<3.0a0' - jpeg: '>=9e,<10a' - lcms2: '>=2.12,<3.0a0' - libgcc-ng: '>=12' - libtiff: '>=4.4.0,<5.0a0' - libwebp-base: '>=1.2.4,<2.0a0' - libxcb: '>=1.13,<1.14.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - openjpeg: '>=2.5.0,<2.6.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tk: '>=8.6.12,<8.7.0a0' - hash: - md5: 3b74a959f6a8008f5901de60b3572c09 - sha256: 607a85830e1c39ded9c825ab0fb24d0768a5c11314dc99957f10479cd2961936 - manager: conda - name: pillow - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py39hd5dbb17_2.tar.bz2 - version: 9.2.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: c375c89340e563053f3656c7f134d265 - sha256: d82e717937e171a2b124030acd2625e0a3ab62e82a137a21c03a91013280c29f - manager: conda - name: pluggy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_3.tar.bz2 - version: 1.0.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: bfefe349de77edb720cb4688821ff78e - sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 - manager: conda - name: poetry-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 - version: 1.0.8 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 1e7ffe59e21862559e06b981817e5058 - sha256: ffd165f67a3d5bec03fd3d7c9ab35b8ff4d0f66c5be42f5d4d50db96637a34aa - manager: conda - name: psutil - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.2-py39hb9d737c_0.tar.bz2 - version: 5.9.2 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: b7d981539b1a880d19c6a158104a3fa1 - sha256: e7685b82c1d6269d5fc3a626a4f26138e4136b4b470f308f1a65b01ff17b3b38 - manager: conda - name: pycosat - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.3-py39hb9d737c_1010.tar.bz2 - version: 0.6.3 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 306061499621615a60841fa7fc8ba75b - sha256: c7d6dc368e1e3092dc3b3eae5841a6f1d0952033f4e259fb639ab54958c4a6b8 - manager: conda - name: pyinotify - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1005.tar.bz2 - version: 0.9.6 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: e2575d7508c7933047544ac7a15e021d - sha256: 9da8d2a32f1d961eaefb5f9aedb53ce74ad4da1a6272ae4cd4eb2fab7d6ed1b0 - manager: conda - name: pyrsistent - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.18.1-py39hb9d737c_1.tar.bz2 - version: 0.18.1 -- category: main - dependencies: - python: '>=3.6' - six: '>=1.5' - hash: - md5: dd999d1cc9f79e67dbb855c8924c7984 - sha256: 54d7785c7678166aa45adeaccfc1d2b8c3c799ca2dc05d4a82bb39b1968bd7da - manager: conda - name: python-dateutil - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 - version: 2.8.2 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - yaml: '>=0.2.5,<0.3.0a0' - hash: - md5: 896c2e9e5ed4b8b9148380b658898fdf - sha256: 030c5a81b4aafcfa169ba13ef7cbc5f1cf201b524013082903edd68471086d1e - manager: conda - name: pyyaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39hb9d737c_3.tar.bz2 - version: 5.4.1 -- category: main - dependencies: - expat: '>=2.4.8,<3.0a0' - gmp: '>=6.2.1,<7.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - mpc: '>=1.2.1,<2.0a0' - mpfr: '>=4.1.0,<5.0a0' - ncurses: '>=6.3,<7.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 8a574054a336665b34ffebca58dba813 - sha256: null - manager: conda - name: riscv-tools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/riscv-tools-1.0.1-0_h1234567_gdcdbcaf.tar.bz2 - version: 1.0.1 -- category: main - dependencies: - pyasn1: '>=0.1.3' - python: '' - hash: - md5: 3452ab3790dbb1df9508b3fa4ea2f806 - sha256: 6ea0fcd8f40c7f78e2c6cff344bb91f457682aa352ee48364246371a41410ee8 - manager: conda - name: rsa - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/rsa-4.7.2-pyh44b312d_0.tar.bz2 - version: 4.7.2 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a0fabd69dd35bb24ec84d28dc01c3c5b - sha256: 388a1b6b559156b27f6eb1952a85632ad907f0572d31e3897dba338d28c44860 - manager: conda - name: ruamel.yaml.clib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.6-py39hb9d737c_1.tar.bz2 - version: 0.2.6 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - yaml: '>=0.2.5,<0.3.0a0' - hash: - md5: 89efb3c015ef8bc2a33535a2c1b852b2 - sha256: d417615e90a5f66004ef9f742396db129eaa0dcbe7f723288eb2ddc34d39750f - manager: conda - name: ruamel_yaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py39hb9d737c_1007.tar.bz2 - version: 0.15.80 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 4252d0c211566a9f65149ba7f6e87aa4 - sha256: ec8146799fabb0edfd0b2622fdd05413c9a2fcd13dfa846958214f9909ab3435 - manager: conda - name: setuptools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py39hf3d152e_1.tar.bz2 - version: 59.8.0 -- category: main - dependencies: - python: '>=3.6' - typing: '>=3.6,<4.0' - hash: - md5: f82cf1ff4aa8228ec71041b8adef19d6 - sha256: d25441deeb45f575a85977e4444f15d26db2491f5471469f0e5e4fa2e8888a4b - manager: conda - name: tomlkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.11.5-pyha770c72_0.tar.bz2 - version: 0.11.5 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a3c57360af28c0d9956622af99a521cd - sha256: c51e56ebf493a94f4f25840a0175405b3f650cd63ebcd6e19a68ac9cfb5e5411 - manager: conda - name: tornado - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_0.tar.bz2 - version: '6.2' -- category: main - dependencies: - colorama: '' - python: '>=2.7' - hash: - md5: 5526ff3f88f9db87bb0924b9ce575345 - sha256: d196e0c3a057a840147fa23d3d43eafd6b63258846bdafe8ac17f70b534f91bd - manager: conda - name: tqdm - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.64.1-pyhd8ed1ab_0.tar.bz2 - version: 4.64.1 -- category: main - dependencies: - typing_extensions: 4.4.0 pyha770c72_0 - hash: - md5: be969210b61b897775a0de63cd9e9026 - sha256: 6f129b1bc18d111dcf3abaec6fcf6cbee00f1b77bb42d0f0bc8d85f8faa65cf0 - manager: conda - name: typing-extensions - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.4.0-hd8ed1ab_0.tar.bz2 - version: 4.4.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -3710,7 +3084,25 @@ package: version: '2.36' - category: main dependencies: - gettext: '>=0.19.8.1,<1.0a0' + flex: '>=2.6.4,<3.0a0' + gxx_impl_linux-64: '' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + make: '' + perl: '' + hash: + md5: 41af6df1758bae89161daf268566384e + sha256: e2f2302d69c0d6928d95a1c699b5ef0b14e0243e78495734962c78136d2e6b9f + manager: conda + name: verilator + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/verilator-4.226-he0ac6c6_1.tar.bz2 + version: '4.226' +- category: main + dependencies: + gettext: '>=0.21.1,<1.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' @@ -3718,107 +3110,215 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: ccb6242365b032a5469310116286d834 - sha256: e2b8864ce60cc0f39da4e82cb786d474d7b572114952cc3dea20a287e3731684 + md5: 8f23fe6252f0db61a467fc68235a6c6c + sha256: 1ff7b1aa32d188658e797ba09579afc9712ef00a5b10700ebc10d57155dcd299 manager: conda name: vim optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0335-py39pl5321h20e6244_0.tar.bz2 - version: 9.0.0335 + url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0814-py39pl5321h20e6244_0.tar.bz2 + version: 9.0.0814 - category: main dependencies: - distlib: '>=0.3.5,<1' - filelock: '>=3.4.1,<4' - platformdirs: '>=2.4,<3' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '' hash: - md5: 165e71a44187ac22e2e1669fd3ca2392 - sha256: 31540fea0c3fd62543ee65ad4b2deff1eac08f4765b1037db7d6a82fbc4719c2 + md5: 3563be4c5611a44210d9ba0c16113136 + sha256: 302f4f4bd1ad00c0be1426ecf6bb01db59cfd8aff3de0cf1596526dca1a6b70e manager: conda - name: virtualenv + name: webencodings optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.16.5-py39hf3d152e_0.tar.bz2 - version: 20.16.5 + url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2 + version: 0.5.1 - category: main dependencies: - libgcc-ng: '>=10.3.0' + python: '>=3.7' + hash: + md5: 6df990e93f39e91a3f45d4d885404d56 + sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b + manager: conda + name: websocket-client + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda + version: 1.5.0 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: c829cfb8cb826acb9de0ac1a2df0a940 + sha256: bd4f11ff075ff251ade9f57686f31473e25be46ab282d9603f551401250f9f44 + manager: conda + name: wheel + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2 + version: 0.38.4 +- category: main + dependencies: + libgcc-ng: '>=12' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 25a4f17bf308bc36a15ebe63c3864ac7 - sha256: 3b9eaa6d7040406ab31023bd7596b4c49c4128216b702ee64a8a9cccc74b45e0 + md5: f5906293b6eabeaaeafc90e427f9cbe5 + sha256: 16fa658554048c0eb37684685cf046ea3ef9e1f1fe03c92cbd8f726197ba60fe manager: conda name: wrapt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.14.1-py39hb9d737c_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.14.1-py39hb9d737c_1.tar.bz2 version: 1.14.1 - category: main dependencies: - libgcc-ng: '>=9.3.0' - xorg-inputproto: '' - xorg-libx11: '>=1.7.1,<2.0a0' - xorg-libxext: 1.3.* - xorg-libxi: 1.7.* - xorg-recordproto: '' + python: '>=3.6' hash: - md5: a220b1a513e19d5cb56c1311d44f12e6 - sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87 + md5: b5b33faed6ed2b4ba47a690b8f5c0818 + sha256: eb40b33ae953e0020406318c9be0eb6edf62f3aa8e64ab0bf1953440b1a92763 manager: conda - name: xorg-libxtst + name: xmltodict optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2 - version: 1.2.3 + url: https://conda.anaconda.org/conda-forge/noarch/xmltodict-0.13.0-pyhd8ed1ab_0.tar.bz2 + version: 0.13.0 - category: main dependencies: - cffi: '>=1.0.0' - libgcc-ng: '>=10.3.0' + libgcc-ng: '>=9.3.0' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-xextproto: '' + hash: + md5: 536cc5db4d0a3ba0630541aec064b5e4 + sha256: cf47ccbf49d46189d7bdadeac1387c826be82deb92ce6badbb03baae4b67ed26 + manager: conda + name: xorg-libxext + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h7f98852_1.tar.bz2 + version: 1.3.4 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-fixesproto: '' + xorg-libx11: '>=1.7.0,<2.0a0' + hash: + md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a + sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3 + manager: conda + name: xorg-libxfixes + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2 + version: 5.0.3 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-renderproto: '' + hash: + md5: f59c1242cc1dd93e72c2ee2b360979eb + sha256: 7d907ed9e2ec5af5d7498fb3ab744accc298914ae31497ab6dcc6ef8bd134d00 + manager: conda + name: xorg-libxrender + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2 + version: 0.9.10 +- category: main + dependencies: + python: '>=3.7' + hash: + md5: edc3568566cc48335f0b5d86d40fdbb9 + sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed + manager: conda + name: zipp + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda + version: 3.12.0 +- category: main + dependencies: + python: '>=3.6' + pytz: '' + hash: + md5: 2ea70fde8d581ba9425a761609eed6ba + sha256: 21a8403d886136c0a80f965ae5387fa1693b19ddd69023bcd0e844f2510d7e2f + manager: conda + name: babel + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.11.0-pyhd8ed1ab_0.tar.bz2 + version: 2.11.0 +- category: main + dependencies: + python: '>=3.6' + typing_extensions: '' + hash: + md5: be3b5cae027b3ead96829ef7717c76c3 + sha256: 4592888a3c5f1ad2e36ff89039ff1912c623695f985622cf0fcfc2d0cb315053 + manager: conda + name: botocore-stubs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.24.7-pyhd8ed1ab_0.tar.bz2 + version: 1.24.7 +- category: main + dependencies: + fontconfig: '>=2.13.96,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + icu: '>=70.1,<71.0a0' + libgcc-ng: '>=12' + libglib: '>=2.72.1,<3.0a0' + libpng: '>=1.6.38,<1.7.0a0' + libxcb: '>=1.13,<1.14.0a0' + libzlib: '>=1.2.12,<1.3.0a0' + pixman: '>=0.40.0,<1.0a0' + xorg-libice: '' + xorg-libsm: '' + xorg-libx11: '' + xorg-libxext: '' + xorg-libxrender: '' + zlib: '>=1.2.12,<1.3.0a0' + hash: + md5: d1a88f3ed5b52e1024b80d4bcd26a7a0 + sha256: f062cf56e6e50d3ad4b425ebb3765ca9138c6ebc52e6a42d1377de8bc8d954f6 + manager: conda + name: cairo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-ha61ee94_1014.tar.bz2 + version: 1.16.0 +- category: main + dependencies: + libffi: '>=3.4,<4.0a0' + libgcc-ng: '>=12' + pycparser: '' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 05a99367d885ec9990f25e74128a8a08 - sha256: 4a520850207e965244c70a412f030f1c353b70b942ad99a0a0cfb83e64bbd60e + md5: 20080319ef73fbad74dcd6d62f2a3ffe + sha256: 485a8f65c58c26c7d48bfea20ed1d6f1493f3329dd2c9c0a888a1c2b7c2365c5 manager: conda - name: brotlipy + name: cffi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1004.tar.bz2 - version: 0.7.0 + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_3.conda + version: 1.15.1 - category: main dependencies: - clang-format: 15.0.1 default_h2e3cab8_0 - libclang: '>=15.0.1,<15.1.0a0' - libclang-cpp15: '>=15.0.1,<15.1.0a0' + libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' - libllvm15: '>=15.0.1,<15.1.0a0' + libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: ef163795e59e62da40e622ee88b7f468 - sha256: 8fcbebb32ca12bbe1413bada6ab559b280f10256e1d07f522d64cef0292b2f71 + md5: ffc64b2f543d2d128a9fc4e75e4436ac + sha256: e793476788a00ddedd2cd4f41fb59d9ca6f47e593eb04d5012b11206a1a3d0c7 manager: conda - name: clang-tools + name: clang-format-15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.1-default_h2e3cab8_0.tar.bz2 - version: 15.0.1 -- category: main - dependencies: - clikit: '>=0.6.0,<0.7.0' - python: '>=3.6' - hash: - md5: 4c82b11a3d06031bd58e7d869f53d965 - sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c - manager: conda - name: cleo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 - version: 0.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_0.conda + version: 15.0.7 - category: main dependencies: click: '' @@ -3834,35 +3334,72 @@ package: version: 1.2.2 - category: main dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tqdm: '' + crashtest: '>=0.3.0,<0.4.0' + pastel: '>=0.2.0,<0.3.0' + pylev: '>=1.3,<2.0' + python: '' hash: - md5: ae2e8e8dd87ed4286c89fc8c081e9bdf - sha256: e11ea9eac5dcaf43b3a3292c8daeed9f6c9dbf568a7ca2e27909d3a95c35ef35 + md5: 159273f717a11e53b2656f8b6521a5e2 + sha256: 59b5c9ea3415e45e1beb1c191e3a0bf0dcca92c200a184704ea55002d1ef535c manager: conda - name: conda-package-handling + name: clikit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-package-handling-1.9.0-py39hb9d737c_0.tar.bz2 - version: 1.9.0 + url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyh9f0ad1d_0.tar.bz2 + version: 0.6.2 - category: main dependencies: - cffi: '>=1.12' + bzip2: '>=1.0.8,<2.0a0' + expat: '>=2.5.0,<3.0a0' + libcurl: '>=7.87.0,<8.0a0' libgcc-ng: '>=12' - openssl: '>=1.1.1q,<1.1.2a' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + libstdcxx-ng: '>=12' + libuv: '' + libzlib: '>=1.2.13,<1.3.0a0' + ncurses: '>=6.3,<7.0a0' + rhash: '' + xz: '>=5.2.6,<6.0a0' + zlib: '' + zstd: '>=1.5.2,<1.6.0a0' hash: - md5: db3436b5db460fa721859db55694d8ff - sha256: d005958fac69f5fc888841e3743c950b8105f2d1e2f244ee0fa6a1a23f27b5f4 + md5: e0ce22752cbd71a6b32b23d96b787e42 + sha256: 439297a5bbfd6d1bab577544f9dc7737630237b82bbc8c9ee98f8a34bf286654 manager: conda - name: cryptography + name: cmake optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-38.0.1-py39hd97740a_0.tar.bz2 - version: 38.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.25.2-h077f3f9_0.conda + version: 3.25.2 +- category: main + dependencies: + krb5: '>=1.20.1,<1.21.0a0' + libcurl: 7.87.0 hdc1c0ab_0 + libgcc-ng: '>=12' + libssh2: '>=1.10.0,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + hash: + md5: b14123ca479b9473d7f7395b0fd25c97 + sha256: a91f7dcc89f86716acbd02804a461943cfca7835ffb8b4937fe2d45a86e6ab65 + manager: conda + name: curl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.87.0-hdc1c0ab_0.conda + version: 7.87.0 +- category: main + dependencies: + python: '' + six: '>=1.4.0' + hash: + md5: c69f19038efee4eb534623610d0c2053 + sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 + manager: conda + name: docker-pycreds + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 + version: 0.4.0 - category: main dependencies: cloudpickle: '' @@ -3908,30 +3445,105 @@ package: version: 0.18.0 - category: main dependencies: - gitdb: '>=4.0.1,<5' - python: '>=3.7' - typing_extensions: '>=3.7.4.3' + bzip2: '>=1.0.8,<2.0a0' + libarchive: '>=3.5.2,<3.6.0a0' + libcurl: '>=7.82.0,<8.0a0' + libgcc-ng: '>=10.3.0' + libmicrohttpd: '>=0.9.75,<0.10.0a0' + libstdcxx-ng: '>=10.3.0' + libzlib: '>=1.2.11,<1.3.0a0' + sqlite: '>=3.38.2,<4.0a0' + xz: '>=5.2.5,<5.3.0a0' + zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 5c3c75a7349ad3760c3de38be9432121 - sha256: 4b5f95a42c10d104951b3bdc1163d28fbaa4cb2bb9adc3e61d100db493d5f8a3 + md5: 2e9ec0e21d51118b004f1f98e4fbf598 + sha256: bee5b4a723472cc844775a36dbdca35ecb24f40fbb162924bd8536b05930c3dc manager: conda - name: gitpython + name: elfutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.28-pyhd8ed1ab_0.tar.bz2 - version: 3.1.28 + url: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.187-h989201e_0.tar.bz2 + version: '0.187' - category: main dependencies: - importlib-metadata: '>=4.11.4,<4.11.5.0a0' + python: '>=3.4' + smmap: '>=3.0.1,<4' hash: - md5: 9a1925fdb91c81437b8012e48ede6851 - sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + md5: 3706d2f3d7cb5dae600c833345a76132 + sha256: 0003ab2b971913380633c711bf49a54dcf06e179986c725b0925854b58878377 manager: conda - name: importlib_metadata + name: gitdb optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.10-pyhd8ed1ab_0.conda + version: 4.0.10 +- category: main + dependencies: + python: '>=3.6' + typing_extensions: '>=4,<5' + hash: + md5: 87cafe8c7638a5ac6fd8ec8fb01f1508 + sha256: 6f7da913ecad98951cadfe512af2c3979fbff752bf714da66760701e5463dd29 + manager: conda + name: graphql-core + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/graphql-core-3.2.3-pyhd8ed1ab_0.tar.bz2 + version: 3.2.3 +- category: main + dependencies: + python: '' + six: '>=1.9' + webencodings: '' + hash: + md5: b2355343d6315c892543200231d7154a + sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4 + manager: conda + name: html5lib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2 + version: '1.1' +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + zipp: '>=0.5' + hash: + md5: 4c2a0eabf0b8980b2c755646a6f750eb + sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 + manager: conda + name: importlib-metadata + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 version: 4.11.4 +- category: main + dependencies: + python: '>=3.6' + zipp: '>=0.4' + hash: + md5: 24dd95143fc4f3898143c93a6d5a5d41 + sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 + manager: conda + name: importlib_resources + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 + version: 3.3.1 +- category: main + dependencies: + more-itertools: '' + python: '>=3.7' + hash: + md5: 31e4a1506968d017229bdb64695013a1 + sha256: 6a81b67a1de8f761f66a4540bbd07cc27f9fbf2c7d67aa3732ebef379cf62874 + manager: conda + name: jaraco.classes + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.2.3-pyhd8ed1ab_0.tar.bz2 + version: 3.2.3 - category: main dependencies: markupsafe: '>=2.0' @@ -3945,6 +3557,474 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2 version: 3.1.2 +- category: main + dependencies: + jsonpointer: '>=1.9' + python: '>=3.6' + hash: + md5: 09150b51b0528a31a0f6500b96fdde82 + sha256: d87fd8da2d3327744821b6b1d1e5b76e4077224fb626ce02d6623a1bc6ee2563 + manager: conda + name: jsonpatch + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jsonpatch-1.32-pyhd8ed1ab_0.tar.bz2 + version: '1.32' +- category: main + dependencies: + python: '' + six: '' + hash: + md5: 7b503c6c097fa8677d6ff17d2bfb623f + sha256: b89ace740500f4a311475ae44add2675d72dc42c02971910ea844812edf93736 + manager: conda + name: junit-xml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/junit-xml-1.9-pyh9f0ad1d_0.tar.bz2 + version: '1.9' +- category: main + dependencies: + libclang13: 15.0.7 default_h3e3d535_0 + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 189f7f97245f594b7a9d8e2b9f311cf8 + sha256: e837bd39a07949e6f27d69bcc784ecc1e7c9f7c96c920c0a1f875f5c23b986b2 + manager: conda + name: libclang + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + expat: '>=2.5.0,<3.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + icu: '>=70.1,<71.0a0' + jpeg: '>=9e,<10a' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp: '' + libwebp-base: '>=1.2.4,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + zlib: '' + hash: + md5: 82ef57611ace65b59db35a9687264572 + sha256: 6674781023188deeda7752e5dc429a54fd1639c9d61cbb25296cbbb55367884a + manager: conda + name: libgd + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h5aea950_4.conda + version: 2.3.3 +- category: main + dependencies: + python: '' + setuptools: '' + six: '' + tornado: '' + hash: + md5: b7190e3ec3eff52839434bf4698e2d62 + sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765 + manager: conda + name: livereload + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 + version: 2.6.3 +- category: main + dependencies: + libgcc-ng: '>=9.4.0' + mypy_extensions: '>=0.4.3,<0.5.0' + psutil: '>=4.0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + tomli: '>=1.1.0' + typing_extensions: '>=3.7.4' + hash: + md5: 2ec6c26d45a781f3d3810fb2de290e8f + sha256: 5329a800c4caa0cb43b4340e7ce0b0ce7a1b0e9dde450b864c83605f4c08492c + manager: conda + name: mypy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 + version: '0.931' +- category: main + dependencies: + ptyprocess: '>=0.5' + python: '' + hash: + md5: 5909e7b978141dd80d28dbf9de627827 + sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 + manager: conda + name: pexpect + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 + version: 4.8.0 +- category: main + dependencies: + freetype: '>=2.12.1,<3.0a0' + lcms2: '>=2.14,<3.0a0' + libgcc-ng: '>=12' + libjpeg-turbo: '>=2.1.4,<3.0a0' + libtiff: '>=4.5.0,<4.6.0a0' + libwebp-base: '>=1.2.4,<2.0a0' + libxcb: '>=1.13,<1.14.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openjpeg: '>=2.5.0,<3.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + tk: '>=8.6.12,<8.7.0a0' + hash: + md5: d62ba9d1a981544c809813afaf0be5c0 + sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 + manager: conda + name: pillow + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda + version: 9.4.0 +- category: main + dependencies: + python: '>=3.7' + setuptools: '' + wheel: '' + hash: + md5: 85b35999162ec95f9f999bac15279c02 + sha256: bbffec284bd0e154363e845121f43007e7e64c80412ff13be21909be907b697d + manager: conda + name: pip + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pip-23.0-pyhd8ed1ab_0.conda + version: '23.0' +- category: main + dependencies: + python: '>=3.6' + setuptools: '' + hash: + md5: c78cd16b11cd6a295484bd6c8f24bea1 + sha256: e8710e24f60b6a97289468f47914e53610101755088bc237621cc1980edbfcd9 + manager: conda + name: pygments + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.14.0-pyhd8ed1ab_0.conda + version: 2.14.0 +- category: main + dependencies: + attrs: '>=19.2.0' + iniconfig: '' + packaging: '' + pluggy: '>=0.12,<2' + py: '>=1.8.2' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + toml: '' + hash: + md5: 6e76597729a7ac9b0124303c326f4706 + sha256: 12d9d5b7d6e5aa639725dddc35d3f8dec8fe01bd05ccf60ac45975f93d1534cf + manager: conda + name: pytest + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pytest-6.2.5-py39hf3d152e_3.tar.bz2 + version: 6.2.5 +- category: main + dependencies: + python: '>=3.6' + six: '>=1.5' + hash: + md5: dd999d1cc9f79e67dbb855c8924c7984 + sha256: 54d7785c7678166aa45adeaccfc1d2b8c3c799ca2dc05d4a82bb39b1968bd7da + manager: conda + name: python-dateutil + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 + version: 2.8.2 +- category: main + dependencies: + __glibc: '>=2.17,<3.0.a0' + libcurl: '>=7.83.1,<8.0a0' + libgcc-ng: '>=12' + libglib: '>=2.72.1,<3.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + pixman: '>=0.40.0,<1.0a0' + zstd: '>=1.5.2,<1.6.0a0' + hash: + md5: def7188533bc19a8df31e57de92260cf + sha256: 0e6f27f17a562308344271e8011553afc7335176ec415a8e89f07892df06db31 + manager: conda + name: qemu + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 + version: 5.0.0 +- category: main + dependencies: + pyasn1: '>=0.1.3' + python: '' + hash: + md5: 3452ab3790dbb1df9508b3fa4ea2f806 + sha256: 6ea0fcd8f40c7f78e2c6cff344bb91f457682aa352ee48364246371a41410ee8 + manager: conda + name: rsa + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/rsa-4.7.2-pyh44b312d_0.tar.bz2 + version: 4.7.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + ruamel.yaml.clib: '>=0.1.2' + setuptools: '' + hash: + md5: 51ad16ab9c63e5d14145f34adbbacf70 + sha256: be03761fc9230416697e78e1a9b35af3165b03e7e8c6efa0d01157898d564741 + manager: conda + name: ruamel.yaml + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py39hb9d737c_2.tar.bz2 + version: 0.17.21 +- category: main + dependencies: + python: '>=3.6' + typing: '>=3.6,<4.0' + hash: + md5: 471bf9e605820b59988e830382b8d654 + sha256: e8b3bc2203266636740ce10536ef951c52b53b43bfed3b938117547efc47e374 + manager: conda + name: tomlkit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.11.6-pyha770c72_0.tar.bz2 + version: 0.11.6 +- category: main + dependencies: + colorama: '' + python: '>=2.7' + hash: + md5: 5526ff3f88f9db87bb0924b9ce575345 + sha256: d196e0c3a057a840147fa23d3d43eafd6b63258846bdafe8ac17f70b534f91bd + manager: conda + name: tqdm + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.64.1-pyhd8ed1ab_0.tar.bz2 + version: 4.64.1 +- category: main + dependencies: + typing_extensions: 4.4.0 pyha770c72_0 + hash: + md5: be969210b61b897775a0de63cd9e9026 + sha256: 6f129b1bc18d111dcf3abaec6fcf6cbee00f1b77bb42d0f0bc8d85f8faa65cf0 + manager: conda + name: typing-extensions + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.4.0-hd8ed1ab_0.tar.bz2 + version: 4.4.0 +- category: main + dependencies: + markupsafe: '>=2.1.1' + python: '>=3.7' + hash: + md5: 8e69568592e552919201f730b01a58c2 + sha256: 3bb3d6a98f9e3c6081166d81368e4a0e48fdbfe19e683a957ac344b063c42412 + manager: conda + name: werkzeug + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-2.2.2-pyhd8ed1ab_0.tar.bz2 + version: 2.2.2 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-inputproto: '' + xorg-libx11: '>=1.7.0,<2.0a0' + xorg-libxext: 1.3.* + xorg-libxfixes: 5.0.* + hash: + md5: e77615e5141cad5a2acaa043d1cf0ca5 + sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68 + manager: conda + name: xorg-libxi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2 + version: 1.7.10 +- category: main + dependencies: + cffi: '>=1.1' + libgcc-ng: '>=12' + pip: '' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + six: '>=1.4.1' + hash: + md5: 93f72f06a4b00ce36d16007c01e6d1aa + sha256: 8afe6676576da6e661ab7c0f2dfa52acc9e6f9bfc5ad2f1d57bf5131ddbdd975 + manager: conda + name: bcrypt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-3.2.2-py39hb9d737c_1.tar.bz2 + version: 3.2.2 +- category: main + dependencies: + cffi: '>=1.0.0' + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: a639fdd9428d8b25f8326a3838d54045 + sha256: 293229afcd31e81626e5cfe0478be402b35d29b73aa421a49470645debda5019 + manager: conda + name: brotlipy + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1005.tar.bz2 + version: 0.7.0 +- category: main + dependencies: + clang-format-15: 15.0.7 default_had23c3d_0 + libclang-cpp15: '>=15.0.7,<15.1.0a0' + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: 01a6a903c7217697422aed91a0ba197d + sha256: c240e47db71a38f975d05c4467a8d0cc068a14f91189fce24c36187f369220b5 + manager: conda + name: clang-format + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + clikit: '>=0.6.0,<0.7.0' + python: '>=3.6' + hash: + md5: 4c82b11a3d06031bd58e7d869f53d965 + sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c + manager: conda + name: cleo + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 + version: 0.8.1 +- category: main + dependencies: + cffi: '>=1.12' + libgcc-ng: '>=12' + openssl: '>=3.0.7,<4.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 70ac60b214a8df9b9ce63e05af7d0976 + sha256: eae8fcb35d983ee2155b8450f8aaf8709062366855d992cb7f9aa686623b99b8 + manager: conda + name: cryptography + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py39h079d5ae_0.conda + version: 39.0.0 +- category: main + dependencies: + click: '>=8.0' + importlib-metadata: '>=3.6.0' + itsdangerous: '>=2.0' + jinja2: '>=3.0' + python: '>=3.7' + werkzeug: '>=2.2.2' + hash: + md5: 85fad4c7889dd969ed4c02cf63cfe9c5 + sha256: e047c40122dc3fd53c534924271e9635d3dbf5ba606ccd2bd7f7c70b63697037 + manager: conda + name: flask + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/flask-2.2.2-pyhd8ed1ab_0.tar.bz2 + version: 2.2.2 +- category: main + dependencies: + curl: '' + expat: '>=2.5.0,<3.0a0' + gettext: '' + libgcc-ng: '>=12' + libiconv: '>=1.17,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + openssl: '>=3.0.7,<4.0a0' + pcre2: '>=10.40,<10.41.0a0' + perl: 5.* + hash: + md5: 12f9ef434e479d7ec9dcd3ab9799a49d + sha256: ddb50e3c1dbefdc867a3ad660e2b62de13341af10bd3470ff47420108ef5e81f + manager: conda + name: git + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.39.1-pl5321h693f4a3_0.conda + version: 2.39.1 +- category: main + dependencies: + gitdb: '>=4.0.1,<5' + python: '>=3.7' + typing_extensions: '>=3.7.4.3' + hash: + md5: 0c217ab2f5ef6925e4e52c70b57cfc4a + sha256: 2ccd8aa401701947398a087b1aa11042b1b088e7331fed574b7ec9909bee09d6 + manager: conda + name: gitpython + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.30-pyhd8ed1ab_0.conda + version: 3.1.30 +- category: main + dependencies: + cairo: '>=1.16.0,<2.0a0' + freetype: '>=2.12.1,<3.0a0' + graphite2: '' + icu: '>=70.1,<71.0a0' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libstdcxx-ng: '>=12' + hash: + md5: 448fe40d2fed88ccf4d9ded37cbb2b38 + sha256: f300fcb390253d6d63346ee71e56f82bc830783d1682ac933fe9ac86f39da942 + manager: conda + name: harfbuzz + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-6.0.0-h8e241bc_0.conda + version: 6.0.0 +- category: main + dependencies: + importlib-metadata: '>=4.11.4,<4.11.5.0a0' + hash: + md5: 9a1925fdb91c81437b8012e48ede6851 + sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + manager: conda + name: importlib_metadata + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 + version: 4.11.4 - category: main dependencies: attrs: '>=17.4.0' @@ -3965,33 +4045,16 @@ package: - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' - libdwarf: 0.0.0.20190110_28_ga81397fc4 h753d276_0 libgcc-ng: '>=12' libzlib: '>=1.2.12,<1.3.0a0' hash: - md5: 899c511688e6c41cb51c2921a8d25e63 - sha256: null + md5: 5b3ed39ee3809d63d347b649de0a45f8 manager: conda - name: libdwarf-dev + name: libdwarf optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 + url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 version: 0.0.0.20190110_28_ga81397fc4 -- category: main - dependencies: - python: '' - setuptools: '' - six: '' - tornado: '' - hash: - md5: b7190e3ec3eff52839434bf4698e2d62 - sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765 - manager: conda - name: livereload - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 - version: 2.6.3 - category: main dependencies: certifi: '>=2020.06.20' @@ -4018,53 +4081,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.3.4-py39h2fa2bec_0.tar.bz2 version: 3.3.4 -- category: main - dependencies: - libgcc-ng: '>=9.4.0' - mypy_extensions: '>=0.4.3,<0.5.0' - psutil: '>=4.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - tomli: '>=1.1.0' - typing_extensions: '>=3.7.4' - hash: - md5: 2ec6c26d45a781f3d3810fb2de290e8f - sha256: 5329a800c4caa0cb43b4340e7ce0b0ce7a1b0e9dde450b864c83605f4c08492c - manager: conda - name: mypy - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 - version: '0.931' -- category: main - dependencies: - alsa-lib: '>=1.2.7.2,<1.2.8.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - giflib: '>=5.2.1,<5.3.0a0' - harfbuzz: '>=5.1.0,<6.0a0' - jpeg: '>=9e,<10a' - lcms2: '>=2.12,<3.0a0' - libcups: '>=2.3.3,<2.4.0a0' - libgcc-ng: '>=12' - libpng: '>=1.6.37,<1.7.0a0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' - xorg-libx11: '' - xorg-libxext: '' - xorg-libxi: '' - xorg-libxrender: '' - xorg-libxtst: '' - hash: - md5: cd1b2e4756ca8d14bc7501e38360aa79 - sha256: 1274f314793e9b1abb27a2aea581e661d751a4f685be50787bcc135e03fd185b - manager: conda - name: openjdk - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-17.0.3-h85293d2_2.tar.bz2 - version: 17.0.3 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4084,195 +4100,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/pandas-1.1.5-py39hde0f152_0.tar.bz2 version: 1.1.5 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0a0' - fontconfig: '>=2.14.0,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - fribidi: '>=1.0.10,<2.0a0' - harfbuzz: '>=5.2.0,<6.0a0' - libgcc-ng: '>=12' - libglib: '>=2.74.0,<3.0a0' - libpng: '>=1.6.38,<1.7.0a0' - hash: - md5: 509e3f89508398070d3bf7769d9e8b03 - sha256: 735a19c98460b640ad7f2eb7dc4a9cebac8263f0ca27ba74f3fb99bcf01b1997 - manager: conda - name: pango - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.11-h382ae3d_0.tar.bz2 - version: 1.50.11 -- category: main - dependencies: - python: '>=3.7' - setuptools: '' - wheel: '' - hash: - md5: 0b43abe4d3ee93e82742d37def53a836 - sha256: 507ae896a2f9ccc7bbedc2f7fd10dc2ac666575769b55b5e94ca44b86db193e0 - manager: conda - name: pip - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pip-22.2.2-pyhd8ed1ab_0.tar.bz2 - version: 22.2.2 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - typing-extensions: '>=4.1.0' - hash: - md5: e2b6f1e8fb5669ab40c8cb235e0f3a21 - sha256: e7325b056f10f92d20502c3a29ac8301edc87ce1eafadf13c567e54edefbbe39 - manager: conda - name: pydantic - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.2-py39hb9d737c_0.tar.bz2 - version: 1.10.2 -- category: main - dependencies: - python: '>=3.6' - setuptools: '' - hash: - md5: 9f478e8eedd301008b5f395bad0caaed - sha256: 4f61addd5ab463c5fe7a3040a2d710ff2aed9c989b6cee2de2486187108bcdd5 - manager: conda - name: pygments - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.13.0-pyhd8ed1ab_0.tar.bz2 - version: 2.13.0 -- category: main - dependencies: - attrs: '>=19.2.0' - iniconfig: '' - packaging: '' - pluggy: '>=0.12,<2' - py: '>=1.8.2' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - toml: '' - hash: - md5: 6e76597729a7ac9b0124303c326f4706 - sha256: 12d9d5b7d6e5aa639725dddc35d3f8dec8fe01bd05ccf60ac45975f93d1534cf - manager: conda - name: pytest - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pytest-6.2.5-py39hf3d152e_3.tar.bz2 - version: 6.2.5 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - ruamel.yaml.clib: '>=0.1.2' - setuptools: '' - hash: - md5: 2b94cf785616198b112170b9838262a4 - sha256: 69d7d081acf7880f05d01ab93bfbecb3bc59b4bc8812630a359651b211aadb6a - manager: conda - name: ruamel.yaml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py39hb9d737c_1.tar.bz2 - version: 0.17.21 -- category: main - dependencies: - markupsafe: '>=2.1.1' - python: '>=3.7' - hash: - md5: 8e69568592e552919201f730b01a58c2 - sha256: 3bb3d6a98f9e3c6081166d81368e4a0e48fdbfe19e683a957ac344b063c42412 - manager: conda - name: werkzeug - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-2.2.2-pyhd8ed1ab_0.tar.bz2 - version: 2.2.2 -- category: main - dependencies: - importlib_metadata: '>=0.23,<5' - python: '>=3.5' - hash: - md5: b8152341fc3fc9880c6e1b9d188974e5 - sha256: 2abb116f5bdc62d5e83c9dd15e5fc30c2a9571f728ccc012fad03350ed1d581e - manager: conda - name: argcomplete - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-1.12.3-pyhd8ed1ab_2.tar.bz2 - version: 1.12.3 -- category: main - dependencies: - click: '>=8.0' - importlib-metadata: '>=3.6.0' - itsdangerous: '>=2.0' - jinja2: '>=3.0' - python: '>=3.7' - werkzeug: '>=2.2.2' - hash: - md5: 85fad4c7889dd969ed4c02cf63cfe9c5 - sha256: e047c40122dc3fd53c534924271e9635d3dbf5ba606ccd2bd7f7c70b63697037 - manager: conda - name: flask - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/flask-2.2.2-pyhd8ed1ab_0.tar.bz2 - version: 2.2.2 -- category: main - dependencies: - atk-1.0: '>=2.36.0' - cairo: '>=1.16.0,<2.0.0a0' - gdk-pixbuf: '>=2.42.6,<3.0a0' - gettext: '>=0.19.8.1,<1.0a0' - libgcc-ng: '>=9.4.0' - libglib: '>=2.70.2,<3.0a0' - pango: '>=1.50.3,<1.51.0a0' - hash: - md5: 957a0255ab58aaf394a91725d73ab422 - sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87 - manager: conda - name: gtk2 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2 - version: 2.24.33 -- category: main - dependencies: - importlib_metadata: '' - python: ==2.7.*|>=3.5 - hash: - md5: 35f19fabdfd44c8b53889be95333848c - sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 - manager: conda - name: jsonpickle - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 - version: 2.2.0 -- category: main - dependencies: - cairo: '>=1.16.0,<2.0.0a0' - gdk-pixbuf: '>=2.42.8,<3.0a0' - gettext: '>=0.19.8.1,<1.0a0' - libgcc-ng: '>=12' - libglib: '>=2.70.2,<3.0a0' - libxml2: '>=2.9.14,<2.11.0a0' - pango: '>=1.50.7,<1.51.0a0' - hash: - md5: 921e53675ed5ea352f022b79abab076a - sha256: 9b81f3854660e902a417e8194b43ed2f5d2a082227df28ba6804c68ac7c16aa0 - manager: conda - name: librsvg - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 - version: 2.54.4 - category: main dependencies: pip: '' @@ -4288,17 +4115,49 @@ package: version: 5.10.0 - category: main dependencies: - cryptography: '>=38.0.0,<39' - python: '>=3.6' + python: '>=3.7' + typing-extensions: '>=4.4' hash: - md5: fbfa0a180d48c800f922a10a114a8632 - sha256: 42f04dded77ac2597108378d62b121697d0e982aba7b20a462a7239030563628 + md5: 0b4cc3f8181b0d8446eb5387d7848a54 + sha256: 5d469cd150e4413b15eedb66bdc7a3831a4249e2e5646b8c9dcdf713e35fc598 manager: conda - name: pyopenssl + name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2 - version: 22.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.6.2-pyhd8ed1ab_0.conda + version: 2.6.2 +- category: main + dependencies: + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + typing-extensions: '>=4.2.0' + hash: + md5: 80592d1fbd412e21cf62a0b3546aef58 + sha256: 594ac092ec25a31e6260c50635de8fe939d4b378ad2b832d0e2d91d85ee2374d + manager: conda + name: pydantic + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.4-py39h72bdee0_1.conda + version: 1.10.4 +- category: main + dependencies: + cffi: '>=1.4.1' + libgcc-ng: '>=12' + libsodium: '>=1.0.18,<1.0.19.0a0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + six: '' + hash: + md5: 1022b37795420d806b7b36b4e622ee9b + sha256: 937447b9122e4fe2525aba3568bd0635123e6293564b157ccb6753300553d84e + manager: conda + name: pynacl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py39hb9d737c_2.tar.bz2 + version: 1.5.0 - category: main dependencies: pytest: '>=3.6.0' @@ -4325,6 +4184,201 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 version: 3.7.0 +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + xorg-inputproto: '' + xorg-libx11: '>=1.7.1,<2.0a0' + xorg-libxext: 1.3.* + xorg-libxi: 1.7.* + xorg-recordproto: '' + hash: + md5: a220b1a513e19d5cb56c1311d44f12e6 + sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87 + manager: conda + name: xorg-libxtst + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2 + version: 1.2.3 +- category: main + dependencies: + cffi: '>=1.11' + libgcc-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + zstd: '>=1.5.2,<1.6.0a0' + hash: + md5: 6023bdb101f9c7fcf11595442cb832b0 + sha256: 7297303784e4b4964fa15eac0d0559f3598d9abf8d941b33f51315c590e16eda + manager: conda + name: zstandard + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.19.0-py39h29414ee_1.conda + version: 0.19.0 +- category: main + dependencies: + importlib_metadata: '>=0.23,<5' + python: '>=3.5' + hash: + md5: b8152341fc3fc9880c6e1b9d188974e5 + sha256: 2abb116f5bdc62d5e83c9dd15e5fc30c2a9571f728ccc012fad03350ed1d581e + manager: conda + name: argcomplete + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-1.12.3-pyhd8ed1ab_2.tar.bz2 + version: 1.12.3 +- category: main + dependencies: + clang-format: 15.0.7 default_had23c3d_0 + libclang: '>=15.0.7,<15.1.0a0' + libclang-cpp15: '>=15.0.7,<15.1.0a0' + libgcc-ng: '>=12' + libllvm15: '>=15.0.7,<15.1.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + hash: + md5: d08e8e7facf7aa93aaf8ae20b31fda65 + sha256: 5456e5d86b908d1cad5d2dc924f836404b5e5d97a77db518372e7ad7d5daf469 + manager: conda + name: clang-tools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_0.conda + version: 15.0.7 +- category: main + dependencies: + python: '>=3.7' + zstandard: '>=0.15' + hash: + md5: 1a2fa9e53cfbc2e4d9ab21990805a436 + sha256: 48cde99cc0abe5e50fb00713710851db9f76812a644892a9a2b5cbf9fe9707f5 + manager: conda + name: conda-package-streaming + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/conda-package-streaming-0.7.0-pyhd8ed1ab_1.conda + version: 0.7.0 +- category: main + dependencies: + flask: '>=0.9' + python: '' + six: '' + hash: + md5: f06be6d2d27dc3ea2b3da84ade76583c + sha256: 0ffe072bf8b7bfdbb3a2e6f41cd65264259a92a77db3fb3ffc4e74f3eee2ea4d + manager: conda + name: flask_cors + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 + version: 3.0.10 +- category: main + dependencies: + importlib_metadata: '' + python: ==2.7.*|>=3.5 + hash: + md5: 35f19fabdfd44c8b53889be95333848c + sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 + manager: conda + name: jsonpickle + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 + version: 2.2.0 +- category: main + dependencies: + elfutils: '>=0.187,<0.188.0a0' + libdwarf: 0.0.0.20190110_28_ga81397fc4 h753d276_0 + libgcc-ng: '>=12' + libzlib: '>=1.2.12,<1.3.0a0' + hash: + md5: 899c511688e6c41cb51c2921a8d25e63 + manager: conda + name: libdwarf-dev + optional: false + platform: linux-64 + url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 + version: 0.0.0.20190110_28_ga81397fc4 +- category: main + dependencies: + alsa-lib: '>=1.2.8,<1.2.9.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + giflib: '>=5.2.1,<5.3.0a0' + harfbuzz: '>=6.0.0,<7.0a0' + jpeg: '>=9e,<10a' + lcms2: '>=2.14,<3.0a0' + libcups: '>=2.3.3,<2.4.0a0' + libgcc-ng: '>=12' + libpng: '>=1.6.39,<1.7.0a0' + libstdcxx-ng: '>=12' + libzlib: '>=1.2.13,<1.3.0a0' + xorg-libx11: '' + xorg-libxext: '' + xorg-libxi: '' + xorg-libxrender: '' + xorg-libxtst: '' + hash: + md5: 71a5dfe4a375fc43497cdc6f4aedff9d + sha256: baa527e6b59572e00e68c2362e1771f7741f3f062dac7a8c6365a97f48c04413 + manager: conda + name: openjdk + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-17.0.3-h58dac75_5.conda + version: 17.0.3 +- category: main + dependencies: + cairo: '>=1.16.0,<2.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + fribidi: '>=1.0.10,<2.0a0' + harfbuzz: '>=6.0.0,<7.0a0' + libgcc-ng: '>=12' + libglib: '>=2.74.1,<3.0a0' + libpng: '>=1.6.39,<1.7.0a0' + hash: + md5: 667dc93c913f0156e1237032e3a22046 + sha256: 7ae10db69ed593d8e51205dfc8a8297b09bfc9aa351f0e07199d4edccb16ca13 + manager: conda + name: pango + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.12-hd33c08f_1.conda + version: 1.50.12 +- category: main + dependencies: + bcrypt: '>=3.2' + cryptography: '>=3.3' + pynacl: '>=1.5' + python: '>=3.6' + hash: + md5: 9159272243591905b0766ae53e942218 + sha256: 98728c9e3ec10c198154a5c8c0cec51eea76ecbd4744618449725d166c050fcb + manager: conda + name: paramiko + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.0.0-pyhd8ed1ab_0.conda + version: 3.0.0 +- category: main + dependencies: + cryptography: '>=38.0.0,<40' + python: '>=3.6' + hash: + md5: d41957700e83bbb925928764cb7f8878 + sha256: adbf8951f22bfa950b9e24394df1ef1d2b2d7dfb194d91c7f42bc11900695785 + manager: conda + name: pyopenssl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda + version: 23.0.0 - category: main dependencies: cryptography: '' @@ -4343,17 +4397,18 @@ package: version: 3.3.0 - category: main dependencies: - __unix: '' - openjdk: '>=8' + attrs: '' + pbr: '' + python: '>=3.6' hash: - md5: 52677be60e57aed79cbbedece88e24e9 - sha256: a09ebc40802f7b3bd177e2ccbd9ac4883dd8a562a2628165613c70bab1e6e113 + md5: 010e6280a9dc265d0488b598c45103d9 + sha256: 02e18825ab15654d6555aa2d78c396e726e200e398691bd0bce3b810205e28df manager: conda - name: sbt + name: sarif-om optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.7.2-hd8ed1ab_0.tar.bz2 - version: 1.7.2 + url: https://conda.anaconda.org/conda-forge/noarch/sarif-om-1.0.4-pyhd8ed1ab_0.tar.bz2 + version: 1.0.4 - category: main dependencies: cryptography: '' @@ -4362,13 +4417,13 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 19c5efd8d571b01b15afe65648faf262 - sha256: c19c7a07b3f74b997057e544e02acdd0073e97a67dddd6219e6c59990fb1b52d + md5: cfb68a22e2d9108634a08a8a3b19d1b6 + sha256: db76e25d0c1cad3ca6339fd4d09c9cd03dcea7072b302c6eaa4123a358e98a78 manager: conda name: secretstorage optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_1.tar.bz2 version: 3.3.3 - category: main dependencies: @@ -4386,47 +4441,51 @@ package: version: 3.3.1 - category: main dependencies: - flask: '>=0.9' - python: '' - six: '' + distlib: '>=0.3.6,<1' + filelock: '>=3.4.1,<4' + platformdirs: '>=2.4,<3' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: f06be6d2d27dc3ea2b3da84ade76583c - sha256: 0ffe072bf8b7bfdbb3a2e6f41cd65264259a92a77db3fb3ffc4e74f3eee2ea4d + md5: dd1be6ccb267f13bdc5c44cfb76c4080 + sha256: 3d9c15c6a69160d4133dc77adad49c70d932139631a5e52602637cd77ba82e10 manager: conda - name: flask_cors + name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 - version: 3.0.10 + url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.17.1-py39hf3d152e_0.conda + version: 20.17.1 - category: main dependencies: - cairo: '>=1.16.0,<2.0.0a0' - expat: '>=2.4.8,<3.0a0' - fontconfig: '>=2.13.96,<3.0a0' - fonts-conda-ecosystem: '' - freetype: '>=2.12.1,<3.0a0' - gdk-pixbuf: '>=2.42.8,<3.0a0' - gtk2: '' - gts: '>=0.7.6,<0.8.0a0' - libgcc-ng: '>=12' - libgd: '>=2.3.3,<2.4.0a0' - libglib: '>=2.72.1,<3.0a0' - librsvg: '>=2.54.4,<3.0a0' - libstdcxx-ng: '>=12' - libtool: '' - libwebp-base: '>=1.2.4,<2.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - pango: '>=1.50.9,<1.51.0a0' - zlib: '>=1.2.12,<1.3.0a0' + conda-package-streaming: '>=0.7.0' + python: '>=3.7' hash: - md5: 123c55da3e9ea8664f73c70e13ef08c2 - sha256: b361670365155a56f0714fef9bae58ff858a0fc13d7f04530e4252e98b9b164d + md5: 44800e9bd13143292097c65e57323038 + sha256: c453b2a648e7a059f26326d476069cf81627c9a3fa12da4ab22eb39e7bfdc095 manager: conda - name: graphviz + name: conda-package-handling optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-6.0.1-h5abf519_0.tar.bz2 - version: 6.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/conda-package-handling-2.0.2-pyh38be061_0.conda + version: 2.0.2 +- category: main + dependencies: + atk-1.0: '>=2.36.0' + cairo: '>=1.16.0,<2.0.0a0' + gdk-pixbuf: '>=2.42.6,<3.0a0' + gettext: '>=0.19.8.1,<1.0a0' + libgcc-ng: '>=9.4.0' + libglib: '>=2.70.2,<3.0a0' + pango: '>=1.50.3,<1.51.0a0' + hash: + md5: 957a0255ab58aaf394a91725d73ab422 + sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87 + manager: conda + name: gtk2 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2 + version: 2.24.33 - category: main dependencies: attrs: '' @@ -4444,35 +4503,52 @@ package: version: 1.2.3 - category: main dependencies: - importlib_metadata: '>=3.6' + importlib_metadata: '>=4.11.4' jaraco.classes: '' jeepney: '>=0.4.2' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 secretstorage: '>=3.2' hash: - md5: 53de394e0ab10ccb6b9db0528050123f - sha256: 4e5d918992cd28e91382c9bbc7e2911530d51641f03cbc33ed0eb98297b2a5eb + md5: ae2df7a822f7671da22da24ead24cc0a + sha256: 107e6a5ba122dff162e9d34a87af1ffbb4dca1f7dd1547294646774ca9421524 manager: conda name: keyring optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.9.3-py39hf3d152e_0.tar.bz2 - version: 23.9.3 + url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.13.1-py39hf3d152e_0.conda + version: 23.13.1 - category: main dependencies: - attrs: '' - pbr: '' - python: '>=3.6' + cairo: '>=1.16.0,<2.0.0a0' + gdk-pixbuf: '>=2.42.8,<3.0a0' + gettext: '>=0.19.8.1,<1.0a0' + libgcc-ng: '>=12' + libglib: '>=2.70.2,<3.0a0' + libxml2: '>=2.9.14,<2.11.0a0' + pango: '>=1.50.7,<1.51.0a0' hash: - md5: 010e6280a9dc265d0488b598c45103d9 - sha256: 02e18825ab15654d6555aa2d78c396e726e200e398691bd0bce3b810205e28df + md5: 921e53675ed5ea352f022b79abab076a + sha256: 9b81f3854660e902a417e8194b43ed2f5d2a082227df28ba6804c68ac7c16aa0 manager: conda - name: sarif-om + name: librsvg optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sarif-om-1.0.4-pyhd8ed1ab_0.tar.bz2 - version: 1.0.4 + url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 + version: 2.54.4 +- category: main + dependencies: + __unix: '' + openjdk: '>=8' + hash: + md5: 9db52fde2303937e5ae766d3c0c2c21e + sha256: 4a5967e73309839e57f254046e2a07cb16039a0c46d820d302382fd910751fde + manager: conda + name: sbt + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.8.2-hd8ed1ab_0.conda + version: 1.8.2 - category: main dependencies: brotlipy: '>=0.6.0' @@ -4483,14 +4559,14 @@ package: pysocks: '>=1.5.6,<2.0,!=1.5.7' python: <4.0 hash: - md5: 0738978569b10669bdef41c671252dd1 - sha256: 57a823b83428156aa2bc18f34159a744657c9bd117a125ca4559b0518a2e4fa2 + md5: 01f33ad2e0aaf6b5ba4add50dad5ad29 + sha256: f2f09c44e47946ce631dbc9a8a79bb463ac0f4122aaafdbcc51f200a1e420ca6 manager: conda name: urllib3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2 - version: 1.26.11 + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.14-pyhd8ed1ab_0.conda + version: 1.26.14 - category: main dependencies: jmespath: '>=0.7.1,<1.0.0' @@ -4508,17 +4584,33 @@ package: version: 1.23.21 - category: main dependencies: - graphviz: '>=2.46.1' - python: '>=3' + cairo: '>=1.16.0,<2.0a0' + expat: '>=2.5.0,<3.0a0' + fontconfig: '>=2.14.1,<3.0a0' + fonts-conda-ecosystem: '' + freetype: '>=2.12.1,<3.0a0' + gdk-pixbuf: '>=2.42.10,<3.0a0' + gtk2: '' + gts: '>=0.7.6,<0.8.0a0' + libgcc-ng: '>=12' + libgd: '>=2.3.3,<2.4.0a0' + libglib: '>=2.74.1,<3.0a0' + librsvg: '>=2.54.4,<3.0a0' + libstdcxx-ng: '>=12' + libtool: '' + libwebp-base: '>=1.2.4,<2.0a0' + libzlib: '>=1.2.13,<1.3.0a0' + pango: '>=1.50.12,<2.0a0' + zlib: '' hash: - md5: cd0b0b05f32477491145e9829f6000e1 - sha256: f62e0e1bf66af069c763a8383f085d31ac6252f9ef5021c9488ef68572060589 + md5: e7ecda996c443142a0e9c379f3b28e48 + sha256: cecaa9e6dce7f2df042768d9a794f0126565a30384fcd59879e107d760bed7f1 manager: conda - name: python-graphviz + name: graphviz optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.19-pyhaef67bd_0.tar.bz2 - version: '0.19' + url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-7.1.0-h2e5815a_0.conda + version: 7.1.0 - category: main dependencies: certifi: '>=2017.4.17' @@ -4527,88 +4619,82 @@ package: python: '>=3.7,<4.0' urllib3: '>=1.21.1,<1.27' hash: - md5: 089382ee0e2dc2eae33a04cc3c2bddb0 - sha256: b45d0da6774c8231ab4fef0427b3050e7c54c84dfe453143dd4010999c89e050 + md5: 11d178fc55199482ee48d6812ea83983 + sha256: 22c081b4cdd023a514400413f50efdf2c378f56f2a5ea9d65666aacf4696490a manager: conda name: requests optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2 - version: 2.28.1 + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.2-pyhd8ed1ab_0.conda + version: 2.28.2 - category: main dependencies: botocore: '>=1.11.3' python: '>=3.4' wrapt: '' hash: - md5: f5e722eaa36ec10f604195907d443fc3 - sha256: 8d3e8e01c8a3462b71393a3ec4c3bf81d5ee62a1e56fb20ff33a9bf38667b573 + md5: 2f18ecd9ec078c10f7086ad7ee05289b + sha256: ab3afec58f5368351efac43e813e62f944d41bd879c99e45ad49910aac666447 manager: conda name: aws-xray-sdk optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-xray-sdk-2.10.0-pyhd8ed1ab_0.tar.bz2 - version: 2.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/aws-xray-sdk-2.11.0-pyhd8ed1ab_0.tar.bz2 + version: 2.11.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' requests: '' hash: - md5: 6eefee9888f33f150b5d44d616b1a613 - sha256: c863c2bf200008e255f69bececda3477c1bb23e2b63a82612099a91a418ca2ea + md5: e8f0410e0aa03342304357c5cc3bb75d + sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda version: 0.12.11 - category: main dependencies: conda-package-handling: '>=1.3.0' + pluggy: '>=1.0.0' pycosat: '>=0.6.3' pyopenssl: '>=16.2.0' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 requests: '>=2.20.1,<3' - ruamel_yaml: '>=0.11.14,<0.17' + ruamel.yaml: '>=0.11.14,<0.18' setuptools: '>=31.0.1' toolz: '>=0.8.1' + tqdm: '>=4' hash: - md5: 7b5613a2a677f1e2d1dad5a98fa43192 - sha256: 61b904fe1a666885ef02c2f069c9fd12d88f9dc989b625e0a2f20a35430bd1f5 + md5: b2482d4fe1bc47af8e699f3ffec9dbb8 + sha256: 2fcb48155d829cb344ddf83589998babd94f298323166975d625be7e8e7ac1a6 manager: conda name: conda optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.9.0-py39hf3d152e_1.tar.bz2 - version: 22.9.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.11.1-py39hf3d152e_1.conda + version: 22.11.1 - category: main dependencies: - appdirs: '>=1.4.3' - asn1crypto: '>=0.22.0' - cffi: '>=1.10.0' - cryptography: '>=1.9' - docker-pycreds: '>=0.3.0' - idna: '>=2.5' - packaging: '>=16.8' - pycparser: '>=2.17' - pyopenssl: '>=17.0.0' - pyparsing: '>=2.2.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - requests: '>=2.14.2' - six: '>=1.10.0' - websocket-client: '>=0.40.0' + packaging: '>=14.0' + paramiko: '>=2.4.3' + python: '>=3.7' + pywin32-on-windows: '' + requests: '>=2.26.0' + urllib3: '>=1.26.0' + websocket-client: '>=0.32.0' hash: - md5: adbd239e5bf8b3f85fbc31fc98151e3c - sha256: bc7bec670f6ce5c011d64211422d45a8a4ad89713b6f46b56b05f2f3b74ad5a9 + md5: 8b0d1b5227ce39053aa69c3ff18417ec + sha256: 45e16e6f7e4105c71c1494ca523b01e676349a25ee1f8114a6c10bbdd8549d50 manager: conda name: docker-py optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docker-py-5.0.3-py39hf3d152e_2.tar.bz2 - version: 5.0.3 + url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.0.0-pyhd8ed1ab_0.tar.bz2 + version: 6.0.0 - category: main dependencies: appdirs: '' @@ -4625,6 +4711,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2 version: 1.4.3 +- category: main + dependencies: + graphviz: '>=2.46.1' + python: '>=3' + hash: + md5: cd0b0b05f32477491145e9829f6000e1 + sha256: f62e0e1bf66af069c763a8383f085d31ac6252f9ef5021c9488ef68572060589 + manager: conda + name: python-graphviz + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.19-pyhaef67bd_0.tar.bz2 + version: '0.19' - category: main dependencies: python: '' @@ -4728,6 +4827,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.20.21-pyhd8ed1ab_0.tar.bz2 version: 1.20.21 +- category: main + dependencies: + cachecontrol: 0.12.11 pyhd8ed1ab_1 + lockfile: '>=0.9' + python: '>=3.6' + hash: + md5: 9df660456c0076d27b802448f7ede78f + sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + manager: conda + name: cachecontrol-with-filecache + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda + version: 0.12.11 - category: main dependencies: colorama: '' @@ -4735,30 +4848,31 @@ package: networkx: '' python: '>=3.6' hash: - md5: 74c9c60684e578fb92b27df42846b733 - sha256: 1c726baaa6ffd3986b0f1bfd655b8311da0345be915d31738b4965c397b2e92d + md5: f47b4fbd862cc05b914d2e4862df72a1 + sha256: 3a7f989bdcb5a6a284d092745892f8f27d15b348a02b95229d258899d418fd82 manager: conda name: conda-tree optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/conda-tree-1.0.5-pyhd8ed1ab_0.tar.bz2 - version: 1.0.5 + url: https://conda.anaconda.org/conda-forge/noarch/conda-tree-1.1.0-pyhd8ed1ab_0.conda + version: 1.1.0 - category: main dependencies: - conda: '>=4.6' + __unix: '' + conda: '>=4.6,<23.1.0' conda-standalone: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + pillow: '>=3.1' + python: '>=3.7' ruamel_yaml: '>=0.11.14,<0.16' hash: - md5: e5596cad685fd9edec29955a614abf69 - sha256: 214a4055b49d6288393afeecb53c2a3d8d6559fff686aa03c2d6abef69577522 + md5: 1ce2f0c21b90fc7669ba1f0e34c2dd04 + sha256: 78bd867a49b8d15edf4a4d98abe7c16762c3f9a532d6eccb8ddf3fb76b30c6f9 manager: conda name: constructor optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/constructor-3.3.1-py39hf3d152e_0.tar.bz2 - version: 3.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.2-pyhe4f9e05_0.conda + version: 3.4.2 - category: main dependencies: cachecontrol: '>=0.12.9,<0.13.0' @@ -4807,32 +4921,33 @@ package: - category: main dependencies: docutils: <0.18 - python: '>=2.7' - sphinx: '>=1.6' + python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + sphinx: '>=1.6,<6' hash: - md5: 9f633f2f2869184e31acfeae95b24345 - sha256: 3752f28effe86b371475492d42550b30125d9ca2ead88af7e49da2a793e82e68 + md5: a8d25c9077767faf05148421a04874f6 + sha256: 05336b16250a43671a32f59afb227c42015c2a5156b6d3830e181543182582a3 manager: conda name: sphinx_rtd_theme optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.0.0-pyhd8ed1ab_0.tar.bz2 - version: 1.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.1.1-pyha770c72_1.conda + version: 1.1.1 - category: main dependencies: - boto3: ~=1.5 - jsonschema: ~=3.2 - python: '>=3.6' - six: ~=1.15 + boto3: '>=1.19.5,<2' + jsonschema: '>=3.2,<5' + pydantic: ~=1.10.2 + python: '>=3.7' + typing_extensions: ~=4.4.0 hash: - md5: b8103c86e59eee59cca2dc5da1691cba - sha256: 94fd5915c0f0f39ec7b0430f068caf4a35521c6ab3b3f9e82d014b91d33b8866 + md5: 598c51cdb44da89abe884e6d36f3309f + sha256: 2b52ec2fdd49f9aca3b764b407f1aa1549c43cbb78762912c5ae86551b4c57ca manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.52.0-pyhd8ed1ab_0.tar.bz2 - version: 1.52.0 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.58.1-pyhd8ed1ab_0.conda + version: 1.58.1 - category: main dependencies: boto3: '' @@ -4849,28 +4964,38 @@ package: version: 1.21.6 - category: main dependencies: + cachecontrol-with-filecache: '>=0.12.9' + cachy: '>=0.3.0' click: '>=8.0' click-default-group: '' + clikit: '>=0.6.2' + crashtest: '>=0.3.0' ensureconda: '>=1.3' + html5lib: '>=1.0' + importlib-metadata: '>=1.7.0' jinja2: '' - poetry: '' + keyring: '>=21.2.0' + packaging: '>=20.4' + pkginfo: '>=1.4' pydantic: '>=1.8.1' python: '>=3.6' pyyaml: '>=5.1' - requests: '>=2' + requests: '>=2.18' ruamel.yaml: '' tomli: '' - toolz: <1.0.0,>=0.12.0 - typing-extensions: '' + tomlkit: '>=0.7.0' + toolz: '>=0.12.0,<1.0.0' + typing_extensions: '' + virtualenv: '>=20.0.26' hash: - md5: 496c81a0d226177dbabb5fa495fadda9 - sha256: 39b181da4620222ba831dc9570f600753c52bb8f649bfef036d2c79245a4c145 + md5: 6622e6ee316eb482344519bf5ae27750 + sha256: 9ffda11f9ef636927224c2fad7eb005ce09a91eb52dca2f56868bebb2dca5ea1 manager: conda name: conda-lock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.1.3-pyhd8ed1ab_0.tar.bz2 - version: 1.1.3 + url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_1.conda + version: 1.4.0 - category: main dependencies: boto3: '' @@ -4887,26 +5012,23 @@ package: version: 1.21.0 - category: main dependencies: - aws-sam-translator: '>=1.40.0' - importlib_resources: '>=1.4,<4' - jschema-to-python: ~=1.2.3 + aws-sam-translator: '>=1.13.0' jsonpatch: '' - jsonschema: ~=3.0 - junit-xml: ~=1.9 - networkx: ~=2.4 - python: '>=3.6' - pyyaml: '>5.4' - sarif-om: ~=1.0.4 - six: '>=1.11' + jsonschema: '>=3,<4' + python: '' + pyyaml: '' + requests: '>=2.15.0' + setuptools: '' + six: '>=1.11,<2' hash: - md5: c0194acb049810fc8eba88a3184e570f - sha256: 7920575550b0a9bd75f2007c00ff53164f35e7aebe887117d7c24c626af05371 + md5: 8d4741824cf4fde7260aafa95e6beff2 + sha256: 99e0ccd5c4bf4687280d0f63bac6c556ef35ba840ee4751dd63457b63c64a98f manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.67.0-pyhd8ed1ab_0.tar.bz2 - version: 0.67.0 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.23.2-py_0.tar.bz2 + version: 0.23.2 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' @@ -4942,15 +5064,12 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/moto-3.1.0-pyhd8ed1ab_0.tar.bz2 version: 3.1.0 -- category: main - dependencies: {} +- dependencies: {} hash: sha256: ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344 manager: pip name: bcrypt - optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/aa/48/fd2b197a9741fa790ba0b88a9b10b5e88e62ff5cf3e1bc96d8354d7ce613/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl version: 4.0.1 - category: main @@ -4961,7 +5080,6 @@ package: name: mock optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl version: 4.0.3 - category: main @@ -4972,9 +5090,24 @@ package: name: mypy-boto3-ec2 optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/a4/60/815ee785b017d49e09f42175e791a3a3495293b0dbce7d18c74f43a1e8a4/mypy_boto3_ec2-1.21.9-py3-none-any.whl version: 1.21.9 +- dependencies: {} + hash: + sha256: ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf + manager: pip + name: numpy + platform: linux-64 + url: https://files.pythonhosted.org/packages/43/55/fea3342371187dea4044521c0ba82b90fb5a42fb92446be019b316dd3320/numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + version: 1.24.1 +- dependencies: {} + hash: + sha256: 40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 + manager: pip + name: pyyaml + platform: linux-64 + url: https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl + version: '6.0' - category: main dependencies: six: '*' @@ -4984,7 +5117,6 @@ package: name: asttokens optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl version: 2.0.8 - category: main @@ -4997,9 +5129,17 @@ package: name: paramiko-ng optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9f/53/1ac75eab589149b1e02e38185ecebf09e1b805fc3fdeadbc16d1a2b7d208/paramiko_ng-2.8.10-py2.py3-none-any.whl version: 2.8.10 +- dependencies: + ruamel.yaml.clib: '>=0.2.6' + hash: + sha256: 742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7 + manager: pip + name: ruamel.yaml + platform: linux-64 + url: https://files.pythonhosted.org/packages/9e/cb/938214ac358fbef7058343b3765c79a1b7ed0c366f7f992ce7ff38335652/ruamel.yaml-0.17.21-py3-none-any.whl + version: 0.17.21 - category: main dependencies: mock: '*' @@ -5010,7 +5150,6 @@ package: name: sure optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/c7/ee/043531858afab5f312ca02867de51189c0c1dd76ba652f1d95ffa13d07f7/sure-2.0.0.tar.gz version: 2.0.0 - category: main @@ -5023,9 +5162,22 @@ package: name: fab-classic optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/86/f4/c301effc438788c184bbd0c08a586135f325581e6c4cf9f1d40229f9894b/fab_classic-1.19.1-py2.py3-none-any.whl version: 1.19.1 +- category: main + dependencies: + numpy: '>=1.23.0,<2.0.0' + pydantic: '>=1.9.2,<2.0.0' + pyyaml: '>=6.0,<7.0' + ruamel.yaml: '>=0.17.21,<0.18.0' + hash: + sha256: c593396dee542e25632a5cb2487f255bbdf9d7e7e6e311e8cb5b8278b2c27e10 + manager: pip + name: hammer-vlsi + optional: false + platform: linux-64 + url: https://files.pythonhosted.org/packages/63/98/235edaf1baccb3fb2c6b1bc96d278d4cf6854e765363cfbf7da8c80b9751/hammer_vlsi-1.0.0rc2-py3-none-any.whl + version: 1.0.0rc2 - category: main dependencies: asttokens: '>=2,<3' @@ -5036,7 +5188,6 @@ package: name: icontract optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/d8/91/9756e7cf0b155e80bf9a62beffdd1dec4afce43cc6ab7f432f2267c62762/icontract-2.6.2-py3-none-any.whl version: 2.6.2 - category: main @@ -5049,7 +5200,6 @@ package: name: pylddwrap optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/6b/4e/aebc1cff19a572dbcc7e60d8e74f38fd568ef9185650b39f72fde9ff84d1/pylddwrap-1.2.1.tar.gz version: 1.2.1 version: 1 diff --git a/conda-reqs/vlsi.yaml b/conda-reqs/vlsi.yaml new file mode 100644 index 00000000..7b028f2d --- /dev/null +++ b/conda-reqs/vlsi.yaml @@ -0,0 +1,13 @@ +dependencies: + # https://conda-forge.org/feedstock-outputs/ + # filterable list of all conda-forge packages + # https://conda-forge.org/#contribute + # instructions on adding a recipe + # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications + # documentation on package_spec syntax for constraining versions + + + - pip: + - -e ../vlsi/hammer-cadence-plugins + - -e ../vlsi/hammer-synopsys-plugins + - -e ../vlsi/hammer-mentor-plugins diff --git a/scripts/init-vlsi.sh b/scripts/init-vlsi.sh index 8613bf61..c32daf82 100755 --- a/scripts/init-vlsi.sh +++ b/scripts/init-vlsi.sh @@ -13,6 +13,15 @@ if [[ $1 != *openroad* ]] && [[ $2 != *openroad* ]]; then fi # Initialize HAMMER tech plugin +# And add tech plugin to conda dependencies if [[ $1 != *asap7* ]] && [[ $1 != *sky130* ]]; then git submodule update --init --recursive vlsi/hammer-$1-plugin + echo ' '- -e ../vlsi/hammer-$1-plugin >> conda-reqs/vlsi.yaml fi + +# Update the conda-env with the plugins +if [[ `basename $CONDA_PREFIX` != .conda-env ]]; then + echo 'Activating Chipyard conda environment...' + source env.sh +fi +conda env update -f conda-reqs/vlsi.yaml diff --git a/vlsi/Makefile b/vlsi/Makefile index 228401b2..3e5637d4 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -21,8 +21,8 @@ include $(base_dir)/variables.mk sim_name ?= vcs # needed for GenerateSimFiles, but is unused tech_name ?= asap7 tech_dir ?= $(if $(filter $(tech_name),sky130 asap7 nangate45),\ - $(vlsi_dir)/hammer/src/hammer-vlsi/technology/$(tech_name), \ - $(vlsi_dir)/hammer-$(tech_name)-plugin/$(tech_name)) + $(vlsi_dir)/hammer/hammer/technology/$(tech_name), \ + $(vlsi_dir)/hammer-$(tech_name)-plugin/hammer/technology/$(tech_name)) SMEMS_COMP ?= $(tech_dir)/sram-compiler.json SMEMS_CACHE ?= $(tech_dir)/sram-cache.json SMEMS_HAMMER ?= $(build_dir)/$(long_name).mems.hammer.json diff --git a/vlsi/example-asap7.yml b/vlsi/example-asap7.yml index 70489129..8aafe8c0 100644 --- a/vlsi/example-asap7.yml +++ b/vlsi/example-asap7.yml @@ -1,6 +1,6 @@ # Technology Setup # Technology used is ASAP7 -vlsi.core.technology: asap7 +vlsi.core.technology: "hammer.technology.asap7" # Specify dir with ASAP7 Calibre deck tarball technology.asap7.tarball_dir: "/path/to/asap7" # Specify PDK and std cell install directories @@ -94,7 +94,4 @@ vlsi.inputs.pin.assignments: [ ] # SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "sram_compiler" -# You should specify a location for the SRAM generator in the tech plugin -vlsi.core.sram_generator_tool_path: ["hammer/src/hammer-vlsi/technology/asap7"] -vlsi.core.sram_generator_tool_path_meta: "append" +vlsi.core.sram_generator_tool: "hammer.technology.asap7.sram_compiler" diff --git a/vlsi/example-openroad.yml b/vlsi/example-openroad.yml index d555a19e..6d9a264a 100644 --- a/vlsi/example-openroad.yml +++ b/vlsi/example-openroad.yml @@ -1,22 +1,9 @@ -# SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "sram_compiler" -# You should specify a location for the SRAM generator in the tech plugin -vlsi.core.sram_generator_tool_path: [] -vlsi.core.sram_generator_tool_path_meta: "append" - # Tool options. Replace with your tool plugin of choice. -# Yosys options -vlsi.core.synthesis_tool: "yosys" -vlsi.core.synthesis_tool_path: ["hammer/src/hammer-vlsi/synthesis"] -vlsi.core.synthesis_tool_path_meta: "append" -# Innovus options -vlsi.core.par_tool: "openroad" -vlsi.core.par_tool_path: ["hammer/src/hammer-vlsi/par"] -vlsi.core.par_tool_path_meta: "append" -# Magic options -vlsi.core.drc_tool: "magic" -vlsi.core.drc_tool_path: ["hammer/src/hammer-vlsi/drc"] -drc.magic.magic_bin: "magic" -# Netgen options -vlsi.core.lvs_tool: "netgen" -vlsi.core.lvs_tool_path: ["hammer/src/hammer-vlsi/lvs"] +# Yosys +vlsi.core.synthesis_tool: "hammer.synthesis.yosys" +# OpenROAD +vlsi.core.par_tool: "hammer.par.openroad" +# Magic +vlsi.core.drc_tool: "hammer.drc.magic" +# Netgen +vlsi.core.lvs_tool: "hammer.lvs.netgen" diff --git a/vlsi/example-sky130.yml b/vlsi/example-sky130.yml index 8f93fee3..39a31c01 100644 --- a/vlsi/example-sky130.yml +++ b/vlsi/example-sky130.yml @@ -1,6 +1,6 @@ # Technology Setup # Technology used is Sky130 -vlsi.core.technology: sky130 +vlsi.core.technology: "hammer.technology.sky130" vlsi.core.max_threads: 12 @@ -71,7 +71,4 @@ vlsi.inputs.pin.assignments: [ ] # SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "sram_compiler" -# You should specify a location for the SRAM generator in the tech plugin -vlsi.core.sram_generator_tool_path: ["hammer/src/hammer-vlsi/technology/sky130"] -vlsi.core.sram_generator_tool_path_meta: "append" +vlsi.core.sram_generator_tool: "hammer.technology.sky130.sram_compiler" diff --git a/vlsi/example-tech.yml b/vlsi/example-tech.yml index c6e21a7d..9cd57aee 100644 --- a/vlsi/example-tech.yml +++ b/vlsi/example-tech.yml @@ -1,7 +1,5 @@ # Technology Setup -vlsi.core.technology: -vlsi.core.technology_path: ["hammer--plugin"] -vlsi.core.technology_path_meta: append +vlsi.core.technology: "hammer.technology." # technology files installation directory technology..install_dir: "" diff --git a/vlsi/example-tools.yml b/vlsi/example-tools.yml index c4143424..c174ef53 100644 --- a/vlsi/example-tools.yml +++ b/vlsi/example-tools.yml @@ -1,36 +1,25 @@ # SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "sram_compiler" -# You should specify a location for the SRAM generator in the tech plugin -vlsi.core.sram_generator_tool_path: [] -vlsi.core.sram_generator_tool_path_meta: "append" +vlsi.core.sram_generator_tool: "hammer.technology..sram_compiler" # Tool options. Replace with your tool plugin of choice. # Genus options -vlsi.core.synthesis_tool: "genus" -vlsi.core.synthesis_tool_path: ["hammer-cadence-plugins/synthesis"] -vlsi.core.synthesis_tool_path_meta: "append" -synthesis.genus.version: "1813" +vlsi.core.synthesis_tool: "hammer.synthesis.genus" +synthesis.genus.version: "211" # Innovus options -vlsi.core.par_tool: "innovus" -vlsi.core.par_tool_path: ["hammer-cadence-plugins/par"] -vlsi.core.par_tool_path_meta: "append" -par.innovus.version: "191_ISR3" +vlsi.core.par_tool: "hammer.par.innovus" +par.innovus.version: "211" par.innovus.design_flow_effort: "standard" par.inputs.gds_merge: true # Calibre options -vlsi.core.drc_tool: "calibre" -vlsi.core.drc_tool_path: ["hammer-mentor-plugins/drc"] -drc.calibre.version: "2017.3_38.30" -vlsi.core.lvs_tool: "calibre" -vlsi.core.lvs_tool_path: ["hammer-mentor-plugins/lvs"] -lvs.calibre.version: "2017.3_38.30" +vlsi.core.drc_tool: "hammer.drc.calibre" +drc.calibre.version: "2022.2_24.16" +vlsi.core.lvs_tool: "hammer.lvs.calibre" +lvs.calibre.version: "2022.2_24.16" # VCS options -vlsi.core.sim_tool: "vcs" -vlsi.core.sim_tool_path: ["hammer-synopsys-plugins/sim"] -sim.vcs.version: "P-2019.06-SP2-5" +vlsi.core.sim_tool: "hammer.sim.vcs" +sim.vcs.version: "T-2022.06-SP2" # Voltus options -vlsi.core.power_tool: "voltus" -vlsi.core.power_tool_path: ["hammer-cadence-plugins/power"] +vlsi.core.power_tool: "hammer.power.voltus" vlsi.core.power_tool_path_meta: "append" -power.voltus.version: "191_ISR3" +power.voltus.version: "211_ISR3" # NOTE (about VCS+Voltus versions): if using FSDB, the VCS version should be approx 2 years older than the Voltus version for compatibility diff --git a/vlsi/example-vlsi b/vlsi/example-vlsi index 6393d391..fd96470e 100755 --- a/vlsi/example-vlsi +++ b/vlsi/example-vlsi @@ -5,12 +5,11 @@ import os -import hammer_vlsi -from hammer_vlsi import CLIDriver, HammerToolHookAction +from hammer.vlsi import CLIDriver, HammerTool, HammerToolHookAction from typing import Dict, Callable, Optional, List -def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: +def example_place_tap_cells(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "asap7": x.append(''' # TODO @@ -18,7 +17,7 @@ def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: ''') return True -def example_add_fillers(x: hammer_vlsi.HammerTool) -> bool: +def example_add_fillers(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "asap7": x.append(''' # TODO @@ -26,7 +25,7 @@ def example_add_fillers(x: hammer_vlsi.HammerTool) -> bool: ''') return True -def example_tool_settings(x: hammer_vlsi.HammerTool) -> bool: +def example_tool_settings(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "asap7": x.append(''' # TODO @@ -43,16 +42,16 @@ class ExampleDriver(CLIDriver): # make_pre_insertion_hook will execute the custom hook before the specified step # SYNTAX: make_pre_insertion_hook("EXISTING_STEP", INSERTED_HOOK) - # hammer_vlsi.HammerTool.make_pre_insertion_hook("route_design", example_add_fillers), + # HammerTool.make_pre_insertion_hook("route_design", example_add_fillers), # make_post_insertion_hook will execute the custom hook after the specified step - # hammer_vlsi.HammerTool.make_post_insertion_hook("init_design", example_tool_settings), + # HammerTool.make_post_insertion_hook("init_design", example_tool_settings), # make_replacement_hook will replace the specified step with a custom hook - # hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells), + # HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells), # make_removal_hook will remove the specified step from the flow - hammer_vlsi.HammerTool.make_removal_hook("place_bumps"), + HammerTool.make_removal_hook("place_bumps"), # The target step in any of the above calls may be a default step or another one of your custom hooks ] diff --git a/vlsi/example-vlsi-sky130 b/vlsi/example-vlsi-sky130 index adb457d7..7b94ea40 100755 --- a/vlsi/example-vlsi-sky130 +++ b/vlsi/example-vlsi-sky130 @@ -4,14 +4,13 @@ import os -import hammer_vlsi -from hammer_vlsi import CLIDriver, HammerToolHookAction +from hammer.vlsi import CLIDriver, HammerTool, HammerToolHookAction from typing import Dict, Callable, Optional, List -from technology.sky130 import SKY130Tech +from hammer.technology.sky130 import SKY130Tech -def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: +def example_place_tap_cells(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "sky130": x.append(''' # TODO @@ -19,7 +18,7 @@ def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: ''') return True -def example_add_fillers(x: hammer_vlsi.HammerTool) -> bool: +def example_add_fillers(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "sky130": x.append(''' # TODO @@ -27,7 +26,7 @@ def example_add_fillers(x: hammer_vlsi.HammerTool) -> bool: ''') return True -def example_tool_settings(x: hammer_vlsi.HammerTool) -> bool: +def example_tool_settings(x: HammerTool) -> bool: if x.get_setting("vlsi.core.technology") == "sky130": x.append(''' # TODO @@ -45,16 +44,16 @@ class ExampleDriver(CLIDriver): # make_pre_insertion_hook will execute the custom hook before the specified step # SYNTAX: make_pre_insertion_hook("EXISTING_STEP", INSERTED_HOOK) - # hammer_vlsi.HammerTool.make_pre_insertion_hook("route_design", example_add_fillers), + # HammerTool.make_pre_insertion_hook("route_design", example_add_fillers), # make_post_insertion_hook will execute the custom hook after the specified step - # hammer_vlsi.HammerTool.make_post_insertion_hook("init_design", example_tool_settings), + # HammerTool.make_post_insertion_hook("init_design", example_tool_settings), # make_replacement_hook will replace the specified step with a custom hook - # hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells), + # HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells), # make_removal_hook will remove the specified step from the flow - hammer_vlsi.HammerTool.make_removal_hook("place_bumps"), + HammerTool.make_removal_hook("place_bumps"), # The target step in any of the above calls may be a default step or another one of your custom hooks ] diff --git a/vlsi/hammer b/vlsi/hammer deleted file mode 160000 index 41105f96..00000000 --- a/vlsi/hammer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 41105f964fa235820e27136fd0faa87b33c62b2b diff --git a/vlsi/hammer-cadence-plugins b/vlsi/hammer-cadence-plugins index 80f0e276..a33e4716 160000 --- a/vlsi/hammer-cadence-plugins +++ b/vlsi/hammer-cadence-plugins @@ -1 +1 @@ -Subproject commit 80f0e276cf6a358f6d38288f5f69ccac41ea22ca +Subproject commit a33e4716f03f3a73864db8a7b33cfce08c6e2c45 diff --git a/vlsi/hammer-mentor-plugins b/vlsi/hammer-mentor-plugins index 67f57f12..eca060af 160000 --- a/vlsi/hammer-mentor-plugins +++ b/vlsi/hammer-mentor-plugins @@ -1 +1 @@ -Subproject commit 67f57f120031e8c23d3d165f56c3a3c7a4064aa4 +Subproject commit eca060af456043ded569bbcc8bea49c03bff6911 diff --git a/vlsi/hammer-synopsys-plugins b/vlsi/hammer-synopsys-plugins index 7f9ae30e..be908812 160000 --- a/vlsi/hammer-synopsys-plugins +++ b/vlsi/hammer-synopsys-plugins @@ -1 +1 @@ -Subproject commit 7f9ae30eb4184c15e0e359601286581198212e77 +Subproject commit be9088128dcf49dfb54aa93b605973e74a38d854 diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index a743184d..222d6e18 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -17,7 +17,7 @@ ifeq ($(tutorial),sky130-commercial) tech_name ?= sky130 CONFIG ?= TinyRocketConfig TOOLS_CONF ?= example-tools.yml - TECH_CONF ?= example-sky130.yml + TECH_CONF ?= hammer/e2e/pdks/sky130-bwrc.yml DESIGN_CONF ?= example-designs/sky130-commercial.yml EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) From 1dcc7bd9f5a9d4002b02e54290998904bc1f870e Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Wed, 1 Feb 2023 11:19:43 -0800 Subject: [PATCH 15/90] use pip within conda, update docs + links --- conda-reqs/vlsi.yaml | 13 ----------- docs/VLSI/ASAP7-Tutorial.rst | 19 ++++------------ docs/VLSI/Basic-Flow.rst | 22 +++++------------- docs/VLSI/Building-A-Chip.rst | 3 ++- docs/VLSI/Hammer.rst | 15 ++++++------ docs/VLSI/Sky130-Commercial-Tutorial.rst | 21 +++++------------ docs/VLSI/Sky130-OpenROAD-Tutorial.rst | 29 ++++++++---------------- scripts/init-vlsi.sh | 21 +++++++++-------- 8 files changed, 47 insertions(+), 96 deletions(-) delete mode 100644 conda-reqs/vlsi.yaml diff --git a/conda-reqs/vlsi.yaml b/conda-reqs/vlsi.yaml deleted file mode 100644 index 7b028f2d..00000000 --- a/conda-reqs/vlsi.yaml +++ /dev/null @@ -1,13 +0,0 @@ -dependencies: - # https://conda-forge.org/feedstock-outputs/ - # filterable list of all conda-forge packages - # https://conda-forge.org/#contribute - # instructions on adding a recipe - # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications - # documentation on package_spec syntax for constraining versions - - - - pip: - - -e ../vlsi/hammer-cadence-plugins - - -e ../vlsi/hammer-synopsys-plugins - - -e ../vlsi/hammer-mentor-plugins diff --git a/docs/VLSI/ASAP7-Tutorial.rst b/docs/VLSI/ASAP7-Tutorial.rst index 7cfb41ca..31856c59 100644 --- a/docs/VLSI/ASAP7-Tutorial.rst +++ b/docs/VLSI/ASAP7-Tutorial.rst @@ -49,31 +49,22 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo Prerequisites ------------- -* Python 3.4+ -* numpy and `gdstk `__ or `gdspy `__ packages. Note: gdspy must be version 1.4. +* Python 3.9+ * Genus, Innovus, Voltus, VCS, and Calibre licenses -* For ASAP7 specifically (`README `__ for more details): +* For ASAP7 specifically (`README `__ for more details): * First, download the `ASAP7 v1p7 PDK `__ (we recommend shallow-cloning or downloading an archive of the repository). Then, download the `encrypted Calibre decks tarball `__ tarball to a directory of choice (e.g. the root directory of the PDK) but do not extract it like the instructions say. The tech plugin is configured to extract the tarball into a cache directory for you. * If you have additional ASAP7 hard macros, their LEF & GDS need to be 4x upscaled @ 4000 DBU precision. Initial Setup ------------- -In the Chipyard root, run: +In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, run: .. code-block:: shell ./scripts/init-vlsi.sh asap7 -to pull the Hammer & plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first. - -Pull the Hammer environment into the shell: - -.. code-block:: shell - - cd vlsi - export HAMMER_HOME=$PWD/hammer - source $HAMMER_HOME/sourceme.sh +to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first. Building the Design -------------------- @@ -139,7 +130,7 @@ To run DRC & LVS, and view the results in Calibre: make lvs CONFIG=TinyRocketConfig ./build/lvs-rundir/generated-scripts/view-lvs -Some DRC errors are expected from this PDK, as explained in the `ASAP7 plugin readme `__. +Some DRC errors are expected from this PDK, as explained in the `ASAP7 plugin readme `__. Furthermore, the dummy SRAMs that are provided in this tutorial and PDK do not have any geometry inside, so will certainly cause DRC errors. Simulation diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 6f7c456b..135baff4 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -7,31 +7,22 @@ Using Hammer To Place and Route a Custom Block Initialize the Hammer Plug-ins ---------------------------------- -In the Chipyard root, run: +In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, run: .. code-block:: shell ./scripts/init-vlsi.sh This will pull the Hammer & CAD tool plugin submodules, assuming the technology plugins are available on github. -Currently only the asap7 technology plugin is available on github. -If you have additional private technology plugins (this is a typical use-case for proprietry process technologies with require NDAs and secure servers), you can clone them directly +Currently only the asap7 and sky130 technology plugins are available on github. +If you have additional private technology plugins (this is a typical use-case for proprietry process technologies with require NDAs and secure servers), you can submodule them directly into VLSI directory with the name ``hammer--plugin``. For example, for an imaginary process technology called tsmintel3: .. code-block:: shell cd vlsi - git clone git@my-secure-server.berkeley.edu:tsmintel3/hammer-tsmintel3-plugin.git - - -Next, we define the Hammer environment into the shell: - -.. code-block:: shell - - cd vlsi # (if you haven't done so yet) - export HAMMER_HOME=$PWD/hammer - source $HAMMER_HOME/sourceme.sh + git submodule add git@my-secure-server.berkeley.edu:tsmintel3/hammer-tsmintel3-plugin.git .. Note:: Some VLSI EDA tools are supported only on RHEL-based operating systems. We recommend using Chipyard on RHEL7 and above. However, many VLSI server still have old operating systems such as RHEL6, which have software packages older than the basic chipyard requirements. In order to build Chipyard on RHEL6, you will likely need to use tool packages such as devtoolset (for example, devtoolset-8) and/or build from source gcc, git, gmake, make, dtc, cc, bison, libexpat and liby. @@ -42,8 +33,7 @@ Setting up the Hammer Configuration Files The first configuration file that needs to be set up is the Hammer environment configuration file ``env.yml``. In this file you need to set the paths to the EDA tools and license servers you will be using. You do not have to fill all the fields in this configuration file, you only need to fill in the paths for the tools that you will be using. If you are working within a shared server farm environment with an LSF cluster setup (for example, the Berkeley Wireless Research Center), please note the additional possible environment configuration listed in the :ref:`VLSI/Basic-Flow:Advanced Environment Setup` segment of this documentation page. -Hammer relies on YAML-based configuration files. While these configuration can be consolidated within a single files (as is the case in the ASAP7 tutorial :ref:`tutorial` and the ``sky130`` -OpenRoad example), the generally suggested way to work with an arbitrary process technology or tools plugins would be to use three configuration files, matching the three Hammer concerns - tools, tech, and design. +Hammer relies on YAML-based configuration files. While these configuration can be consolidated within a single files (as is the case in the :ref:`tutorial` and the :ref:`sky130-openroad-tutorial`), the generally suggested way to work with an arbitrary process technology or tools plugins would be to use three configuration files, matching the three Hammer concerns - tools, tech, and design. The ``vlsi`` directory includes three such example configuration files matching the three concerns: ``example-tools.yml``, ``example-tech.yml``, and ``example-design.yml``. The ``example-tools.yml`` file configures which EDA tools hammer will use. This example file uses Cadence Innovus, Genus and Voltus, Synopsys VCS, and Mentor Calibre (which are likely the tools you will use if you're working in the Berkeley Wireless Research Center). Note that tool versions are highly sensitive to the process-technology in-use. Hence, tool versions that work with one process technology may not work with another. @@ -52,7 +42,7 @@ The ``example-design.yml`` file contains basic build system information (how man Finally, the ``example-tech.yml`` file is a template file for a process technology plugin configuration. We will copy this file, and replace its fields with the appropriate process technology details for the tech plugin that we have access to. For example, for the ``asap7`` tech plugin, we will replace the field with "asap7" and the path to the process technology files installation directory. The technology plugin (which for ASAP7 is within Hammer) will define the technology node and other parameters. -We recommend copying these example configuration files and customizing them with a different name, so you can have different configuration files for different process technologies and designs (e.g. create tech-tsmintel3.yml from example-tech.yml) +We recommend copying these example configuration files and customizing them with a different name, so you can have different configuration files for different process technologies and designs (e.g. create ``tech-tsmintel3.yml`` from ``example-tech.yml``) Building the Design diff --git a/docs/VLSI/Building-A-Chip.rst b/docs/VLSI/Building-A-Chip.rst index e6d07308..adc79802 100644 --- a/docs/VLSI/Building-A-Chip.rst +++ b/docs/VLSI/Building-A-Chip.rst @@ -49,4 +49,5 @@ Running the VLSI tool flow -------------------------- For the full documentation on how to use the VLSI tool flow, see the `Hammer Documentation `__. -For an example of how to use the VLSI in the context of Chipyard, see :ref:`VLSI/ASAP7-Tutorial:ASAP7 Tutorial`. +For setup and instructions for a VLSI tool flow in the context of Chipyard, see :ref:`hammer_basic_flow`. +For specific examples, see :ref:`tutorial`, :ref:`sky130-commercial-tutorial`, and :ref:`sky130-openroad-tutorial`. diff --git a/docs/VLSI/Hammer.rst b/docs/VLSI/Hammer.rst index 12455a6f..b36f6e06 100644 --- a/docs/VLSI/Hammer.rst +++ b/docs/VLSI/Hammer.rst @@ -6,7 +6,7 @@ Core Hammer `Hammer `__ is a physical design flow which encourages reusability by partitioning physical design specifications into three distinct concerns: design, CAD tool, and process technology. Hammer wraps around vendor specific technologies and tools to provide a single API to address ASIC design concerns. Hammer allows for reusability in ASIC design while still providing the designers leeway to make their own modifications. -For more information, read the `Hammer paper `__ and see the `GitHub repository `__ and associated documentation. +For more information, read the `Hammer paper `__ and see the `GitHub repository `__ and associated documentation. Hammer implements a VLSI flow using the following high-level constructs: @@ -30,7 +30,7 @@ VLSI Flow Control ----------------- Sometimes we want more fine-grained control of the VLSI flow than at the action level. The Hammer flow supports being able to start/stop before/after any of the steps in a particular action. -See the `Hammer documentation on Flow Control `__ for a full list and description of the options. +See the `Hammer documentation on Flow Control `__ for a full list and description of the options. The ``Makefile`` in the ``vlsi`` directory passes this extra information via the ``HAMMER_EXTRA_ARGS`` variable. This variable can also be used to specify additional YAML configurations that may have changed or been omitted from the inital build. @@ -41,7 +41,7 @@ Configuration (Hammer IR) To configure a Hammer flow, supply a set ``yaml`` or ``json`` configuration files that chooses the tool and technology plugins and versions as well as any design specific configuration options. Collectively, this configuration API is referred to as Hammer IR and can be generated from higher-level abstractions. -The current set of all available Hammer APIs is codified `here `__. +The current set of all available Hammer APIs is codified `here `__. Tool Plugins ============ @@ -60,10 +60,9 @@ The types of tools (by Hammer names) supported currently include: Several configuration variables are needed to configure your tool plugin of choice. -First, select which tool to use for each action by setting ``vlsi.core._tool`` to the name of your tool, e.g. ``vlsi.core.par_tool: "innovus"``. +First, select which tool to use for each action by setting ``vlsi.core._tool`` to the package name of your tool, e.g. ``vlsi.core.par_tool: "hammer.par.innovus"``. -Then, point Hammer to the folder that contains your tool plugin by setting ``vlsi.core._tool_path``. -This directory should include a folder with the name of the tool, which itself includes a python file ``__init__.py`` and a yaml file ``defaults.yml``. Customize the version of the tool by setting ``..version`` to a tool specific string. +This package directory should include a folder with the name of the tool, which itself includes a python file ``__init__.py`` and a yaml file ``defaults.yml``. Customize the version of the tool by setting ``..version`` to a tool specific string. The ``__init__.py`` file should contain a variable, ``tool``, that points to the class implementing this tool. This class should be a subclass of ``HammerTool``, which will be a subclass of ``HammerTool``. The class should implement methods for all the tool's steps. @@ -75,10 +74,10 @@ Technology Plugins Hammer supports separately managed technology plugins to satisfy NDAs. You may be able to acquire access to certain pre-built technology plugins with permission from the technology vendor. Or, to build your own tech plugin, you need at least a ``.tech.json`` and ``defaults.yml``. An ``__init__.py`` is optional if there are any technology-specific methods or hooks to run. -The `ASAP7 plugin `__ is a good starting point for setting up a technology plugin because it is an open-source example that is not suitable for taping out a chip. Refer to Hammer's documentation for the schema and detailed setup instructions. +The `ASAP7 plugin `__ is a good starting point for setting up a technology plugin because it is an open-source example that is not suitable for taping out a chip. Refer to Hammer's documentation for the schema and detailed setup instructions. Several configuration variables are needed to configure your technology of choice. -First, choose the technology, e.g. ``vlsi.core.technology: asap7``, then point to the location with the PDK tarball with ``technology..tarball_dir`` or pre-installed directory with ``technology..install_dir`` and (if applicable) the plugin repository with ``vlsi.core.technology_path``. +First, choose the technology package, e.g. ``vlsi.core.technology: hammer.technology.asap7``, then point to the location with the PDK tarball with ``technology..tarball_dir`` or pre-installed directory with ``technology..install_dir``. Technology-specific options such as supplies, MMMC corners, etc. are defined in their respective ``vlsi.inputs...`` configurations. Options for the most common use case are already defined in the technology's ``defaults.yml`` and can be overridden by the user. diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index 927ab690..ba3a04d9 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -45,28 +45,19 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo Prerequisites ------------- -* Python 3.6+ -* numpy package +* Python 3.9+ * Genus, Innovus, Voltus, VCS, and Calibre licenses -* Sky130 PDK, install using `these directions `__ +* Sky130 PDK, install using `these directions `__ Initial Setup ------------- -In the Chipyard root, run: +In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, run: .. code-block:: shell ./scripts/init-vlsi.sh sky130 -to pull the Hammer & plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first. - -Pull the Hammer environment into the shell: - -.. code-block:: shell - - cd vlsi - export HAMMER_HOME=$PWD/hammer - source $HAMMER_HOME/sourceme.sh +to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first. Building the Design -------------------- @@ -103,7 +94,7 @@ example-sky130.yml This contains the Hammer configuration for this example project. Example clock constraints, power straps definitions, placement constraints, and pin constraints are given. Additional configuration for the extra libraries and tools are at the bottom. First, set ``technology.sky130.sky130A/sky130_nda/openram_lib`` to the absolute path of the respective directories containing the Sky130 PDK and SRAM files. See the -`Sky130 Hammer plugin README `__ +`Sky130 Hammer plugin README `__ for details about the PDK setup. example-tools.yml @@ -143,7 +134,7 @@ To run DRC & LVS, and view the results in Calibre: ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs Some DRC errors are expected from this PDK, especially with regards to the SRAMs, as explained in the -`Sky130 Hammer plugin README `__. +`Sky130 Hammer plugin README `__. For this reason, the ``example-vlsi-sky130`` script black-boxes the SRAMs for DRC/LVS analysis. Simulation diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index ac32a7a5..eecdb8bf 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -41,8 +41,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo Prerequisites ------------- -* Python 3.6+ -* numpy package +* Python 3.9+ * OpenROAD flow tools: * Yosys (synthesis), install `from source `__ or `using conda `__ @@ -50,27 +49,19 @@ Prerequisites * Magic (DRC), install `from source `__ * NetGen (LVS), install `from source `__ or `using conda `__ -* Sky130 PDK, install using `these directions `__ +* Sky130 PDK, install using `these directions `__ Initial Setup ------------- -In the Chipyard root, run: +In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, run: .. code-block:: shell ./scripts/init-vlsi.sh sky130 openroad -to pull the Hammer submodule. Note that for technologies other than ``sky130`` or ``asap7``, the tech plugin submodule is cloned into the ``vlsi`` folder, +to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule is cloned in the ``vlsi`` folder, and for the commercial tool flow (set up by omitting the ``openroad`` argument), the tool plugin submodules are cloned into the ``vlsi`` folder. -Pull the Hammer environment into the shell: - -.. code-block:: shell - - cd vlsi - export HAMMER_HOME=$PWD/hammer - source $HAMMER_HOME/sourceme.sh - Building the Design -------------------- To elaborate the ``TinyRocketConfig`` and set up all prerequisites for the build system to push the design and SRAM macros through the flow: @@ -106,7 +97,7 @@ example-sky130.yml This contains the Hammer configuration for this example project. Example clock constraints, power straps definitions, placement constraints, and pin constraints are given. Additional configuration for the extra libraries and tools are at the bottom. First, set ``technology.sky130.`` to the absolute path of the respective directories containing the Sky130 PDK and SRAM files. See the -`Sky130 Hammer plugin README `__ +`Sky130 Hammer plugin README `__ for details about the PDK setup. @@ -163,7 +154,7 @@ To run DRC & LVS: make lvs tutorial=sky130-openroad Some DRC errors are expected from this PDK, especially with regards to the SRAMs, as explained in the -`Sky130 Hammer plugin README `__. +`Sky130 Hammer plugin README `__. VLSI Flow Control @@ -180,11 +171,11 @@ Firt, refer to the :ref:`VLSI/Hammer:VLSI Flow Control` documentation. The below # example of re-running only floorplanning to test out a new floorplan configuration make redo-par HAMMER_EXTRA_ARGS="--only_step floorplan_design -p example-sky130.yml" -See the `OpenROAD tool plugin `__ for the full list of OpenROAD tool steps and their implementations. +See the `OpenROAD tool plugin `__ for the full list of OpenROAD tool steps and their implementations. Documentation ------------- -For more information about Hammer's underlying implementation, visit the `Hammer documentation website `__. +For more information about Hammer's underlying implementation, visit the `Hammer documentation website `__. -For details about the plugins used in this tutorial, check out the `OpenROAD tool plugin repo + README `__ -and `Sky130 tech plugin repo + README `__. +For details about the plugins used in this tutorial, check out the `OpenROAD tool plugin repo + README `__ +and `Sky130 tech plugin repo + README `__. diff --git a/scripts/init-vlsi.sh b/scripts/init-vlsi.sh index c32daf82..6be7f927 100755 --- a/scripts/init-vlsi.sh +++ b/scripts/init-vlsi.sh @@ -4,24 +4,25 @@ set -e set -o pipefail -# Initialize HAMMER and CAD-plugins -git submodule update --init --recursive vlsi/hammer +# exit script if not in Chipyard conda env +if [[ `basename $CONDA_PREFIX` != .conda-env ]]; then + echo 'ERROR: Chipyard conda env not activated. Please source env.sh and run this script again.' + exit +fi + +# Initialize HAMMER CAD-plugins if [[ $1 != *openroad* ]] && [[ $2 != *openroad* ]]; then git submodule update --init --recursive vlsi/hammer-cadence-plugins + pip install -e vlsi/hammer-cadence-plugins git submodule update --init --recursive vlsi/hammer-synopsys-plugins + pip install -e vlsi/hammer-synopsys-plugins git submodule update --init --recursive vlsi/hammer-mentor-plugins + pip install -e vlsi/hammer-mentor-plugins fi # Initialize HAMMER tech plugin # And add tech plugin to conda dependencies if [[ $1 != *asap7* ]] && [[ $1 != *sky130* ]]; then git submodule update --init --recursive vlsi/hammer-$1-plugin - echo ' '- -e ../vlsi/hammer-$1-plugin >> conda-reqs/vlsi.yaml + pip install -e vlsi/hammer-$1-plugin fi - -# Update the conda-env with the plugins -if [[ `basename $CONDA_PREFIX` != .conda-env ]]; then - echo 'Activating Chipyard conda environment...' - source env.sh -fi -conda env update -f conda-reqs/vlsi.yaml From 48539353b03441154d40ecd73e8c2a012f97434a Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Wed, 1 Feb 2023 23:19:43 -0800 Subject: [PATCH 16/90] Makefile fixes, but sim still doesn't work --- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 4 ++ .../init-submodules-no-riscv-tools-nolog.sh | 1 - vlsi/Makefile | 53 ++++++------------- vlsi/example-tools.yml | 7 +-- vlsi/tutorial.mk | 2 +- 5 files changed, 23 insertions(+), 44 deletions(-) diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 6543afc2..87639f87 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -49,6 +49,8 @@ This is done by the following: conda install -n base conda-lock conda activate base +.. Note:: We also recommended switching to `libmamba `__ for much faster dependency solving. + Setting up the Chipyard Repo ------------------------------------------- @@ -101,6 +103,8 @@ This file activates the conda environment created in ``build-setup.sh`` and sets Once the script is run, the ``PATH``, ``RISCV``, and ``LD_LIBRARY_PATH`` environment variables will be set properly for the toolchain requested. You can source this file in your ``.bashrc`` or equivalent environment setup file to get the proper variables, or directly include it in your current environment: +.. Note:: If you are on a Mac or a RHEL/CentOS-based Linux distribution, you must deactivate the base conda environment with ``conda deactivate`` first before proceeding. You may also choose to keep it deactivated by default with ``conda config --set auto_activate_base false``. See this `issue `__ for more details. + .. code-block:: shell source ./env.sh diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh index 19eaeb8c..2635e059 100755 --- a/scripts/init-submodules-no-riscv-tools-nolog.sh +++ b/scripts/init-submodules-no-riscv-tools-nolog.sh @@ -150,6 +150,5 @@ fi cat << EOT >> env.sh # line auto-generated by init-submodules-no-riscv-tools.sh __DIR="$RDIR" -PATH=\$__DIR/bin:\$PATH PATH=\$__DIR/software/firemarshal:\$PATH EOT diff --git a/vlsi/Makefile b/vlsi/Makefile index 3e5637d4..1f7f82bb 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -8,6 +8,7 @@ base_dir=$(abspath ..) vlsi_dir=$(abspath .) sim_dir=$(abspath .) +site_packages_dir=$(shell python3 -c "import site; print(site.getsitepackages()[0])") ######################################################################################### # include shared variables @@ -21,7 +22,7 @@ include $(base_dir)/variables.mk sim_name ?= vcs # needed for GenerateSimFiles, but is unused tech_name ?= asap7 tech_dir ?= $(if $(filter $(tech_name),sky130 asap7 nangate45),\ - $(vlsi_dir)/hammer/hammer/technology/$(tech_name), \ + $(site_packages_dir)/hammer/technology/$(tech_name), \ $(vlsi_dir)/hammer-$(tech_name)-plugin/hammer/technology/$(tech_name)) SMEMS_COMP ?= $(tech_dir)/sram-compiler.json SMEMS_CACHE ?= $(tech_dir)/sram-cache.json @@ -42,7 +43,7 @@ HAMMER_EXEC ?= $(if $(filter $(tech_name),sky130),\ ./example-vlsi-sky130,\ ./example-vlsi) VLSI_TOP ?= $(TOP) -VLSI_HARNESS_DUT_NAME ?= chiptop +VLSI_MODEL_DUT_NAME ?= chiptop # If overriding, this should be relative to $(vlsi_dir) VLSI_OBJ_DIR ?= build ifneq ($(CUSTOM_VLOG),) @@ -54,23 +55,19 @@ endif ######################################################################################### # general rules ######################################################################################### -ALL_RTL = $(TOP_FILE) $(TOP_SMEMS_FILE) -extra_v_includes = $(build_dir)/EICG_wrapper.v +# TODO: get all the top blackboxes only +extra_v_includes = $(build_dir)/EICG_wrapper.v $(build_dir)/gen-collateral/IOCell.v ifneq ($(CUSTOM_VLOG), ) VLSI_RTL = $(CUSTOM_VLOG) - VLSI_BB = /dev/null else - VLSI_RTL = $(ALL_RTL) $(extra_v_includes) - VLSI_BB = $(sim_top_blackboxes) + VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) $(extra_v_includes) endif -.PHONY: default verilog +.PHONY: default default: all all: drc lvs -verilog: $(ALL_RTL) - ######################################################################################### # import other necessary rules and variables ######################################################################################### @@ -104,29 +101,17 @@ $(SRAM_CONF): $(SRAM_GENERATOR_CONF) ######################################################################################### include $(base_dir)/vcs.mk -SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v - -# copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(build_dir) - cp -f $^ $(build_dir) - $(foreach file,\ - $^,\ - $(if $(filter %.h,$(file)),\ - ,\ - echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) - SIM_CONF = $(OBJ_DIR)/sim-inputs.yml SIM_DEBUG_CONF = $(OBJ_DIR)/sim-debug-inputs.yml SIM_TIMING_CONF = $(OBJ_DIR)/sim-timing-inputs.yml include $(vlsi_dir)/sim.mk -$(SIM_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_files) $(dramsim_lib) +$(SIM_CONF): $(sim_common_files) mkdir -p $(dir $@) echo "sim.inputs:" > $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(MODEL_FILE) $(MODEL_SMEMS_FILE); do \ + for x in $(shell cat $(sim_common_files)); do \ echo ' - "'$$x'"' >> $@; \ done echo " input_files_meta: 'append'" >> $@ @@ -161,9 +146,9 @@ $(SIM_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_files) $ ifneq ($(BINARY), ) echo " benchmarks: ['$(BINARY)']" >> $@ endif - echo " tb_dut: 'TestDriver.testHarness.$(VLSI_HARNESS_DUT_NAME)'" >> $@ + echo " tb_dut: 'TestDriver.testHarness.$(VLSI_MODEL_DUT_NAME)'" >> $@ -$(SIM_DEBUG_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_files) +$(SIM_DEBUG_CONF): $(sim_common_files) mkdir -p $(dir $@) mkdir -p $(output_dir) echo "sim.inputs:" > $@ @@ -186,7 +171,7 @@ else echo "sim.outputs.waveforms: ['$(sim_out_name).vpd']" >> $@ endif -$(SIM_TIMING_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_files) +$(SIM_TIMING_CONF): $(sim_common_files) mkdir -p $(dir $@) echo "sim.inputs:" > $@ echo " defines: ['NTC']" >> $@ @@ -195,10 +180,10 @@ $(SIM_TIMING_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_f POWER_CONF = $(OBJ_DIR)/power-inputs.yml include $(vlsi_dir)/power.mk -$(POWER_CONF): $(VLSI_RTL) $(MODEL_FILE) $(MODEL_SMEMS_FILE) $(sim_common_files) +$(POWER_CONF): $(VLSI_RTL) mkdir -p $(dir $@) echo "power.inputs:" > $@ - echo " tb_dut: 'testHarness/$(VLSI_HARNESS_DUT_NAME)'" >> $@ + echo " tb_dut: 'testHarness/$(VLSI_MODEL_DUT_NAME)'" >> $@ echo " database: '$(OBJ_DIR)/par-rundir/$(VLSI_TOP)_FINAL'" >> $@ ifneq ($(BINARY), ) echo " waveforms: [" >> $@ @@ -223,18 +208,12 @@ ifeq ($(CUSTOM_VLOG), ) GENERATED_CONFS += $(SRAM_CONF) endif -$(SYN_CONF): $(VLSI_RTL) $(VLSI_BB) +$(SYN_CONF): $(VLSI_RTL) mkdir -p $(dir $@) - echo "sim.inputs:" > $@ - echo " input_files:" >> $@ - for x in $(VLSI_RTL); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " input_files_meta: 'append'" >> $@ echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(VLSI_RTL) $(shell cat $(VLSI_BB)); do \ + for x in $(VLSI_RTL); do \ echo ' - "'$$x'"' >> $@; \ done diff --git a/vlsi/example-tools.yml b/vlsi/example-tools.yml index c174ef53..23744eaa 100644 --- a/vlsi/example-tools.yml +++ b/vlsi/example-tools.yml @@ -1,7 +1,5 @@ -# SRAM Compiler compiler options -vlsi.core.sram_generator_tool: "hammer.technology..sram_compiler" - # Tool options. Replace with your tool plugin of choice. +vlsi.core.build_system: make # Genus options vlsi.core.synthesis_tool: "hammer.synthesis.genus" synthesis.genus.version: "211" @@ -17,9 +15,8 @@ vlsi.core.lvs_tool: "hammer.lvs.calibre" lvs.calibre.version: "2022.2_24.16" # VCS options vlsi.core.sim_tool: "hammer.sim.vcs" -sim.vcs.version: "T-2022.06-SP2" +sim.vcs.version: "S-2021.09-SP1-1" # Voltus options vlsi.core.power_tool: "hammer.power.voltus" -vlsi.core.power_tool_path_meta: "append" power.voltus.version: "211_ISR3" # NOTE (about VCS+Voltus versions): if using FSDB, the VCS version should be approx 2 years older than the Voltus version for compatibility diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 222d6e18..a743184d 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -17,7 +17,7 @@ ifeq ($(tutorial),sky130-commercial) tech_name ?= sky130 CONFIG ?= TinyRocketConfig TOOLS_CONF ?= example-tools.yml - TECH_CONF ?= hammer/e2e/pdks/sky130-bwrc.yml + TECH_CONF ?= example-sky130.yml DESIGN_CONF ?= example-designs/sky130-commercial.yml EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) From a9f9f320783f84e845b476eb4bdc8c9adcf52a5a Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 2 Feb 2023 14:01:32 -0800 Subject: [PATCH 17/90] restore sim_files recipe --- vlsi/Makefile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index 1f7f82bb..9eb726c9 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -101,6 +101,18 @@ $(SRAM_CONF): $(SRAM_GENERATOR_CONF) ######################################################################################### include $(base_dir)/vcs.mk +SIM_FILE_REQS += \ + $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v + +# copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) +$(sim_files): $(SIM_FILE_REQS) | $(build_dir) + cp -f $^ $(build_dir) + $(foreach file,\ + $^,\ + $(if $(filter %.h,$(file)),\ + ,\ + echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) + SIM_CONF = $(OBJ_DIR)/sim-inputs.yml SIM_DEBUG_CONF = $(OBJ_DIR)/sim-debug-inputs.yml SIM_TIMING_CONF = $(OBJ_DIR)/sim-timing-inputs.yml @@ -117,7 +129,7 @@ $(SIM_CONF): $(sim_common_files) echo " input_files_meta: 'append'" >> $@ echo " timescale: '1ns/10ps'" >> $@ echo " options:" >> $@ - for x in $(VCS_NONCC_OPTS); do \ + for x in $(filter-out -f $(sim_common_files),$(VCS_NONCC_OPTS)); do \ echo ' - "'$$x'"' >> $@; \ done echo " options_meta: 'append'" >> $@ From 22834faa1f6fc66e0e961677c6b5f47494d7f9cb Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 2 Feb 2023 18:24:28 -0800 Subject: [PATCH 18/90] top blackbox isolation hack, bump submodules --- common.mk | 2 +- vlsi/Makefile | 14 ++++++++------ vlsi/example-openroad.yml | 1 + vlsi/hammer-cadence-plugins | 2 +- vlsi/hammer-synopsys-plugins | 2 +- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/common.mk b/common.mk index 17f7a8e0..c15380f8 100644 --- a/common.mk +++ b/common.mk @@ -192,7 +192,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowPackedArrays,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ diff --git a/vlsi/Makefile b/vlsi/Makefile index 9eb726c9..e2ccda72 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -23,7 +23,7 @@ sim_name ?= vcs # needed for GenerateSimFiles, but is unused tech_name ?= asap7 tech_dir ?= $(if $(filter $(tech_name),sky130 asap7 nangate45),\ $(site_packages_dir)/hammer/technology/$(tech_name), \ - $(vlsi_dir)/hammer-$(tech_name)-plugin/hammer/technology/$(tech_name)) + $(vlsi_dir)/hammer-$(tech_name)-plugin/hammer/$(tech_name)) SMEMS_COMP ?= $(tech_dir)/sram-compiler.json SMEMS_CACHE ?= $(tech_dir)/sram-cache.json SMEMS_HAMMER ?= $(build_dir)/$(long_name).mems.hammer.json @@ -55,12 +55,13 @@ endif ######################################################################################### # general rules ######################################################################################### -# TODO: get all the top blackboxes only -extra_v_includes = $(build_dir)/EICG_wrapper.v $(build_dir)/gen-collateral/IOCell.v ifneq ($(CUSTOM_VLOG), ) VLSI_RTL = $(CUSTOM_VLOG) + VLSI_BB = else - VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) $(extra_v_includes) + VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) + # TODO: have MFC split top & harness blackboxes + VLSI_BB = $(build_dir)/EICG_wrapper.v $(shell rev $(BB_MODS_FILELIST) | sed -E 's/cc(.*)/c\1/g' | uniq -s 1 | sed '/c\./d' | rev) endif .PHONY: default @@ -122,6 +123,7 @@ $(SIM_CONF): $(sim_common_files) mkdir -p $(dir $@) echo "sim.inputs:" > $@ echo " top_module: $(VLSI_TOP)" >> $@ + echo " tb_name: ''" >> $@ # don't specify -top echo " input_files:" >> $@ for x in $(shell cat $(sim_common_files)); do \ echo ' - "'$$x'"' >> $@; \ @@ -220,12 +222,12 @@ ifeq ($(CUSTOM_VLOG), ) GENERATED_CONFS += $(SRAM_CONF) endif -$(SYN_CONF): $(VLSI_RTL) +$(SYN_CONF): $(VLSI_RTL) $(VLSI_BB) mkdir -p $(dir $@) echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(VLSI_RTL); do \ + for x in $(VLSI_RTL) $(VLSI_BB); do \ echo ' - "'$$x'"' >> $@; \ done diff --git a/vlsi/example-openroad.yml b/vlsi/example-openroad.yml index 6d9a264a..28889799 100644 --- a/vlsi/example-openroad.yml +++ b/vlsi/example-openroad.yml @@ -1,4 +1,5 @@ # Tool options. Replace with your tool plugin of choice. +vlsi.core.build_system: make # Yosys vlsi.core.synthesis_tool: "hammer.synthesis.yosys" # OpenROAD diff --git a/vlsi/hammer-cadence-plugins b/vlsi/hammer-cadence-plugins index a33e4716..f9e323bd 160000 --- a/vlsi/hammer-cadence-plugins +++ b/vlsi/hammer-cadence-plugins @@ -1 +1 @@ -Subproject commit a33e4716f03f3a73864db8a7b33cfce08c6e2c45 +Subproject commit f9e323bd64b8cc79ab810b9761226e9de768f237 diff --git a/vlsi/hammer-synopsys-plugins b/vlsi/hammer-synopsys-plugins index be908812..e080a480 160000 --- a/vlsi/hammer-synopsys-plugins +++ b/vlsi/hammer-synopsys-plugins @@ -1 +1 @@ -Subproject commit be9088128dcf49dfb54aa93b605973e74a38d854 +Subproject commit e080a480009c715a69b4b2ce016af2c50b8bd453 From c9cf69d1c0e15e39761fa72a4e5d751dcb7b6bb1 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 2 Feb 2023 18:40:09 -0800 Subject: [PATCH 19/90] extra tabs in Makefile --- vlsi/Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index e2ccda72..452c64ef 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -103,16 +103,16 @@ $(SRAM_CONF): $(SRAM_GENERATOR_CONF) include $(base_dir)/vcs.mk SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v + $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) $(sim_files): $(SIM_FILE_REQS) | $(build_dir) cp -f $^ $(build_dir) - $(foreach file,\ - $^,\ - $(if $(filter %.h,$(file)),\ - ,\ - echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) + $(foreach file,\ + $^,\ + $(if $(filter %.h,$(file)),\ + ,\ + echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) SIM_CONF = $(OBJ_DIR)/sim-inputs.yml SIM_DEBUG_CONF = $(OBJ_DIR)/sim-debug-inputs.yml From 9e8812d7fb78cf04796f4fa6cd63e56959232f13 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Thu, 2 Feb 2023 22:16:28 -0800 Subject: [PATCH 20/90] Add python file to split top.bb.f & model.bb.f --- common.mk | 11 +++- scripts/split-bb-files.py | 132 ++++++++++++++++++++++++++++++++++++++ variables.mk | 2 + vlsi/Makefile | 2 +- 4 files changed, 145 insertions(+), 2 deletions(-) create mode 100755 scripts/split-bb-files.py diff --git a/common.mk b/common.mk index c15380f8..1a8f9b83 100644 --- a/common.mk +++ b/common.mk @@ -218,6 +218,15 @@ $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(ALL_MODS_FILELIST) $(BB_MODS_FILEL $(SED) -i 's/\.\///' $(BB_MODS_FILELIST) sort -u $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(BB_MODS_FILELIST) > $(ALL_MODS_FILELIST) +$(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) &: $(BB_MODS_FILELIST) $(MFC_MODEL_HRCHY_JSON) $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) + $(base_dir)/scripts/split-bb-files.py \ + --in-top-f $(TOP_MODS_FILELIST) \ + --in-model-f $(MODEL_MODS_FILELIST) \ + --in-top-hrchy-json $(MFC_MODEL_HRCHY_JSON) \ + --in-bb-f $(BB_MODS_FILELIST) \ + --out-top-bb-f $(TOP_BB_MODS_FILELIST) \ + --out-model-bb-f $(MODEL_BB_MODS_FILELIST) + $(TOP_SMEMS_CONF) $(MODEL_SMEMS_CONF) &: $(MFC_SMEMS_CONF) $(MFC_MODEL_HRCHY_JSON) $(base_dir)/scripts/split-mems-conf.py \ --in-smems-conf $(MFC_SMEMS_CONF) \ @@ -239,7 +248,7 @@ $(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(MODEL_SMEMS_CONF) | $(TOP_SMEMS_FILE ######################################################################################## # remove duplicate files and headers in list of simulation file inputs ######################################################################################## -$(sim_common_files): $(sim_files) $(ALL_MODS_FILELIST) $(TOP_SMEMS_FILE) $(MODEL_SMEMS_FILE) +$(sim_common_files): $(sim_files) $(ALL_MODS_FILELIST) $(TOP_SMEMS_FILE) $(MODEL_SMEMS_FILE) $(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) sort -u $(sim_files) $(ALL_MODS_FILELIST) | grep -v '.*\.\(svh\|h\)$$' > $@ echo "$(TOP_SMEMS_FILE)" >> $@ echo "$(MODEL_SMEMS_FILE)" >> $@ diff --git a/scripts/split-bb-files.py b/scripts/split-bb-files.py new file mode 100755 index 00000000..257001c7 --- /dev/null +++ b/scripts/split-bb-files.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 + +import os +import json +import argparse +import sys +from pathlib import Path +from typing import List, Optional + +# Schema of *.f emitted by circt +""" +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/SimUART.cc +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_1.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_1.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_2.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_2.sv +/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv +""" + +def bfs_collect_submodules(tree): + output = set() + q = [(tree['instance_name'], tree['module_name'], tree['instances'])] + + while len(q) != 0: + front = q[0] + q.pop(0) + + (inst, mod, child) = front + output.add(mod) + for c in child: + q.append((c['instance_name'], c['module_name'], c['instances'])) + return output + +def get_modules(f): + lines = f.readlines() + module_list = list() + for line in lines: + try: + module_list.append(os.path.basename(line)) + except: + print("Excepted a linux path, got something else") + return module_list + +def get_inner_modules(f): + lines = f.readlines() + inner_module_list = list() + for line in lines: + words = line.split() + if len(words) >= 2 and "module" == words[0]: + inner_module_list.append(words[1].replace("(", "")) + return inner_module_list + +def write_lines_to_file(lines, file_path): + with open(file_path, "w") as fp: + for line in lines: + fp.write("%s" % line) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Use *.model.f and *.top.f to restore the MODEL/TOP blackbox separation') + parser.add_argument('--in-top-f', type=str, required=True, help='List of generated files specific for TOP(DUT)') + parser.add_argument('--in-model-f', type=str, required=True, help='List of generated files specific for MODEL') + parser.add_argument('--in-bb-f', type=str, required=True, help='List of generated files specific for MODEL') + parser.add_argument('--in-top-hrchy-json', type=str, required=True, help='List containing hierarchy of top modules (top-module-hierarchy.json)') + parser.add_argument('--out-top-bb-f', type=str, required=True, help='List of blackbox modules for TOP') + parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox modules for MODEL') + args = parser.parse_args() + + itf = open(args.in_top_f) + top_modules = set(get_modules(itf)) + itf.close() + + imf = open(args.in_model_f) + model_modules = set(get_modules(imf)) + imf.close() + + ihj = open(args.in_top_hrchy_json) + ihj_data = json.load(ihj) + top_inner_modules = bfs_collect_submodules(ihj_data) + ihj.close() + + ibf = open(args.in_bb_f) + lines = ibf.readlines() + + """ + " model top + " o o -> model + " x o -> top + " x x -> model + " - check inner module + " - currently, there is no way of knowing if certain inner modules(actual verilog + " modules inside the files are all included in TOP or MODEL) + " - for now, assume that if a innter module is included in TOP, the file itself + " is also for TOP + """ + tbf = list() + mbf = list() + unknown = list() + for line in lines: + module = os.path.basename(line) + extension = os.path.splitext(module)[1] + if module in model_modules: + mbf.append(line) + elif module in top_modules: + tbf.append(line) + elif ".v" not in extension and ".sv" not in extension: + mbf.append(line) + else: + unknown.append(line) + + + for line in unknown: + f = open(Path(line.replace("\n", ""))) + inner_modules = get_inner_modules(f) + f.close() + + inner_module_in_top = False + for im in inner_modules: + if im in top_inner_modules: + inner_module_in_top = True + break + if inner_module_in_top: + tbf.append(line) + else: + mbf.append(line) + + write_lines_to_file(tbf, args.out_top_bb_f) + write_lines_to_file(mbf, args.out_model_bb_f) + + ibf.close() diff --git a/variables.mk b/variables.mk index fab54a6a..c0655fab 100644 --- a/variables.mk +++ b/variables.mk @@ -182,6 +182,8 @@ MODEL_MODS_FILELIST ?= $(build_dir)/$(long_name).model.f # list of all blackbox files (may be included in the top/model.f files) # this has the build_dir appended BB_MODS_FILELIST ?= $(build_dir)/$(long_name).bb.f +TOP_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).top.bb.f +MODEL_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).model.bb.f # all module files to include (top, model, bb included) ALL_MODS_FILELIST ?= $(build_dir)/$(long_name).all.f diff --git a/vlsi/Makefile b/vlsi/Makefile index 452c64ef..3cd4577d 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -61,7 +61,7 @@ ifneq ($(CUSTOM_VLOG), ) else VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) # TODO: have MFC split top & harness blackboxes - VLSI_BB = $(build_dir)/EICG_wrapper.v $(shell rev $(BB_MODS_FILELIST) | sed -E 's/cc(.*)/c\1/g' | uniq -s 1 | sed '/c\./d' | rev) + VLSI_BB = $(build_dir)/EICG_wrapper.v $(TOP_BB_MODS_FILELIST) endif .PHONY: default From 736dd2ee1196acef92a4d2d6a23bb817e5c12fe7 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Thu, 2 Feb 2023 22:20:25 -0800 Subject: [PATCH 21/90] type-o --- scripts/split-bb-files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/split-bb-files.py b/scripts/split-bb-files.py index 257001c7..62768a6d 100755 --- a/scripts/split-bb-files.py +++ b/scripts/split-bb-files.py @@ -91,8 +91,8 @@ if __name__ == "__main__": " x x -> model " - check inner module " - currently, there is no way of knowing if certain inner modules(actual verilog - " modules inside the files are all included in TOP or MODEL) - " - for now, assume that if a innter module is included in TOP, the file itself + " modules inside the files) are all included in TOP or MODEL + " - for now, assume that if a inner module is included in TOP, the file itself " is also for TOP """ tbf = list() From b02c44a0f35947387e9953958f49de68ff791981 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Fri, 3 Feb 2023 12:17:36 -0800 Subject: [PATCH 22/90] Remove SRAM annotations when ENABLE_CUSTOM_FIRRTL_PASS is set --- common.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common.mk b/common.mk index 1a8f9b83..5b4fa5c4 100644 --- a/common.mk +++ b/common.mk @@ -181,7 +181,8 @@ endif $(EXTRA_FIRRTL_OPTIONS)) -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi - @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json > $(SFC_ANNO_FILE) && rm /tmp/unnec-anno-deleted.sfc.anno.json; fi + @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi + @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted2.sfc.anno.json > $(SFC_ANNO_FILE) && rm /tmp/unnec-anno-deleted.sfc.anno.json && rm /tmp/unnec-anno-deleted2.sfc.anno.json; fi firtool \ --format=fir \ --dedup \ @@ -192,7 +193,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowPackedArrays,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,exprInEventControl,disallowPackedArrays,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ From a6342ced21030552aecbe5ad7abcd71232fc80fc Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 2 Feb 2023 22:23:08 -0800 Subject: [PATCH 23/90] [skip ci] update some docs, merge VLSI_RTL and VLSI_BB into one --- docs/VLSI/ASAP7-Tutorial.rst | 8 ++++---- docs/VLSI/Sky130-Commercial-Tutorial.rst | 8 ++++---- docs/VLSI/Sky130-OpenROAD-Tutorial.rst | 10 +++++++--- fpga/fpga-shells | 2 +- generators/boom | 2 +- generators/constellation | 2 +- generators/cva6 | 2 +- generators/fft-generator | 2 +- generators/gemmini | 2 +- generators/hwacha | 2 +- generators/ibex | 2 +- generators/icenet | 2 +- generators/riscv-sodor | 2 +- generators/rocket-chip | 2 +- generators/sha3 | 2 +- generators/sifive-blocks | 2 +- generators/sifive-cache | 2 +- generators/testchipip | 2 +- sims/firesim | 2 +- toolchains/riscv-tools/riscv-tests | 2 +- tools/barstools | 2 +- tools/dsptools | 2 +- tools/rocket-dsp-utils | 2 +- vlsi/Makefile | 15 +++++++++------ 24 files changed, 44 insertions(+), 37 deletions(-) diff --git a/docs/VLSI/ASAP7-Tutorial.rst b/docs/VLSI/ASAP7-Tutorial.rst index 31856c59..ddeda299 100644 --- a/docs/VLSI/ASAP7-Tutorial.rst +++ b/docs/VLSI/ASAP7-Tutorial.rst @@ -20,7 +20,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``env.yml`` - * A template file for tool environment configuration. Fill in the install and license server paths for your environment. + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. * ``example-vlsi`` @@ -28,7 +28,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``example-asap7.yml``, ``example-tools.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-sky130.yml``, ``example-tech.yml`` @@ -38,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer--plugins``, ``hammer--plugin`` +* ``hammer--plugins`` - * Core, tool, tech repositories. + * Tool plugin repositories. * ``view_gds.py`` diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index ba3a04d9..8cbdd629 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -20,7 +20,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``env.yml`` - * A template file for tool environment configuration. Fill in the install and license server paths for your environment. + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. * ``example-vlsi-sky130`` @@ -28,7 +28,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``example-sky130.yml``, ``example-tools.yml``, ``example-designs/sky130-commercial.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` @@ -38,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer--plugins``, ``hammer--plugin`` +* ``hammer--plugins`` - * Core, tool, tech repositories. + * Tool plugin repositories. Prerequisites ------------- diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index eecdb8bf..4d2faee6 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -18,13 +18,17 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * Hammer output directory. Can be changed with the ``OBJ_DIR`` variable. * Will contain subdirectories such as ``syn-rundir`` and ``par-rundir`` and the ``inputs.yml`` denoting the top module and input Verilog files. +* ``env.yml`` + + * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. + * ``example-vlsi-sky130`` * Entry point to Hammer. Contains example placeholders for hooks. * ``example-sky130.yml``, ``example-openroad.yml``, ``example-designs/sky130-openroad.yml`` - * Hammer IR for this tutorial. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. * ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` @@ -34,9 +38,9 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * All of the elaborated Chisel and FIRRTL. -* ``hammer``, ``hammer/src/hammer-vlsi//``, ``hammer/src/hammer-vlsi/technology/`` +* ``hammer--plugins`` - * Core repository, and open-source tool and technology plugins. + * Tool plugin repositories not used for this tutorial (they are provided in the hammer-vlsi package). Prerequisites ------------- diff --git a/fpga/fpga-shells b/fpga/fpga-shells index 474ad191..f1187f21 160000 --- a/fpga/fpga-shells +++ b/fpga/fpga-shells @@ -1 +1 @@ -Subproject commit 474ad19113b89ed5679695b269acdb011b9b871a +Subproject commit f1187f21a0e0a36366e43994f936d04329bfc630 diff --git a/generators/boom b/generators/boom index 98487c68..9e426908 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 98487c68cc4229cd991eac6a4f94d2fe8e5fdc1d +Subproject commit 9e4269088ed7f83ad57b75d62082170c2c502952 diff --git a/generators/constellation b/generators/constellation index 55b1899a..b93fde3e 160000 --- a/generators/constellation +++ b/generators/constellation @@ -1 +1 @@ -Subproject commit 55b1899a3bc997734dbd589b46fcf14246d5361b +Subproject commit b93fde3e2824f728c404e08984046d41679ec31f diff --git a/generators/cva6 b/generators/cva6 index 737fd83b..31fd9cdf 160000 --- a/generators/cva6 +++ b/generators/cva6 @@ -1 +1 @@ -Subproject commit 737fd83b820aea6d615f372a97766b1d390a18d5 +Subproject commit 31fd9cdf801b407acee3989622902db59e474f90 diff --git a/generators/fft-generator b/generators/fft-generator index a31bd038..40357f00 160000 --- a/generators/fft-generator +++ b/generators/fft-generator @@ -1 +1 @@ -Subproject commit a31bd038ddf3c941634cb830608edb0bdd6442db +Subproject commit 40357f00a8f091e97be9dbf39256e511dac6c494 diff --git a/generators/gemmini b/generators/gemmini index 74251dc6..6f57972d 160000 --- a/generators/gemmini +++ b/generators/gemmini @@ -1 +1 @@ -Subproject commit 74251dc61f971fd684bc37963f7db9d8a5bd206a +Subproject commit 6f57972db9b0815462cc0569f922792f83e35c5d diff --git a/generators/hwacha b/generators/hwacha index e1be8e2a..b0795a3a 160000 --- a/generators/hwacha +++ b/generators/hwacha @@ -1 +1 @@ -Subproject commit e1be8e2a41c6bc2239aed4e23355cf34a224f380 +Subproject commit b0795a3aafd3b22b00061c1c3e2e710d73b4f112 diff --git a/generators/ibex b/generators/ibex index 5a512227..a5214d0a 160000 --- a/generators/ibex +++ b/generators/ibex @@ -1 +1 @@ -Subproject commit 5a512227d8f6d2929cc354c02d40200002e661e5 +Subproject commit a5214d0a0a6351dc2e03930750f831b0f28df8bf diff --git a/generators/icenet b/generators/icenet index fb23840e..e14c1e8c 160000 --- a/generators/icenet +++ b/generators/icenet @@ -1 +1 @@ -Subproject commit fb23840eab7a33249eaa23cad7bed4137055e8dd +Subproject commit e14c1e8c54851d3fa7bc55fbbc6fc48873a3b2a9 diff --git a/generators/riscv-sodor b/generators/riscv-sodor index 9265d02d..510dea74 160000 --- a/generators/riscv-sodor +++ b/generators/riscv-sodor @@ -1 +1 @@ -Subproject commit 9265d02d3c32d56065427ec76c41b3c5a37f78dd +Subproject commit 510dea7407d8bca5eef18175530ffffa8e0774ce diff --git a/generators/rocket-chip b/generators/rocket-chip index 3b5fb3c0..44b0b824 160000 --- a/generators/rocket-chip +++ b/generators/rocket-chip @@ -1 +1 @@ -Subproject commit 3b5fb3c043ccc2cea81ed7a44b295f4652d0ba02 +Subproject commit 44b0b8249279d25bd75ea693b725d9ff1b96e2ab diff --git a/generators/sha3 b/generators/sha3 index 98089ba3..88ada85a 160000 --- a/generators/sha3 +++ b/generators/sha3 @@ -1 +1 @@ -Subproject commit 98089ba372a847d62024d36db62429a8bcdfd7ea +Subproject commit 88ada85a84253434ea5cef729d90cd74796aa442 diff --git a/generators/sifive-blocks b/generators/sifive-blocks index 4273925f..e8adf0e3 160000 --- a/generators/sifive-blocks +++ b/generators/sifive-blocks @@ -1 +1 @@ -Subproject commit 4273925fdd5d8872d6b6a8dec6cee3330b9a68c7 +Subproject commit e8adf0e3ef94f76f73001fbeda767d6899c60eb3 diff --git a/generators/sifive-cache b/generators/sifive-cache index 850e1215..2e47c707 160000 --- a/generators/sifive-cache +++ b/generators/sifive-cache @@ -1 +1 @@ -Subproject commit 850e12154c1de6baee9e40094d115e9b85d799b1 +Subproject commit 2e47c707e04dbbbdbf81561a979c055f87ac8df2 diff --git a/generators/testchipip b/generators/testchipip index 2906d503..70cdc3f0 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 2906d503cf6df42e5b6da576ff9e67d0c65368bc +Subproject commit 70cdc3f0206453aa9cbb76ba9619b87d7e10266a diff --git a/sims/firesim b/sims/firesim index 9d3462ed..8176b657 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit 9d3462ed1357cc198be8485ae57635b9651999d5 +Subproject commit 8176b657ee779ac4901b6b03aea0ac23a0b8874d diff --git a/toolchains/riscv-tools/riscv-tests b/toolchains/riscv-tools/riscv-tests index a6ab6ae6..c84daca8 160000 --- a/toolchains/riscv-tools/riscv-tests +++ b/toolchains/riscv-tools/riscv-tests @@ -1 +1 @@ -Subproject commit a6ab6ae6008ffc2ea907ea9f6d2b8379583e7d56 +Subproject commit c84daca8824635b7d896003c78f9c6245997cf7a diff --git a/tools/barstools b/tools/barstools index b71c31e6..df3232f7 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit b71c31e66e4ea3575df23e7f851d79744ab5331e +Subproject commit df3232f7d967d22570dd3c90706ce9422c25df07 diff --git a/tools/dsptools b/tools/dsptools index 5b1e7335..a1809fba 160000 --- a/tools/dsptools +++ b/tools/dsptools @@ -1 +1 @@ -Subproject commit 5b1e733596a39f6960bf9a7c1897d82912372766 +Subproject commit a1809fbae9e49de7213116bbec79252645292e39 diff --git a/tools/rocket-dsp-utils b/tools/rocket-dsp-utils index 46d6ed77..4448e061 160000 --- a/tools/rocket-dsp-utils +++ b/tools/rocket-dsp-utils @@ -1 +1 @@ -Subproject commit 46d6ed77981ef18789636426cc23f0bd7edc64d9 +Subproject commit 4448e06138a1d9281621f349c306c8a066589e67 diff --git a/vlsi/Makefile b/vlsi/Makefile index 3cd4577d..bbb95902 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -57,11 +57,14 @@ endif ######################################################################################### ifneq ($(CUSTOM_VLOG), ) VLSI_RTL = $(CUSTOM_VLOG) - VLSI_BB = else - VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST)) $(TOP_SMEMS_FILE) - # TODO: have MFC split top & harness blackboxes - VLSI_BB = $(build_dir)/EICG_wrapper.v $(TOP_BB_MODS_FILELIST) + # This one-liner does a few things. Line-by-line: + # 1. concatenates the .top.f and .bb.f files and uniquifies them + # 2. removes all harness blackboxes with DPI calls (SimJTAG, etc.) + # 3. append EICG_wrapper.v and the compiled memories + VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST) $(BB_MODS_FILELIST) | sort | uniq | \ + rev | sed -E 's/cc(.*)/c\1/g' | uniq -s 1 | sed '/c\./d' | rev) \ + $(build_dir)/EICG_wrapper.v $(TOP_SMEMS_FILE) endif .PHONY: default @@ -222,12 +225,12 @@ ifeq ($(CUSTOM_VLOG), ) GENERATED_CONFS += $(SRAM_CONF) endif -$(SYN_CONF): $(VLSI_RTL) $(VLSI_BB) +$(SYN_CONF): $(VLSI_RTL) mkdir -p $(dir $@) echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(VLSI_RTL) $(VLSI_BB); do \ + for x in $(VLSI_RTL); do \ echo ' - "'$$x'"' >> $@; \ done From 223995fb4eb65e785c9a5384b26ae49641887180 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 2 Feb 2023 22:33:49 -0800 Subject: [PATCH 24/90] [skip ci] Makefile typo --- vlsi/Makefile | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index bbb95902..ebd93915 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -58,13 +58,8 @@ endif ifneq ($(CUSTOM_VLOG), ) VLSI_RTL = $(CUSTOM_VLOG) else - # This one-liner does a few things. Line-by-line: - # 1. concatenates the .top.f and .bb.f files and uniquifies them - # 2. removes all harness blackboxes with DPI calls (SimJTAG, etc.) - # 3. append EICG_wrapper.v and the compiled memories - VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST) $(BB_MODS_FILELIST) | sort | uniq | \ - rev | sed -E 's/cc(.*)/c\1/g' | uniq -s 1 | sed '/c\./d' | rev) \ - $(build_dir)/EICG_wrapper.v $(TOP_SMEMS_FILE) + VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST)) \ + $(TOP_SMEMS_FILE) $(build_dir)/EICG_wrapper.v endif .PHONY: default @@ -106,7 +101,7 @@ $(SRAM_CONF): $(SRAM_GENERATOR_CONF) include $(base_dir)/vcs.mk SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v + $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) $(sim_files): $(SIM_FILE_REQS) | $(build_dir) From 2680f552cfdd3dbb176d570228c2342f3816720e Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 3 Feb 2023 18:00:29 -0800 Subject: [PATCH 25/90] [skip ci] trying ENABLE_CUSTOM_FIRRTL_PASS=1 for Yosys, clarify init script for private tech plugins --- common.mk | 2 +- docs/VLSI/Advanced-Usage.rst | 12 ++++++++++++ docs/VLSI/Basic-Flow.rst | 12 +++++++----- docs/VLSI/Sky130-OpenROAD-Tutorial.rst | 1 + vlsi/Makefile | 23 ++++++++++++++++++----- vlsi/tutorial.mk | 2 ++ 6 files changed, 41 insertions(+), 11 deletions(-) diff --git a/common.mk b/common.mk index 5b4fa5c4..5d3ab805 100644 --- a/common.mk +++ b/common.mk @@ -193,7 +193,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,exprInEventControl,disallowPackedArrays,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ diff --git a/docs/VLSI/Advanced-Usage.rst b/docs/VLSI/Advanced-Usage.rst index 602065cd..ce86391e 100644 --- a/docs/VLSI/Advanced-Usage.rst +++ b/docs/VLSI/Advanced-Usage.rst @@ -3,6 +3,18 @@ Advanced Usage ============== +Hammer Development +------------------ +If you need to develop Hammer within Chipyard, you will not use the ``hammer-vlsi`` package as installed by conda. + +First, clone the `Hammer repository `__ somewhere else on your disk. Then: + +.. code-block:: shell + + pip install -e + +Finally, you will need to override the ``site_packages_dir`` variable in ``vlsi/Makefile`` to point to the abspath of your Hammer repository. + Alternative RTL Flows --------------------- The Make-based build system provided supports using Hammer without using RTL generated by Chipyard. To push a custom Verilog module through, one only needs to append the following environment variables to the ``make buildfile`` command (or edit them directly in the Makefile). diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 135baff4..93783c3f 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -7,22 +7,24 @@ Using Hammer To Place and Route a Custom Block Initialize the Hammer Plug-ins ---------------------------------- -In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, run: +In the Chipyard root, ensure that you have the Chipyard conda environment activated. Then, depending on if you are using a technology plugin included with Hammer (ASAP7, Sky130) or as a separate plugin, you will run either of the commands below. + +For Hammer-provided plugins (```` is ``asap7`` or ``sky130``): .. code-block:: shell ./scripts/init-vlsi.sh -This will pull the Hammer & CAD tool plugin submodules, assuming the technology plugins are available on github. -Currently only the asap7 and sky130 technology plugins are available on github. -If you have additional private technology plugins (this is a typical use-case for proprietry process technologies with require NDAs and secure servers), you can submodule them directly -into VLSI directory with the name ``hammer--plugin``. +For separate technology plugins (this is a typical use-case for proprietry process technologies with require NDAs and secure servers), submodule them directly +into VLSI directory with the name ``hammer--plugin`` before calling the ``init-vlsi.sh`` script. For example, for an imaginary process technology called tsmintel3: .. code-block:: shell cd vlsi git submodule add git@my-secure-server.berkeley.edu:tsmintel3/hammer-tsmintel3-plugin.git + cd - + ./scripts/init-vlsi.sh tsmintel3 .. Note:: Some VLSI EDA tools are supported only on RHEL-based operating systems. We recommend using Chipyard on RHEL7 and above. However, many VLSI server still have old operating systems such as RHEL6, which have software packages older than the basic chipyard requirements. In order to build Chipyard on RHEL6, you will likely need to use tool packages such as devtoolset (for example, devtoolset-8) and/or build from source gcc, git, gmake, make, dtc, cc, bison, libexpat and liby. diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index 4d2faee6..4518e853 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -87,6 +87,7 @@ which will cause additional variables to be set in ``tutorial.mk``, a few of whi * ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml`` * ``VLSI_OBJ_DIR=build-sky130-openroad`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity. * ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs. +* ``ENABLE_CUSTOM_FIRRTL_PASS = 1`` is required for synthesis through Yosys. This reverts to the Scala FIRRTL Compiler so that unsupported multidimensional arrays are not generated in the Verilog. Running the VLSI Flow --------------------- diff --git a/vlsi/Makefile b/vlsi/Makefile index ebd93915..217f50e1 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -8,7 +8,7 @@ base_dir=$(abspath ..) vlsi_dir=$(abspath .) sim_dir=$(abspath .) -site_packages_dir=$(shell python3 -c "import site; print(site.getsitepackages()[0])") +site_packages_dir?=$(shell python3 -c "import site; print(site.getsitepackages()[0])") ######################################################################################### # include shared variables @@ -55,11 +55,24 @@ endif ######################################################################################### # general rules ######################################################################################### +VLSI_RTL = $(build_dir)/syn.f + +.PHONY: custom_vlog gen_vlog + +custom_vlog: $(CUSTOM_VLOG) + echo "" > $(VLSI_RTL) + $(foreach file,$^,echo $file >> $(VLSI_RTL)) + +gen_vlog: $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) $(TOP_SMEMS_FILE) + cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) > $(VLSI_RTL) + echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) + echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) + + ifneq ($(CUSTOM_VLOG), ) - VLSI_RTL = $(CUSTOM_VLOG) +$(VLSI_RTL): custom_vlog else - VLSI_RTL = $(shell cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST)) \ - $(TOP_SMEMS_FILE) $(build_dir)/EICG_wrapper.v +$(VLSI_RTL): gen_vlog endif .PHONY: default @@ -225,7 +238,7 @@ $(SYN_CONF): $(VLSI_RTL) echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(VLSI_RTL); do \ + for x in $(shell cat $(VLSI_RTL)); do \ echo ' - "'$$x'"' >> $@; \ done diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index a743184d..6ce000a2 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -33,4 +33,6 @@ ifeq ($(tutorial),sky130-openroad) EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) VLSI_OBJ_DIR ?= build-sky130-openroad + # This prevents multidimensional arrays (unsupported by Yosys) at the expense of elaboration time. + ENABLE_CUSTOM_FIRRTL_PASS = 1 endif From f51457cf398aada7f77154fc79e85feb1e77ea2b Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Sun, 5 Feb 2023 14:51:28 -0800 Subject: [PATCH 26/90] More robust splitting of BB filelists | Missed pre-commit | Removed old conda.yaml --- common.mk | 9 +- conda-reqs/chipyard.yaml | 1 + ...irements-esp-tools-linux-64.conda-lock.yml | 157 +++++++++++++----- ...ements-riscv-tools-linux-64.conda-lock.yml | 157 +++++++++++++----- conda-requirements-riscv-tools.yaml | 134 --------------- scripts/split-bb-files.py | 140 +++++----------- variables.mk | 2 + 7 files changed, 285 insertions(+), 315 deletions(-) delete mode 100644 conda-requirements-riscv-tools.yaml diff --git a/common.mk b/common.mk index 5d3ab805..96767e0d 100644 --- a/common.mk +++ b/common.mk @@ -219,12 +219,11 @@ $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(ALL_MODS_FILELIST) $(BB_MODS_FILEL $(SED) -i 's/\.\///' $(BB_MODS_FILELIST) sort -u $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(BB_MODS_FILELIST) > $(ALL_MODS_FILELIST) -$(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) &: $(BB_MODS_FILELIST) $(MFC_MODEL_HRCHY_JSON) $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) +$(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) &: $(BB_MODS_FILELIST) $(MFC_TOP_HRCHY_JSON) $(FINAL_ANNO_FILE) $(base_dir)/scripts/split-bb-files.py \ - --in-top-f $(TOP_MODS_FILELIST) \ - --in-model-f $(MODEL_MODS_FILELIST) \ - --in-top-hrchy-json $(MFC_MODEL_HRCHY_JSON) \ --in-bb-f $(BB_MODS_FILELIST) \ + --in-top-hrchy-json $(MFC_TOP_HRCHY_JSON) \ + --in-anno-json $(FINAL_ANNO_FILE) \ --out-top-bb-f $(TOP_BB_MODS_FILELIST) \ --out-model-bb-f $(MODEL_BB_MODS_FILELIST) @@ -248,6 +247,8 @@ $(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(MODEL_SMEMS_CONF) | $(TOP_SMEMS_FILE ######################################################################################## # remove duplicate files and headers in list of simulation file inputs +# note: {MODEL,TOP}_BB_MODS_FILELIST is added as a req. so that the files get generated, +# however it is really unneeded since ALL_MODS_FILELIST includes all BB files ######################################################################################## $(sim_common_files): $(sim_files) $(ALL_MODS_FILELIST) $(TOP_SMEMS_FILE) $(MODEL_SMEMS_FILE) $(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) sort -u $(sim_files) $(ALL_MODS_FILELIST) | grep -v '.*\.\(svh\|h\)$$' > $@ diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 32347f33..1d6931eb 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -91,6 +91,7 @@ dependencies: - wget - sed - autoconf + - pre-commit # clang-format for driver coding style enforcement. - clang-format diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index b45d3b8f..f43ca0d4 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -19,12 +19,14 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 5355d154355d9639a93294ab6bb4385fea9c6e942dbce5c6bd7b8940004c5ee3 + linux-64: 10c97fbff3e98c5a8d68013bc08fdb0615cef44fab34016106915cd904fa5329 platforms: - linux-64 sources: - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml + - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml + - /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml package: - category: main dependencies: {} @@ -1548,18 +1550,18 @@ package: version: 1.5.2 - category: main dependencies: - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' m4: '' perl: 5.* hash: - md5: 47f6f07d64d6ea9d2c806ff42023e7e3 - sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39 + md5: 50cabb1aee157a18082c7c92cc4b3143 + sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1 manager: conda name: autoconf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2 - version: '2.69' + url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda + version: '2.71' - category: main dependencies: libgcc-ng: '>=10.3.0' @@ -1846,14 +1848,14 @@ package: tzdata: '' xz: '>=5.2.6,<6.0a0' hash: - md5: 7b9485fce17fac2dd4aca6117a9936c2 - sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 + md5: 95c9b7c96a7fd7342e0c9d0a917b8f78 + sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767 manager: conda name: python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda - version: 3.9.15 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda + version: 3.9.16 - category: main dependencies: libgcc-ng: '>=12' @@ -2006,6 +2008,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda version: 2022.12.7 +- category: main + dependencies: + python: '>=3.6.1' + hash: + md5: ebb5f5f7dc4f1a3780ef7ea7738db08c + sha256: fbc03537a27ef756162c49b1d0608bf7ab12fa5e38ceb8563d6f4859e835ac5c + manager: conda + name: cfgv + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2 + version: 3.3.1 - category: main dependencies: python: '>=3.6' @@ -2020,16 +2034,16 @@ package: version: 2.1.1 - category: main dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 20e4087407c7cb04a40817114b333dbf - sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea + md5: 3613ff4128b3e565d048106196206929 + sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2523,14 +2537,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: a49da0929650af17fc943a90465e6ffc - sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 + md5: 73f58b7725491858c60b748f90e4ded9 + sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce manager: conda name: mypy_extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 - version: 0.4.3 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda + version: 0.4.4 - category: main dependencies: python: '>=3.8' @@ -2614,15 +2628,16 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 7d301a0d25f424d96175f810935f0da9 - sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 + md5: d86903c57fe229d9dd8878a6dd9d149f + sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 version: 1.0.0 - category: main dependencies: @@ -2766,16 +2781,16 @@ package: version: 0.19.3 - category: main dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 2a7de29fb590ca14b5243c4c812c8025 - sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: d34b97a2386932b97c7cb80916a673e7 + sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -3134,14 +3149,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 6df990e93f39e91a3f45d4d885404d56 - sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b + md5: 2a914654b9ade742049dab13e29571c6 + sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127 manager: conda name: websocket-client optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda - version: 1.5.0 + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda + version: 1.5.1 - category: main dependencies: python: '>=3.7' @@ -3226,14 +3241,14 @@ package: dependencies: python: '>=3.7' hash: - md5: edc3568566cc48335f0b5d86d40fdbb9 - sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed + md5: 7cc265528c9db5e40a771438108f6810 + sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d manager: conda name: zipp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda - version: 3.12.0 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda + version: 3.12.1 - category: main dependencies: python: '>=3.6' @@ -3656,6 +3671,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 version: '0.931' +- category: main + dependencies: + python: 2.7|>=3.7 + setuptools: '' + hash: + md5: fbe1182f650c04513046d6894046cd6c + sha256: 8f5afb243a9dd4ba6961eacc7d3c3da104cdc30162de863164b09f8920493d46 + manager: conda + name: nodeenv + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.7.0-pyhd8ed1ab_0.tar.bz2 + version: 1.7.0 - category: main dependencies: ptyprocess: '>=0.5' @@ -3672,9 +3700,9 @@ package: - category: main dependencies: freetype: '>=2.12.1,<3.0a0' + jpeg: '>=9e,<10a' lcms2: '>=2.14,<3.0a0' libgcc-ng: '>=12' - libjpeg-turbo: '>=2.1.4,<3.0a0' libtiff: '>=4.5.0,<4.6.0a0' libwebp-base: '>=1.2.4,<2.0a0' libxcb: '>=1.13,<1.14.0a0' @@ -3684,13 +3712,13 @@ package: python_abi: 3.9.* *_cp39 tk: '>=8.6.12,<8.7.0a0' hash: - md5: d62ba9d1a981544c809813afaf0be5c0 - sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 + md5: d2f79132b9c8e416058a4cd84ef27b3d + sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2 manager: conda name: pillow optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h2320bf1_1.conda version: 9.4.0 - category: main dependencies: @@ -4184,6 +4212,22 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 version: 3.7.0 +- category: main + dependencies: + cffi: '' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 0f11bcdf9669a5ae0f39efd8c830209a + sha256: c0cfb2935d12f6300c65e8503eacdabe34d4b125ce0c3c87a0818e2d72c0c056 + manager: conda + name: ukkonen + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39hf939315_3.tar.bz2 + version: 1.0.1 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4275,6 +4319,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 version: 3.0.10 +- category: main + dependencies: + python: '>=3.6' + ukkonen: '' + hash: + md5: a26b5ead210b1c8938c8a6a0c0fb2bed + sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b + manager: conda + name: identify + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda + version: 2.5.17 - category: main dependencies: importlib_metadata: '' @@ -4536,6 +4593,24 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 version: 2.54.4 +- category: main + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + pyyaml: '>=5.1' + virtualenv: '>=20.0.8' + hash: + md5: 9800c173ab73153bbed00e51a0f86c83 + sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d + manager: conda + name: pre-commit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda + version: 3.0.3 - category: main dependencies: __unix: '' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 1e7933e3..0f31485d 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -19,12 +19,14 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 018e415637315593469f01c8f9b46d7006c95d919144866a9460ea34395ea604 + linux-64: 1fcefa1e4e6d9794ea47d5d139b0d4b9d4381ae536f9519c8a1efa82644a9f83 platforms: - linux-64 sources: - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml + - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml + - /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml package: - category: main dependencies: {} @@ -1548,18 +1550,18 @@ package: version: 1.5.2 - category: main dependencies: - libgcc-ng: '>=9.4.0' + libgcc-ng: '>=12' m4: '' perl: 5.* hash: - md5: 47f6f07d64d6ea9d2c806ff42023e7e3 - sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39 + md5: 50cabb1aee157a18082c7c92cc4b3143 + sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1 manager: conda name: autoconf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2 - version: '2.69' + url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda + version: '2.71' - category: main dependencies: libgcc-ng: '>=10.3.0' @@ -1846,14 +1848,14 @@ package: tzdata: '' xz: '>=5.2.6,<6.0a0' hash: - md5: 7b9485fce17fac2dd4aca6117a9936c2 - sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 + md5: 95c9b7c96a7fd7342e0c9d0a917b8f78 + sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767 manager: conda name: python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda - version: 3.9.15 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda + version: 3.9.16 - category: main dependencies: libgcc-ng: '>=12' @@ -2006,6 +2008,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda version: 2022.12.7 +- category: main + dependencies: + python: '>=3.6.1' + hash: + md5: ebb5f5f7dc4f1a3780ef7ea7738db08c + sha256: fbc03537a27ef756162c49b1d0608bf7ab12fa5e38ceb8563d6f4859e835ac5c + manager: conda + name: cfgv + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2 + version: 3.3.1 - category: main dependencies: python: '>=3.6' @@ -2020,16 +2034,16 @@ package: version: 2.1.1 - category: main dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 20e4087407c7cb04a40817114b333dbf - sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea + md5: 3613ff4128b3e565d048106196206929 + sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2506,14 +2520,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: a49da0929650af17fc943a90465e6ffc - sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 + md5: 73f58b7725491858c60b748f90e4ded9 + sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce manager: conda name: mypy_extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 - version: 0.4.3 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda + version: 0.4.4 - category: main dependencies: python: '>=3.8' @@ -2597,15 +2611,16 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 7d301a0d25f424d96175f810935f0da9 - sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 + md5: d86903c57fe229d9dd8878a6dd9d149f + sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 version: 1.0.0 - category: main dependencies: @@ -2749,16 +2764,16 @@ package: version: 0.19.3 - category: main dependencies: - __unix: '' - python: '>=3.8' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 hash: - md5: 2a7de29fb590ca14b5243c4c812c8025 - sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: d34b97a2386932b97c7cb80916a673e7 + sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -3134,14 +3149,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 6df990e93f39e91a3f45d4d885404d56 - sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b + md5: 2a914654b9ade742049dab13e29571c6 + sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127 manager: conda name: websocket-client optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda - version: 1.5.0 + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda + version: 1.5.1 - category: main dependencies: python: '>=3.7' @@ -3226,14 +3241,14 @@ package: dependencies: python: '>=3.7' hash: - md5: edc3568566cc48335f0b5d86d40fdbb9 - sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed + md5: 7cc265528c9db5e40a771438108f6810 + sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d manager: conda name: zipp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda - version: 3.12.0 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda + version: 3.12.1 - category: main dependencies: python: '>=3.6' @@ -3656,6 +3671,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 version: '0.931' +- category: main + dependencies: + python: 2.7|>=3.7 + setuptools: '' + hash: + md5: fbe1182f650c04513046d6894046cd6c + sha256: 8f5afb243a9dd4ba6961eacc7d3c3da104cdc30162de863164b09f8920493d46 + manager: conda + name: nodeenv + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.7.0-pyhd8ed1ab_0.tar.bz2 + version: 1.7.0 - category: main dependencies: ptyprocess: '>=0.5' @@ -3672,9 +3700,9 @@ package: - category: main dependencies: freetype: '>=2.12.1,<3.0a0' + jpeg: '>=9e,<10a' lcms2: '>=2.14,<3.0a0' libgcc-ng: '>=12' - libjpeg-turbo: '>=2.1.4,<3.0a0' libtiff: '>=4.5.0,<4.6.0a0' libwebp-base: '>=1.2.4,<2.0a0' libxcb: '>=1.13,<1.14.0a0' @@ -3684,13 +3712,13 @@ package: python_abi: 3.9.* *_cp39 tk: '>=8.6.12,<8.7.0a0' hash: - md5: d62ba9d1a981544c809813afaf0be5c0 - sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 + md5: d2f79132b9c8e416058a4cd84ef27b3d + sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2 manager: conda name: pillow optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h2320bf1_1.conda version: 9.4.0 - category: main dependencies: @@ -4184,6 +4212,22 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 version: 3.7.0 +- category: main + dependencies: + cffi: '' + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 0f11bcdf9669a5ae0f39efd8c830209a + sha256: c0cfb2935d12f6300c65e8503eacdabe34d4b125ce0c3c87a0818e2d72c0c056 + manager: conda + name: ukkonen + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39hf939315_3.tar.bz2 + version: 1.0.1 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4275,6 +4319,19 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 version: 3.0.10 +- category: main + dependencies: + python: '>=3.6' + ukkonen: '' + hash: + md5: a26b5ead210b1c8938c8a6a0c0fb2bed + sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b + manager: conda + name: identify + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda + version: 2.5.17 - category: main dependencies: importlib_metadata: '' @@ -4536,6 +4593,24 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 version: 2.54.4 +- category: main + dependencies: + cfgv: '>=2.0.0' + identify: '>=1.0.0' + nodeenv: '>=0.11.1' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + pyyaml: '>=5.1' + virtualenv: '>=20.0.8' + hash: + md5: 9800c173ab73153bbed00e51a0f86c83 + sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d + manager: conda + name: pre-commit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda + version: 3.0.3 - category: main dependencies: __unix: '' diff --git a/conda-requirements-riscv-tools.yaml b/conda-requirements-riscv-tools.yaml deleted file mode 100644 index bbc06729..00000000 --- a/conda-requirements-riscv-tools.yaml +++ /dev/null @@ -1,134 +0,0 @@ -channels: - - ucb-bar - - conda-forge - - nodefaults - -dependencies: - # https://conda-forge.org/feedstock-outputs/ - # filterable list of all conda-forge packages - # https://conda-forge.org/#contribute - # instructions on adding a recipe - # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications - # documentation on package_spec syntax for constraining versions - - - # handy tool for introspecting package relationships and file ownership - # see https://github.com/rvalieris/conda-tree - - conda-tree - - # bundle FireSim driver with deps into installer shell-script - - constructor - - - gcc - - gxx - - sysroot_linux-64>=2.17 # needed to match pre-built CI XRT glibc version - - conda-gcc-specs - - binutils - - - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo - - riscv-tools # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock - - firtool # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock - - # firemarshal deps - - python>=3.8 - - bc - - patch - - which - - diffutils - - bash - - gzip - - bzip2 - - perl - - tar - - file - - findutils - - rsync - - psutil - - doit=0.35.0 - - gitpython - - humanfriendly - - e2fsprogs - - ctags - - bison - - flex - - expat - - make - - pyyaml - - unzip - - readline - - coreutils - - lzop - - qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock - - - jq - - bash-completion - - sbt - - ca-certificates - - mosh - - gmp - - mpfr - - mpc - - zlib - - vim - - git - - openjdk - - gengetopt - - libffi - - expat - - libusb1 - - ncurses - - cmake - - graphviz - - expect - - dtc - - verilator==4.226 - - screen - - elfutils - - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock - - conda-lock>=1 - - wget - - sed - - autoconf - - # clang-format for driver coding style enforcement. - - clang-format - - clang-tools - - # python packages - # While it is possible to install using pip after creating the - # conda environment, pip's dependency resolution can conflict with - # conda and create broken environments. It's best to use the conda - # packages so that the environment is consistent - - boto3==1.20.21 - - colorama==0.4.3 - - argcomplete==1.12.3 - - python-graphviz==0.19 - - pyparsing==3.0.6 - - numpy==1.19.5 - - kiwisolver==1.3.1 - - matplotlib-base==3.3.4 - - pandas==1.1.5 - - awscli==1.22.21 - - pytest==6.2.5 - - pytest-dependency==0.5.1 - - pytest-mock==3.7.0 - - moto==3.1.0 - - pyyaml==5.4.1 - - mypy==0.931 - - types-pyyaml==6.0.4 - - boto3-stubs==1.21.6 - - botocore-stubs==1.24.7 - - mypy-boto3-s3==1.21.0 - - pip - - pip: - - fab-classic==1.19.1 - - mypy-boto3-ec2==1.21.9 - - sure==2.0.0 - - pylddwrap==1.2.1 - - # doc requirements - - sphinx - - pygments - - sphinx-autobuild - - sphinx_rtd_theme - - docutils diff --git a/scripts/split-bb-files.py b/scripts/split-bb-files.py index 62768a6d..959a10a2 100755 --- a/scripts/split-bb-files.py +++ b/scripts/split-bb-files.py @@ -1,22 +1,19 @@ #!/usr/bin/env python3 -import os import json import argparse -import sys -from pathlib import Path -from typing import List, Optional +from collections import defaultdict # Schema of *.f emitted by circt """ -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/SimUART.cc -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_1.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_1.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_2.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_2.sv -/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv +//gen-collateral/SimUART.cc +//gen-collateral/AsyncQueueSource.sv +//gen-collateral/AsyncQueueSink.sv +//gen-collateral/AsyncQueueSource_1.sv +//gen-collateral/AsyncQueueSink_1.sv +//gen-collateral/AsyncQueueSource_2.sv +//gen-collateral/AsyncQueueSink_2.sv +//gen-collateral/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv """ def bfs_collect_submodules(tree): @@ -33,100 +30,53 @@ def bfs_collect_submodules(tree): q.append((c['instance_name'], c['module_name'], c['instances'])) return output -def get_modules(f): - lines = f.readlines() - module_list = list() - for line in lines: - try: - module_list.append(os.path.basename(line)) - except: - print("Excepted a linux path, got something else") - return module_list - -def get_inner_modules(f): - lines = f.readlines() - inner_module_list = list() - for line in lines: - words = line.split() - if len(words) >= 2 and "module" == words[0]: - inner_module_list.append(words[1].replace("(", "")) - return inner_module_list - def write_lines_to_file(lines, file_path): with open(file_path, "w") as fp: for line in lines: - fp.write("%s" % line) - + fp.write("%s\n" % line) if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Use *.model.f and *.top.f to restore the MODEL/TOP blackbox separation') - parser.add_argument('--in-top-f', type=str, required=True, help='List of generated files specific for TOP(DUT)') - parser.add_argument('--in-model-f', type=str, required=True, help='List of generated files specific for MODEL') - parser.add_argument('--in-bb-f', type=str, required=True, help='List of generated files specific for MODEL') + parser = argparse.ArgumentParser(description='Create *.model.bb.f and *.top.bb.f blackbox filelists') + parser.add_argument('--in-bb-f', type=str, required=True, help='All blackbox files filelist (includes both MODEL/TOP files)') parser.add_argument('--in-top-hrchy-json', type=str, required=True, help='List containing hierarchy of top modules (top-module-hierarchy.json)') - parser.add_argument('--out-top-bb-f', type=str, required=True, help='List of blackbox modules for TOP') - parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox modules for MODEL') + parser.add_argument('--in-anno-json', type=str, required=True, help='Anno. file with blackbox annotations') + parser.add_argument('--out-top-bb-f', type=str, required=True, help='List of blackbox files for TOP') + parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox files for MODEL') args = parser.parse_args() - itf = open(args.in_top_f) - top_modules = set(get_modules(itf)) - itf.close() + # module_path -> list of bb paths (not fully resolved paths) + mod_bb_dict = defaultdict(list) + with open(args.in_anno_json, "r") as f: + anno_data = json.load(f) + for anno in anno_data: + if 'BlackBoxInlineAnno' in anno['class']: + mod_bb_dict[anno['target']].append(anno['name']) + if 'BlackBoxPathAnno' in anno['class']: + mod_bb_dict[anno['target']].append(anno['path']) - imf = open(args.in_model_f) - model_modules = set(get_modules(imf)) - imf.close() + with open(args.in_top_hrchy_json) as ihj: + ihj_data = json.load(ihj) + top_inner_modules = bfs_collect_submodules(ihj_data) - ihj = open(args.in_top_hrchy_json) - ihj_data = json.load(ihj) - top_inner_modules = bfs_collect_submodules(ihj_data) - ihj.close() + with open(args.in_bb_f) as ibf: + lines = ibf.read().splitlines() - ibf = open(args.in_bb_f) - lines = ibf.readlines() + tbfs = set() + for mod_path, bb_files in mod_bb_dict.items(): + leaf_mod = mod_path.split('.')[-1] - """ - " model top - " o o -> model - " x o -> top - " x x -> model - " - check inner module - " - currently, there is no way of knowing if certain inner modules(actual verilog - " modules inside the files) are all included in TOP or MODEL - " - for now, assume that if a inner module is included in TOP, the file itself - " is also for TOP - """ - tbf = list() - mbf = list() - unknown = list() - for line in lines: - module = os.path.basename(line) - extension = os.path.splitext(module)[1] - if module in model_modules: - mbf.append(line) - elif module in top_modules: - tbf.append(line) - elif ".v" not in extension and ".sv" not in extension: - mbf.append(line) - else: - unknown.append(line) + # if matched, add the fully resolved path to the top bb filelist + if leaf_mod in top_inner_modules: + for line in lines: + for bb_file in bb_files: + if bb_file in line: + tbfs.add(line) + # now tbfs should be complete (need to remove tbf files from original bb file for model bb) + mbfs = set() + for line in lines: + if not line in tbfs: + mbfs.add(line) - for line in unknown: - f = open(Path(line.replace("\n", ""))) - inner_modules = get_inner_modules(f) - f.close() - - inner_module_in_top = False - for im in inner_modules: - if im in top_inner_modules: - inner_module_in_top = True - break - if inner_module_in_top: - tbf.append(line) - else: - mbf.append(line) - - write_lines_to_file(tbf, args.out_top_bb_f) - write_lines_to_file(mbf, args.out_model_bb_f) - - ibf.close() + write_lines_to_file(tbfs, args.out_top_bb_f) + write_lines_to_file(mbfs, args.out_model_bb_f) diff --git a/variables.mk b/variables.mk index c0655fab..ceddf657 100644 --- a/variables.mk +++ b/variables.mk @@ -182,7 +182,9 @@ MODEL_MODS_FILELIST ?= $(build_dir)/$(long_name).model.f # list of all blackbox files (may be included in the top/model.f files) # this has the build_dir appended BB_MODS_FILELIST ?= $(build_dir)/$(long_name).bb.f +# top blackbox module files to include TOP_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).top.bb.f +# model blackbox module files to include (not including top blackbox modules) MODEL_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).model.bb.f # all module files to include (top, model, bb included) ALL_MODS_FILELIST ?= $(build_dir)/$(long_name).all.f From 81ced281a046772f50298a2ad68ea86f7160e7e4 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Sun, 5 Feb 2023 17:08:11 -0800 Subject: [PATCH 27/90] Bump pre-commit --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index db534894..3cf6655d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.2.0 + rev: v4.4.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer From 6e616da3444d91ea6dc8c1ffe240166b607e1983 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Sun, 5 Feb 2023 18:23:38 -0800 Subject: [PATCH 28/90] Bump to 1.29.0 firtool --- conda-reqs/chipyard.yaml | 2 +- ...onda-requirements-esp-tools-linux-64.conda-lock.yml | 10 +++++----- ...da-requirements-riscv-tools-linux-64.conda-lock.yml | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 1d6931eb..27d290d2 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -29,7 +29,7 @@ dependencies: - binutils - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo - - firtool>=1.25 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock + - firtool>=1.29 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock # firemarshal deps - python>=3.8 diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index f43ca0d4..a40f571e 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 10c97fbff3e98c5a8d68013bc08fdb0615cef44fab34016106915cd904fa5329 + linux-64: f9f3f7cef557df255bdd726e764500a2fea6dfbc8c9ec8572aa0f287b19775b4 platforms: - linux-64 sources: @@ -1155,14 +1155,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: f3530f0cfbc7b4e243cb6b8f19cd077d - sha256: e9fa4c912e6c72dcc10e00c6769c6b0e20d32446345ef9f07626257cc80f7d7d + md5: a4aa97b71e4c7d735cda9149f2379796 + sha256: a27405754cea702dc7634ba79035d533f0e43956e8ceebc33cffc0b474cad3fb manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda - version: 1.25.0 + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0-0_h1234567_ga5f6aa51f.conda + version: 1.29.0 - category: main dependencies: libgcc-ng: '>=7.5.0' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 0f31485d..35cb54d8 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 1fcefa1e4e6d9794ea47d5d139b0d4b9d4381ae536f9519c8a1efa82644a9f83 + linux-64: a4e47e2bc87e218df5a95db5c131d80b5abb1be6c992fc5bec4cfc7b186890d6 platforms: - linux-64 sources: @@ -1155,14 +1155,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: f3530f0cfbc7b4e243cb6b8f19cd077d - sha256: e9fa4c912e6c72dcc10e00c6769c6b0e20d32446345ef9f07626257cc80f7d7d + md5: a4aa97b71e4c7d735cda9149f2379796 + sha256: a27405754cea702dc7634ba79035d533f0e43956e8ceebc33cffc0b474cad3fb manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.25.0-0_h1234567_gd0462e7ec.conda - version: 1.25.0 + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0-0_h1234567_ga5f6aa51f.conda + version: 1.29.0 - category: main dependencies: libgcc-ng: '>=7.5.0' From efb4b7dcbffc704762a3d95a7a78bac8c150804c Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Sun, 5 Feb 2023 21:51:54 -0800 Subject: [PATCH 29/90] Fix barstools for 1.29.0 firtool --- common.mk | 3 ++- tools/barstools | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common.mk b/common.mk index 96767e0d..cddbf5b7 100644 --- a/common.mk +++ b/common.mk @@ -177,8 +177,9 @@ endif --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ + -DX $(SFC_LEVEL) \ -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) + $(EXTRA_FIRRTL_OPTIONS)) # -X and -DX are duplicates to allow for extra FIRRTL passes to be run -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi diff --git a/tools/barstools b/tools/barstools index df3232f7..653989c0 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit df3232f7d967d22570dd3c90706ce9422c25df07 +Subproject commit 653989c092eef55059e4720523927d52d43ffebf From 823970ed63e6acdf289ca0383c2b59078fba93d9 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Mon, 6 Feb 2023 12:38:17 -0800 Subject: [PATCH 30/90] Checkout proper commits of submodules after rebase --- fpga/fpga-shells | 2 +- generators/boom | 2 +- generators/constellation | 2 +- generators/cva6 | 2 +- generators/fft-generator | 2 +- generators/gemmini | 2 +- generators/hwacha | 2 +- generators/ibex | 2 +- generators/icenet | 2 +- generators/riscv-sodor | 2 +- generators/rocket-chip | 2 +- generators/sha3 | 2 +- generators/sifive-blocks | 2 +- generators/sifive-cache | 2 +- generators/testchipip | 2 +- sims/firesim | 2 +- toolchains/riscv-tools/riscv-tests | 2 +- tools/dsptools | 2 +- tools/rocket-dsp-utils | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/fpga/fpga-shells b/fpga/fpga-shells index f1187f21..474ad191 160000 --- a/fpga/fpga-shells +++ b/fpga/fpga-shells @@ -1 +1 @@ -Subproject commit f1187f21a0e0a36366e43994f936d04329bfc630 +Subproject commit 474ad19113b89ed5679695b269acdb011b9b871a diff --git a/generators/boom b/generators/boom index 9e426908..98487c68 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 9e4269088ed7f83ad57b75d62082170c2c502952 +Subproject commit 98487c68cc4229cd991eac6a4f94d2fe8e5fdc1d diff --git a/generators/constellation b/generators/constellation index b93fde3e..55b1899a 160000 --- a/generators/constellation +++ b/generators/constellation @@ -1 +1 @@ -Subproject commit b93fde3e2824f728c404e08984046d41679ec31f +Subproject commit 55b1899a3bc997734dbd589b46fcf14246d5361b diff --git a/generators/cva6 b/generators/cva6 index 31fd9cdf..737fd83b 160000 --- a/generators/cva6 +++ b/generators/cva6 @@ -1 +1 @@ -Subproject commit 31fd9cdf801b407acee3989622902db59e474f90 +Subproject commit 737fd83b820aea6d615f372a97766b1d390a18d5 diff --git a/generators/fft-generator b/generators/fft-generator index 40357f00..a31bd038 160000 --- a/generators/fft-generator +++ b/generators/fft-generator @@ -1 +1 @@ -Subproject commit 40357f00a8f091e97be9dbf39256e511dac6c494 +Subproject commit a31bd038ddf3c941634cb830608edb0bdd6442db diff --git a/generators/gemmini b/generators/gemmini index 6f57972d..74251dc6 160000 --- a/generators/gemmini +++ b/generators/gemmini @@ -1 +1 @@ -Subproject commit 6f57972db9b0815462cc0569f922792f83e35c5d +Subproject commit 74251dc61f971fd684bc37963f7db9d8a5bd206a diff --git a/generators/hwacha b/generators/hwacha index b0795a3a..e1be8e2a 160000 --- a/generators/hwacha +++ b/generators/hwacha @@ -1 +1 @@ -Subproject commit b0795a3aafd3b22b00061c1c3e2e710d73b4f112 +Subproject commit e1be8e2a41c6bc2239aed4e23355cf34a224f380 diff --git a/generators/ibex b/generators/ibex index a5214d0a..5a512227 160000 --- a/generators/ibex +++ b/generators/ibex @@ -1 +1 @@ -Subproject commit a5214d0a0a6351dc2e03930750f831b0f28df8bf +Subproject commit 5a512227d8f6d2929cc354c02d40200002e661e5 diff --git a/generators/icenet b/generators/icenet index e14c1e8c..fb23840e 160000 --- a/generators/icenet +++ b/generators/icenet @@ -1 +1 @@ -Subproject commit e14c1e8c54851d3fa7bc55fbbc6fc48873a3b2a9 +Subproject commit fb23840eab7a33249eaa23cad7bed4137055e8dd diff --git a/generators/riscv-sodor b/generators/riscv-sodor index 510dea74..9265d02d 160000 --- a/generators/riscv-sodor +++ b/generators/riscv-sodor @@ -1 +1 @@ -Subproject commit 510dea7407d8bca5eef18175530ffffa8e0774ce +Subproject commit 9265d02d3c32d56065427ec76c41b3c5a37f78dd diff --git a/generators/rocket-chip b/generators/rocket-chip index 44b0b824..3b5fb3c0 160000 --- a/generators/rocket-chip +++ b/generators/rocket-chip @@ -1 +1 @@ -Subproject commit 44b0b8249279d25bd75ea693b725d9ff1b96e2ab +Subproject commit 3b5fb3c043ccc2cea81ed7a44b295f4652d0ba02 diff --git a/generators/sha3 b/generators/sha3 index 88ada85a..98089ba3 160000 --- a/generators/sha3 +++ b/generators/sha3 @@ -1 +1 @@ -Subproject commit 88ada85a84253434ea5cef729d90cd74796aa442 +Subproject commit 98089ba372a847d62024d36db62429a8bcdfd7ea diff --git a/generators/sifive-blocks b/generators/sifive-blocks index e8adf0e3..4273925f 160000 --- a/generators/sifive-blocks +++ b/generators/sifive-blocks @@ -1 +1 @@ -Subproject commit e8adf0e3ef94f76f73001fbeda767d6899c60eb3 +Subproject commit 4273925fdd5d8872d6b6a8dec6cee3330b9a68c7 diff --git a/generators/sifive-cache b/generators/sifive-cache index 2e47c707..850e1215 160000 --- a/generators/sifive-cache +++ b/generators/sifive-cache @@ -1 +1 @@ -Subproject commit 2e47c707e04dbbbdbf81561a979c055f87ac8df2 +Subproject commit 850e12154c1de6baee9e40094d115e9b85d799b1 diff --git a/generators/testchipip b/generators/testchipip index 70cdc3f0..2906d503 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 70cdc3f0206453aa9cbb76ba9619b87d7e10266a +Subproject commit 2906d503cf6df42e5b6da576ff9e67d0c65368bc diff --git a/sims/firesim b/sims/firesim index 8176b657..9d3462ed 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit 8176b657ee779ac4901b6b03aea0ac23a0b8874d +Subproject commit 9d3462ed1357cc198be8485ae57635b9651999d5 diff --git a/toolchains/riscv-tools/riscv-tests b/toolchains/riscv-tools/riscv-tests index c84daca8..a6ab6ae6 160000 --- a/toolchains/riscv-tools/riscv-tests +++ b/toolchains/riscv-tools/riscv-tests @@ -1 +1 @@ -Subproject commit c84daca8824635b7d896003c78f9c6245997cf7a +Subproject commit a6ab6ae6008ffc2ea907ea9f6d2b8379583e7d56 diff --git a/tools/dsptools b/tools/dsptools index a1809fba..5b1e7335 160000 --- a/tools/dsptools +++ b/tools/dsptools @@ -1 +1 @@ -Subproject commit a1809fbae9e49de7213116bbec79252645292e39 +Subproject commit 5b1e733596a39f6960bf9a7c1897d82912372766 diff --git a/tools/rocket-dsp-utils b/tools/rocket-dsp-utils index 4448e061..46d6ed77 160000 --- a/tools/rocket-dsp-utils +++ b/tools/rocket-dsp-utils @@ -1 +1 @@ -Subproject commit 4448e06138a1d9281621f349c306c8a066589e67 +Subproject commit 46d6ed77981ef18789636426cc23f0bd7edc64d9 From 6de7256299b645e313665c2e310cf8f8e04889fc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 7 Feb 2023 11:55:52 -0800 Subject: [PATCH 31/90] Bump spike --- toolchains/riscv-tools/riscv-isa-sim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchains/riscv-tools/riscv-isa-sim b/toolchains/riscv-tools/riscv-isa-sim index 46176719..e7d6aff1 160000 --- a/toolchains/riscv-tools/riscv-isa-sim +++ b/toolchains/riscv-tools/riscv-isa-sim @@ -1 +1 @@ -Subproject commit 461767199aac9c15894513254ae4844de5ee78d0 +Subproject commit e7d6aff19a071a059f1b9c2328ee4dac83bc677a From d5bf00aab112ec5025b4721bd21c863486c427a6 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 7 Feb 2023 14:04:55 -0800 Subject: [PATCH 32/90] Bump spike-cosim for spike changes --- .../src/main/resources/csrc/cospike.cc | 103 ++++++++++-------- 1 file changed, 57 insertions(+), 46 deletions(-) diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc index 799f7992..084e1b28 100644 --- a/generators/chipyard/src/main/resources/csrc/cospike.cc +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -6,6 +6,9 @@ #include #include +#define CLINT_BASE (0x2000000) +#define CLINT_SIZE (0x1000) + typedef struct system_info_t { std::string isa; int pmpregions; @@ -33,10 +36,10 @@ static std::vector> make_mems(const std::vectorisa = std::string(isa); @@ -54,14 +57,14 @@ extern "C" void cospike_set_sysinfo(char* isa, int pmpregions, extern "C" void cospike_cosim(long long int cycle, long long int hartid, - int has_wdata, - int valid, - long long int iaddr, - unsigned long int insn, - int raise_exception, - int raise_interrupt, - unsigned long long int cause, - unsigned long long int wdata) + int has_wdata, + int valid, + long long int iaddr, + unsigned long int insn, + int raise_exception, + int raise_interrupt, + unsigned long long int cause, + unsigned long long int wdata) { assert(info); if (!sim) { @@ -87,13 +90,20 @@ extern "C" void cospike_cosim(long long int cycle, ); std::vector> mems = make_mems(cfg->mem_layout()); + rom_device_t *boot_rom = new rom_device_t(info->bootrom); mem_t *boot_addr_reg = new mem_t(0x1000); uint64_t default_boot_addr = 0x80000000; - std::vector> plugin_devices; boot_addr_reg->store(0, 8, (const uint8_t*)(&default_boot_addr)); - plugin_devices.push_back(std::pair(0x10000, boot_rom)); + + // Don't actually build a clint + mem_t* clint_mem = new mem_t(CLINT_SIZE); + + std::vector> plugin_devices; + // The device map is hardcoded here for now plugin_devices.push_back(std::pair(0x4000, boot_addr_reg)); + plugin_devices.push_back(std::pair(0x10000, boot_rom)); + plugin_devices.push_back(std::pair(CLINT_BASE, clint_mem)); s_vpi_vlog_info vinfo; if (!vpi_get_vlog_info(&vinfo)) @@ -104,13 +114,13 @@ extern "C" void cospike_cosim(long long int cycle, for (int i = 1; i < vinfo.argc; i++) { std::string arg(vinfo.argv[i]); if (arg == "+permissive") { - in_permissive = true; + in_permissive = true; } else if (arg == "+permissive-off") { - in_permissive = false; + in_permissive = false; } else if (arg == "+cospike_debug") { cospike_debug = true; } else if (!in_permissive) { - htif_args.push_back(arg); + htif_args.push_back(arg); } } @@ -132,16 +142,16 @@ extern "C" void cospike_cosim(long long int cycle, } sim = new sim_t(cfg, false, - mems, - plugin_devices, - htif_args, - dm_config, - nullptr, - false, - nullptr, - false, - nullptr - ); + mems, + plugin_devices, + htif_args, + dm_config, + nullptr, + false, + nullptr, + false, + nullptr + ); sim->configure_log(true, true); // Use our own reset vector @@ -193,25 +203,25 @@ extern "C" void cospike_cosim(long long int cycle, if (!mem_write.empty() && tohost_addr && std::get<0>(mem_write[0]) == tohost_addr) { reg_t wdata = std::get<1>(mem_write[0]); if (wdata >= info->mem0_base && wdata < (info->mem0_base + info->mem0_size)) { - printf("Probable magic mem %x\n", wdata); - magic_addrs.insert(wdata); + printf("Probable magic mem %x\n", wdata); + magic_addrs.insert(wdata); } } if (has_wdata) { auto& log = s->log_reg_write; auto& mem_read = s->log_mem_read; - + reg_t mem_read_addr = mem_read.empty() ? 0 : std::get<0>(mem_read[0]); for (auto regwrite : log) { - int rd = regwrite.first >> 4; - int type = regwrite.first & 0xf; - // 0 => int - // 1 => fp - // 2 => vec - // 3 => vec hint - // 4 => csr - if ((rd != 0 && type == 0) || type == 1) { - // Override reads from some CSRs + int rd = regwrite.first >> 4; + int type = regwrite.first & 0xf; + // 0 => int + // 1 => fp + // 2 => vec + // 3 => vec hint + // 4 => csr + if ((rd != 0 && type == 0) || type == 1) { + // Override reads from some CSRs uint64_t csr_addr = (insn >> 20) & 0xfff; bool csr_read = (insn & 0x7f) == 0x73; if (csr_read) printf("CSR read %lx\n", csr_addr); @@ -225,14 +235,15 @@ extern "C" void cospike_cosim(long long int cycle, )) { printf("CSR override\n"); s->XPR.write(rd, wdata); - } else if (!mem_read.empty() && - ((magic_addrs.count(std::get<0>(mem_read[0])) || - tohost_addr && std::get<0>(mem_read[0]) == tohost_addr) || - (fromhost_addr && std::get<0>(mem_read[0]) == fromhost_addr))) { - // Don't check reads from tohost, or reads from magic memory + } else if (!mem_read.empty() && ((magic_addrs.count(mem_read_addr) || + (tohost_addr && mem_read_addr == tohost_addr) || + (fromhost_addr && mem_read_addr == fromhost_addr) || + (CLINT_BASE <= mem_read_addr && mem_read_addr < (CLINT_BASE + CLINT_SIZE)) + ))) { + // Don't check reads from tohost, reads from magic memory, or reads from clint // Technically this could be buggy because log_mem_read only reports vaddrs, but - // no software ever should access tohost/fromhost with vaddrs anyways - printf("To/From host read override\n"); + // no software ever should access tohost/fromhost/clint with vaddrs anyways + printf("Read override %lx\n", mem_read_addr); s->XPR.write(rd, wdata); } else if (wdata != regwrite.second.v[0]) { printf("%d wdata mismatch reg %d %lx != %lx\n", cycle, rd, regwrite.second.v[0], wdata); From 61d094e887feabd2bab132cb8e0a8aaa4162ad1d Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Wed, 8 Feb 2023 16:05:38 -0800 Subject: [PATCH 33/90] [skip ci] Add sv2v, sty. Fix Makefile rebuild. Using sv2v, but Yosys still fails. --- common.mk | 2 +- conda-reqs/chipyard.yaml | 4 +++- vlsi/Makefile | 50 ++++++++++++++++++++++++---------------- vlsi/tutorial.mk | 4 +++- 4 files changed, 37 insertions(+), 23 deletions(-) diff --git a/common.mk b/common.mk index cddbf5b7..322e2724 100644 --- a/common.mk +++ b/common.mk @@ -194,7 +194,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,explicitBitcast,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 27d290d2..2c529305 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -32,7 +32,7 @@ dependencies: - firtool>=1.29 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock # firemarshal deps - - python>=3.8 + - python>=3.9 - bc - patch - which @@ -122,6 +122,8 @@ dependencies: - boto3-stubs==1.21.6 - botocore-stubs==1.24.7 - mypy-boto3-s3==1.21.0 + - sty==1.0.0 + - sv2v - pip - pip: - fab-classic==1.19.1 diff --git a/vlsi/Makefile b/vlsi/Makefile index 217f50e1..5ff80185 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -55,26 +55,6 @@ endif ######################################################################################### # general rules ######################################################################################### -VLSI_RTL = $(build_dir)/syn.f - -.PHONY: custom_vlog gen_vlog - -custom_vlog: $(CUSTOM_VLOG) - echo "" > $(VLSI_RTL) - $(foreach file,$^,echo $file >> $(VLSI_RTL)) - -gen_vlog: $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) $(TOP_SMEMS_FILE) - cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) > $(VLSI_RTL) - echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) - echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) - - -ifneq ($(CUSTOM_VLOG), ) -$(VLSI_RTL): custom_vlog -else -$(VLSI_RTL): gen_vlog -endif - .PHONY: default default: all @@ -85,6 +65,36 @@ all: drc lvs ######################################################################################### include $(base_dir)/common.mk +######################################################################################### +# process RTL +######################################################################################### +VLSI_RTL = $(build_dir)/syn.f + +ifneq ($(CUSTOM_VLOG), ) + RTL_DEPS = $(CUSTOM_VLOG) +else + RTL_DEPS = $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) $(TOP_SMEMS_FILE) +endif + +$(VLSI_RTL): $(RTL_DEPS) +ifneq ($(CUSTOM_VLOG), ) + > $(VLSI_RTL) + $(foreach file,$^,echo $(file) >> $(VLSI_RTL)) +else ifneq ($(CONVERT_SV2V), ) + # Convert System Verilog to Verilog, uniquify, remove incompatible tasks + sv2v -w=adjacent --oversized-numbers \ + -D=ASSERT_VERBOSE_COND=0 -D=STOP_COND=0 -D=PRINTF_COND=0 \ + $(filter-out %.v,$(shell cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST))) + cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u | sed 's/.sv/.v/g' > $(VLSI_RTL) + cat $(VLSI_RTL) | xargs sed -i 's/\$$fwrite.*/;/g' + echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) + echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) +else + cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u | > $(VLSI_RTL) + echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) + echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) +endif + ######################################################################################### # srams ######################################################################################### diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 6ce000a2..cc3f9d7e 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -34,5 +34,7 @@ ifeq ($(tutorial),sky130-openroad) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) VLSI_OBJ_DIR ?= build-sky130-openroad # This prevents multidimensional arrays (unsupported by Yosys) at the expense of elaboration time. - ENABLE_CUSTOM_FIRRTL_PASS = 1 + #ENABLE_CUSTOM_FIRRTL_PASS = 1 + # This runs sv2v for Yosys compatibility + CONVERT_SV2V = 1 endif From 2bfc6e1347d656eeb4e7d8a28740a759e6b14433 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Wed, 8 Feb 2023 19:00:26 -0800 Subject: [PATCH 34/90] [skip ci] abandon sv2v, Genus happy with patched firtool --- common.mk | 2 +- conda-reqs/chipyard.yaml | 3 +-- vlsi/Makefile | 11 +---------- vlsi/tutorial.mk | 2 -- 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/common.mk b/common.mk index 322e2724..08801dff 100644 --- a/common.mk +++ b/common.mk @@ -194,7 +194,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowPackedArrays,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 2c529305..32abb674 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -123,14 +123,13 @@ dependencies: - botocore-stubs==1.24.7 - mypy-boto3-s3==1.21.0 - sty==1.0.0 - - sv2v - pip - pip: - fab-classic==1.19.1 - mypy-boto3-ec2==1.21.9 - sure==2.0.0 - pylddwrap==1.2.1 - - hammer-vlsi + - hammer-vlsi[asap7] # doc requirements - sphinx diff --git a/vlsi/Makefile b/vlsi/Makefile index 5ff80185..d87e938b 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -80,17 +80,8 @@ $(VLSI_RTL): $(RTL_DEPS) ifneq ($(CUSTOM_VLOG), ) > $(VLSI_RTL) $(foreach file,$^,echo $(file) >> $(VLSI_RTL)) -else ifneq ($(CONVERT_SV2V), ) - # Convert System Verilog to Verilog, uniquify, remove incompatible tasks - sv2v -w=adjacent --oversized-numbers \ - -D=ASSERT_VERBOSE_COND=0 -D=STOP_COND=0 -D=PRINTF_COND=0 \ - $(filter-out %.v,$(shell cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST))) - cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u | sed 's/.sv/.v/g' > $(VLSI_RTL) - cat $(VLSI_RTL) | xargs sed -i 's/\$$fwrite.*/;/g' - echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) - echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) else - cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u | > $(VLSI_RTL) + cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u > $(VLSI_RTL) echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) endif diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index cc3f9d7e..25f36e00 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -35,6 +35,4 @@ ifeq ($(tutorial),sky130-openroad) VLSI_OBJ_DIR ?= build-sky130-openroad # This prevents multidimensional arrays (unsupported by Yosys) at the expense of elaboration time. #ENABLE_CUSTOM_FIRRTL_PASS = 1 - # This runs sv2v for Yosys compatibility - CONVERT_SV2V = 1 endif From ea65d93c8eebdd10adcaa6573a6ce5b8674314db Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 9 Feb 2023 10:18:24 -0800 Subject: [PATCH 35/90] [skip ci] remove need to set site_packages_dir --- docs/VLSI/Advanced-Usage.rst | 6 +----- vlsi/Makefile | 4 ++-- vlsi/tutorial.mk | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/VLSI/Advanced-Usage.rst b/docs/VLSI/Advanced-Usage.rst index ce86391e..8ea54c78 100644 --- a/docs/VLSI/Advanced-Usage.rst +++ b/docs/VLSI/Advanced-Usage.rst @@ -5,16 +5,12 @@ Advanced Usage Hammer Development ------------------ -If you need to develop Hammer within Chipyard, you will not use the ``hammer-vlsi`` package as installed by conda. - -First, clone the `Hammer repository `__ somewhere else on your disk. Then: +If you need to develop Hammer within Chipyard or use a version of Hammer beyond the latest PyPI release, clone the `Hammer repository `__ somewhere else on your disk. Then: .. code-block:: shell pip install -e -Finally, you will need to override the ``site_packages_dir`` variable in ``vlsi/Makefile`` to point to the abspath of your Hammer repository. - Alternative RTL Flows --------------------- The Make-based build system provided supports using Hammer without using RTL generated by Chipyard. To push a custom Verilog module through, one only needs to append the following environment variables to the ``make buildfile`` command (or edit them directly in the Makefile). diff --git a/vlsi/Makefile b/vlsi/Makefile index d87e938b..a25cc746 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -8,7 +8,6 @@ base_dir=$(abspath ..) vlsi_dir=$(abspath .) sim_dir=$(abspath .) -site_packages_dir?=$(shell python3 -c "import site; print(site.getsitepackages()[0])") ######################################################################################### # include shared variables @@ -22,7 +21,8 @@ include $(base_dir)/variables.mk sim_name ?= vcs # needed for GenerateSimFiles, but is unused tech_name ?= asap7 tech_dir ?= $(if $(filter $(tech_name),sky130 asap7 nangate45),\ - $(site_packages_dir)/hammer/technology/$(tech_name), \ + $(shell python3 -c "import os, hammer.technology.$(tech_name);\ + print(os.path.dirname(hammer.technology.$(tech_name).__file__))"),\ $(vlsi_dir)/hammer-$(tech_name)-plugin/hammer/$(tech_name)) SMEMS_COMP ?= $(tech_dir)/sram-compiler.json SMEMS_CACHE ?= $(tech_dir)/sram-cache.json diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 25f36e00..6ce000a2 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -34,5 +34,5 @@ ifeq ($(tutorial),sky130-openroad) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) VLSI_OBJ_DIR ?= build-sky130-openroad # This prevents multidimensional arrays (unsupported by Yosys) at the expense of elaboration time. - #ENABLE_CUSTOM_FIRRTL_PASS = 1 + ENABLE_CUSTOM_FIRRTL_PASS = 1 endif From 83764d3329c3ec3a17d5aaf544d34e3c7c9e8df4 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Thu, 9 Feb 2023 13:01:08 -0800 Subject: [PATCH 36/90] [skip ci] add power-rtl and power-syn targets --- docs/VLSI/Advanced-Usage.rst | 34 ++++++--- vlsi/Makefile | 137 ++++++----------------------------- vlsi/example-tools.yml | 1 + vlsi/power.mk | 85 +++++++++++++++++++--- vlsi/sim.mk | 78 ++++++++++++++++++++ 5 files changed, 199 insertions(+), 136 deletions(-) diff --git a/docs/VLSI/Advanced-Usage.rst b/docs/VLSI/Advanced-Usage.rst index 8ea54c78..07e71884 100644 --- a/docs/VLSI/Advanced-Usage.rst +++ b/docs/VLSI/Advanced-Usage.rst @@ -47,37 +47,51 @@ For more information about all the options that can be passed to the Hammer comm Manual Step Execution & Dependency Tracking ------------------------------------------- -It is invariably necessary to debug certain steps of the flow, e.g. if the power strap settings need to be updated. The underlying Hammer commands support options such as ``--to_step``, ``--from_step``, and ``--only_step``. These allow you to control which steps of a particular action are executed. +It is invariably necessary to debug certain steps of the flow, e.g. if the power strap settings need to be updated. The underlying Hammer commands support options such as ``--stop_after_step``, ``--start_before_step``, and ``--only_step``. These allow you to control which steps of a particular action are executed. Make's dependency tracking can sometimes result in re-starting the entire flow when the user only wants to re-run a certain action. Hammer's build system has "redo" targets such as ``redo-syn`` and ``redo-par`` to run certain actions without typing out the entire Hammer command. -Say you need to update some power straps settings in ``example.yml`` and want to try out the new settings: +Say you need to update some power straps settings in ``new_power_straps.yml`` and want to try out the new settings: .. code-block:: shell - make redo-par HAMMER_REDO_ARGS='-p example.yml --only_step power_straps' + make redo-par HAMMER_REDO_ARGS='-p new_power_straps.yml --only_step power_straps' + +The command that is executed will be: + +.. code-block:: shell + + ./example-vlsi -e /path/to/env.yml -p /path/to/par-input.json -p new_power_straps.yml --only_step power_straps --obj_dir /path/to/build par Hierarchical RTL/Gate-level Simulation, Power Estimation -------------------------------------------------------- -With the Synopsys plugin, hierarchical RTL and gate-level simulation is supported using VCS at the chip-level. Also, post-par power estimation with Voltus in the Cadence plugin is also supported. Special Make targets are provided in the ``vlsi/`` directory in ``sims.mk`` and ``power.mk``. Here is a brief description: +With the Synopsys plugin, hierarchical RTL and gate-level simulation is supported using VCS at the chip-level. Also, rtl-level/post-syn power estimation with Joules and post-par power estimation with Voltus in the Cadence plugin is also supported. Special Make targets are provided in the ``vlsi/`` directory in ``sims.mk`` and ``power.mk``. Here is a brief description: * ``sim-rtl``: RTL-level simulation - * ``sim-rtl-debug``: Also write a VPD waveform + * ``sim-rtl-debug``: Also write a FSDB waveform * ``sim-syn``: Post-synthesis gate-level simulation - * ``sim-syn-debug``: Also write a VPD waveform - * ``sim-syn-timing-debug``: Timing-annotated with VPD waveform + * ``sim-syn-debug``: Also write a FSDB waveform + * ``sim-syn-timing-debug``: Timing-annotated with FSDB waveform * ``sim-par``: Post-par gate-level simulation - * ``sim-par-debug``: Also write a VPD waveform - * ``sim-par-timing-debug``: Timing-annotated with VPD waveform + * ``sim-par-debug``: Also write a FSDB waveform + * ``sim-par-timing-debug``: Timing-annotated with FSDB waveform + +* ``power-rtl``: RTL-level power estimation + + * Note: this will run ``sim-rtl-debug`` first + +* ``power-syn``: Post-synthesis power estimation + + * Note: this will run ``sim-syn-debug`` first * ``power-par``: Post-par power estimation - * Note: this will run ``sim-par`` first + * Note: this will run ``sim-par-debug`` first * ``redo-`` can be appended to all above targets to break dependency tracking, like described above. diff --git a/vlsi/Makefile b/vlsi/Makefile index a25cc746..210589fb 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -109,122 +109,6 @@ $(SRAM_CONF): $(SRAM_GENERATOR_CONF) cd $(vlsi_dir) && $(HAMMER_EXEC) -e $(ENV_YML) $(foreach x,$(INPUT_CONFS) $(SRAM_GENERATOR_CONF), -p $(x)) --obj_dir $(build_dir) sram_generator cd $(vlsi_dir) && cp output.json $@ -######################################################################################### -# simulation input configuration -######################################################################################### -include $(base_dir)/vcs.mk - -SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v - -# copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(build_dir) - cp -f $^ $(build_dir) - $(foreach file,\ - $^,\ - $(if $(filter %.h,$(file)),\ - ,\ - echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) - -SIM_CONF = $(OBJ_DIR)/sim-inputs.yml -SIM_DEBUG_CONF = $(OBJ_DIR)/sim-debug-inputs.yml -SIM_TIMING_CONF = $(OBJ_DIR)/sim-timing-inputs.yml - -include $(vlsi_dir)/sim.mk -$(SIM_CONF): $(sim_common_files) - mkdir -p $(dir $@) - echo "sim.inputs:" > $@ - echo " top_module: $(VLSI_TOP)" >> $@ - echo " tb_name: ''" >> $@ # don't specify -top - echo " input_files:" >> $@ - for x in $(shell cat $(sim_common_files)); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " input_files_meta: 'append'" >> $@ - echo " timescale: '1ns/10ps'" >> $@ - echo " options:" >> $@ - for x in $(filter-out -f $(sim_common_files),$(VCS_NONCC_OPTS)); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " options_meta: 'append'" >> $@ - echo " defines:" >> $@ - for x in $(subst +define+,,$(PREPROC_DEFINES)); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " defines_meta: 'append'" >> $@ - echo " compiler_cc_opts:" >> $@ - for x in $(filter-out "",$(VCS_CXXFLAGS)); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " compiler_cc_opts_meta: 'append'" >> $@ - echo " compiler_ld_opts:" >> $@ - for x in $(filter-out "",$(VCS_LDFLAGS)); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " compiler_ld_opts_meta: 'append'" >> $@ - echo " execution_flags_prepend: ['$(PERMISSIVE_ON)']" >> $@ - echo " execution_flags_append: ['$(PERMISSIVE_OFF)']" >> $@ - echo " execution_flags:" >> $@ - for x in $(SIM_FLAGS); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " execution_flags_meta: 'append'" >> $@ -ifneq ($(BINARY), ) - echo " benchmarks: ['$(BINARY)']" >> $@ -endif - echo " tb_dut: 'TestDriver.testHarness.$(VLSI_MODEL_DUT_NAME)'" >> $@ - -$(SIM_DEBUG_CONF): $(sim_common_files) - mkdir -p $(dir $@) - mkdir -p $(output_dir) - echo "sim.inputs:" > $@ - echo " defines: ['DEBUG']" >> $@ - echo " defines_meta: 'append'" >> $@ - echo " execution_flags:" >> $@ - for x in $(VERBOSE_FLAGS) $(WAVEFORM_FLAG); do \ - echo ' - "'$$x'"' >> $@; \ - done - echo " execution_flags_meta: 'append'" >> $@ - echo " saif.mode: 'time'" >> $@ - echo " saif.start_time: '0ns'" >> $@ - echo " saif.end_time: '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@ -ifndef USE_VPD - echo " options:" >> $@ - echo ' - "-kdb"' >> $@ - echo " options_meta: 'append'" >> $@ - echo "sim.outputs.waveforms: ['$(sim_out_name).fsdb']" >> $@ -else - echo "sim.outputs.waveforms: ['$(sim_out_name).vpd']" >> $@ -endif - -$(SIM_TIMING_CONF): $(sim_common_files) - mkdir -p $(dir $@) - echo "sim.inputs:" > $@ - echo " defines: ['NTC']" >> $@ - echo " defines_meta: 'append'" >> $@ - echo " timing_annotated: 'true'" >> $@ - -POWER_CONF = $(OBJ_DIR)/power-inputs.yml -include $(vlsi_dir)/power.mk -$(POWER_CONF): $(VLSI_RTL) - mkdir -p $(dir $@) - echo "power.inputs:" > $@ - echo " tb_dut: 'testHarness/$(VLSI_MODEL_DUT_NAME)'" >> $@ - echo " database: '$(OBJ_DIR)/par-rundir/$(VLSI_TOP)_FINAL'" >> $@ -ifneq ($(BINARY), ) - echo " waveforms: [" >> $@ -ifndef USE_VPD - echo " '$(sim_out_name).fsdb'" >> $@ -else - echo " '$(sim_out_name).vpd'" >> $@ -endif - echo " ]" >> $@ -endif - echo " start_times: ['0ns']" >> $@ - echo " end_times: [" >> $@ - echo " '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@ - echo " ]" >> $@ - ######################################################################################### # synthesis input configuration ######################################################################################### @@ -243,6 +127,27 @@ $(SYN_CONF): $(VLSI_RTL) echo ' - "'$$x'"' >> $@; \ done +######################################################################################### +# simulation and power input configuration +######################################################################################### +include $(base_dir)/vcs.mk + +SIM_FILE_REQS += \ + $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v + +# copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) +$(sim_files): $(SIM_FILE_REQS) | $(build_dir) + cp -f $^ $(build_dir) + $(foreach file,\ + $^,\ + $(if $(filter %.h,$(file)),\ + ,\ + echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) + +include $(vlsi_dir)/sim.mk + +include $(vlsi_dir)/power.mk + ######################################################################################### # AUTO BUILD FLOW ######################################################################################### diff --git a/vlsi/example-tools.yml b/vlsi/example-tools.yml index 23744eaa..57cfd124 100644 --- a/vlsi/example-tools.yml +++ b/vlsi/example-tools.yml @@ -18,5 +18,6 @@ vlsi.core.sim_tool: "hammer.sim.vcs" sim.vcs.version: "S-2021.09-SP1-1" # Voltus options vlsi.core.power_tool: "hammer.power.voltus" +power.joules.version: "211" power.voltus.version: "211_ISR3" # NOTE (about VCS+Voltus versions): if using FSDB, the VCS version should be approx 2 years older than the Voltus version for compatibility diff --git a/vlsi/power.mk b/vlsi/power.mk index 7fcc5c67..bc7359ee 100644 --- a/vlsi/power.mk +++ b/vlsi/power.mk @@ -1,10 +1,75 @@ -.PHONY: $(POWER_CONF) -power-par: $(POWER_CONF) sim-par-debug -power-par-$(VLSI_TOP): $(POWER_CONF) sim-par-debug-$(VLSI_TOP) -power-par: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -power-par-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -redo-power-par: $(POWER_CONF) -redo-power-par-$(VLSI_TOP): $(POWER_CONF) -redo-power-par: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -redo-power-par-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -$(OBJ_DIR)/power-par-%/power-output-full.json: private override HAMMER_EXTRA_ARGS += $(HAMMER_POWER_EXTRA_ARGS) +POWER_CONF = $(OBJ_DIR)/power-inputs.yml +POWER_RTL_CONF = $(OBJ_DIR)/power-rtl-inputs.yml +POWER_SYN_CONF = $(OBJ_DIR)/power-syn-inputs.yml +POWER_PAR_CONF = $(OBJ_DIR)/power-par-inputs.yml + +.PHONY: $(POWER_CONF) $(POWER_RTL_CONF) $(POWER_SYN_CONF) $(POWER_PAR_CONF) + +$(POWER_CONF): $(VLSI_RTL) + mkdir -p $(dir $@) + echo "power.inputs:" > $@ + echo " top_module: $(VLSI_TOP)" >> $@ + echo " tb_name: TestDriver" >> $@ + echo " tb_dut: 'testHarness/$(VLSI_MODEL_DUT_NAME)'" >> $@ +ifneq ($(BINARY), ) + echo " waveforms: [" >> $@ +ifndef USE_VPD + echo " '$(sim_out_name).fsdb'" >> $@ +else + echo " '$(sim_out_name).vpd'" >> $@ +endif + echo " ]" >> $@ +endif + echo " start_times: ['0ns']" >> $@ + echo " end_times: [" >> $@ + echo " '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@ + echo " ]" >> $@ + +$(POWER_RTL_CONF): $(VLSI_RTL) + echo "vlsi.core.power_tool: hammer.power.joules" > $@ + echo "power.inputs:" >> $@ + echo " level: rtl" >> $@ + echo " input_files:" >> $@ + for x in $(shell cat $(VLSI_RTL)); do \ + echo ' - "'$$x'"' >> $@; \ + done + +$(POWER_SYN_CONF): $(VLSI_RTL) + echo "vlsi.core.power_tool: hammer.power.joules" > $@ + echo "power.inputs:" >> $@ + echo " level: syn" >> $@ + +$(POWER_PAR_CONF): $(VLSI_RTL) + echo "vlsi.core.power_tool: hammer.power.voltus" > $@ + echo "power.inputs:" >> $@ + echo " level: par" >> $@ + echo " database: '$(OBJ_DIR)/par-rundir/$(VLSI_TOP)_FINAL'" >> $@ + +power-rtl: $(POWER_CONF) $(POWER_RTL_CONF) sim-rtl-debug +power-rtl-$(VLSI_TOP): $(POWER_CONF) $(POWER_RTL_CONF) sim-rtl-debug-$(VLSI_TOP) +power-rtl: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_RTL_CONF) +power-rtl-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_RTL_CONF) +redo-power-rtl: $(POWER_CONF) $(POWER_RTL_CONF) +redo-power-rtl-$(VLSI_TOP): $(POWER_CONF) $(POWER_RTL_CONF) +redo-power-rtl: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_RTL_CONF) +redo-power-rtl-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_RTL_CONF) + +power-syn: $(POWER_CONF) $(POWER_SYN_CONF) sim-syn-debug +power-syn-$(VLSI_TOP): $(POWER_CONF) $(POWER_SYN_CONF) sim-syn-debug-$(VLSI_TOP) +power-syn: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CONF) +power-syn-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CONF) +redo-power-syn: $(POWER_CONF) $(POWER_SYN_CONF) +redo-power-syn-$(VLSI_TOP): $(POWER_CONF) $(POWER_SYN_CONF) +redo-power-syn: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CONF) +redo-power-syn-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CONF) + +power-par: $(POWER_CONF) $(POWER_PAR_CONF) sim-par-debug +power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_CONF) sim-par-debug-$(VLSI_TOP) +power-par: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) +power-par-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) +redo-power-par: $(POWER_CONF) $(POWER_PAR_CONF) +redo-power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_CONF) +redo-power-par: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) +redo-power-par-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) + +$(OBJ_DIR)/power-%/power-output-full.json: private override HAMMER_EXTRA_ARGS += $(HAMMER_POWER_EXTRA_ARGS) diff --git a/vlsi/sim.mk b/vlsi/sim.mk index 5bd02853..65b836cc 100644 --- a/vlsi/sim.mk +++ b/vlsi/sim.mk @@ -1,4 +1,82 @@ +SIM_CONF = $(OBJ_DIR)/sim-inputs.yml +SIM_DEBUG_CONF = $(OBJ_DIR)/sim-debug-inputs.yml +SIM_TIMING_CONF = $(OBJ_DIR)/sim-timing-inputs.yml + .PHONY: $(SIM_CONF) $(SIM_DEBUG_CONF) $(SIM_TIMING_CONF) + +$(SIM_CONF): $(sim_common_files) + mkdir -p $(dir $@) + echo "sim.inputs:" > $@ + echo " top_module: $(VLSI_TOP)" >> $@ + echo " tb_name: ''" >> $@ # don't specify -top + echo " input_files:" >> $@ + for x in $(shell cat $(sim_common_files)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " input_files_meta: 'append'" >> $@ + echo " timescale: '1ns/10ps'" >> $@ + echo " options:" >> $@ + for x in $(filter-out -f $(sim_common_files),$(VCS_NONCC_OPTS)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " options_meta: 'append'" >> $@ + echo " defines:" >> $@ + for x in $(subst +define+,,$(PREPROC_DEFINES)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " defines_meta: 'append'" >> $@ + echo " compiler_cc_opts:" >> $@ + for x in $(filter-out "",$(VCS_CXXFLAGS)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " compiler_cc_opts_meta: 'append'" >> $@ + echo " compiler_ld_opts:" >> $@ + for x in $(filter-out "",$(VCS_LDFLAGS)); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " compiler_ld_opts_meta: 'append'" >> $@ + echo " execution_flags_prepend: ['$(PERMISSIVE_ON)']" >> $@ + echo " execution_flags_append: ['$(PERMISSIVE_OFF)']" >> $@ + echo " execution_flags:" >> $@ + for x in $(SIM_FLAGS); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " execution_flags_meta: 'append'" >> $@ +ifneq ($(BINARY), ) + echo " benchmarks: ['$(BINARY)']" >> $@ +endif + echo " tb_dut: 'TestDriver.testHarness.$(VLSI_MODEL_DUT_NAME)'" >> $@ + +$(SIM_DEBUG_CONF): $(sim_common_files) + mkdir -p $(dir $@) + mkdir -p $(output_dir) + echo "sim.inputs:" > $@ + echo " defines: ['DEBUG']" >> $@ + echo " defines_meta: 'append'" >> $@ + echo " execution_flags:" >> $@ + for x in $(VERBOSE_FLAGS) $(WAVEFORM_FLAG); do \ + echo ' - "'$$x'"' >> $@; \ + done + echo " execution_flags_meta: 'append'" >> $@ + echo " saif.mode: 'time'" >> $@ + echo " saif.start_time: '0ns'" >> $@ + echo " saif.end_time: '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@ +ifndef USE_VPD + echo " options:" >> $@ + echo ' - "-kdb"' >> $@ + echo " options_meta: 'append'" >> $@ + echo "sim.outputs.waveforms: ['$(sim_out_name).fsdb']" >> $@ +else + echo "sim.outputs.waveforms: ['$(sim_out_name).vpd']" >> $@ +endif + +$(SIM_TIMING_CONF): $(sim_common_files) + mkdir -p $(dir $@) + echo "sim.inputs:" > $@ + echo " defines: ['NTC']" >> $@ + echo " defines_meta: 'append'" >> $@ + echo " timing_annotated: 'true'" >> $@ + # Update hammer top-level sim targets to include our generated sim configs redo-sim-rtl: $(SIM_CONF) redo-sim-rtl-$(VLSI_TOP): $(SIM_CONF) From bd30b515a73182efe7b02aa3660a26c56b76145e Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 10 Feb 2023 12:36:55 -0800 Subject: [PATCH 37/90] firtool 1.29.0.newhammerhotfix works for Yosys --- conda-reqs/chipyard.yaml | 4 +- ...irements-esp-tools-linux-64.conda-lock.yml | 181 ++++++++++-------- ...ements-riscv-tools-linux-64.conda-lock.yml | 181 ++++++++++-------- vlsi/tutorial.mk | 2 +- 4 files changed, 207 insertions(+), 161 deletions(-) diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 32abb674..cfa40e6f 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -29,7 +29,7 @@ dependencies: - binutils - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo - - firtool>=1.29 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock + - firtool==1.29.0.newhammerhotfix # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock # firemarshal deps - python>=3.9 @@ -129,7 +129,7 @@ dependencies: - mypy-boto3-ec2==1.21.9 - sure==2.0.0 - pylddwrap==1.2.1 - - hammer-vlsi[asap7] + - hammer-vlsi[asap7]==1.0.0 # doc requirements - sphinx diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index a40f571e..eeefa04c 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: f9f3f7cef557df255bdd726e764500a2fea6dfbc8c9ec8572aa0f287b19775b4 + linux-64: 74a3ef6460565c7ee37ad0be73fb5b78e4a2a7ca57ee4126f9c093fced1e963b platforms: - linux-64 sources: @@ -873,14 +873,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 45758f4ece9c8b7b5f99328bd5caae51 - sha256: 2fca71b8d95edc0e530f9512cdd9187407ad486868b7c247fc16cab1e4172ffa + md5: e043403cd18faf815bf7705ab6c1e092 + sha256: cd981c5c18463bc7a164fcf45c5cf697d58852b780b4dfa5e83c18c1fda6d7cd manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_2.conda - version: 3.0.7 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.8-h0b41bf4_0.conda + version: 3.0.8 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1155,14 +1155,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: a4aa97b71e4c7d735cda9149f2379796 - sha256: a27405754cea702dc7634ba79035d533f0e43956e8ceebc33cffc0b474cad3fb + md5: b5c5f55b4ec3a7c8d3646ce21e2b76e4 + sha256: 90b9b6dc6d9ff620b443e696542ce8fcc850ed3e718b612cfa3867492ebededc manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0-0_h1234567_ga5f6aa51f.conda - version: 1.29.0 + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0.newhammerhotfix-0_h1234567_ga5f6aa51f.conda + version: 1.29.0.newhammerhotfix - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -2034,16 +2034,16 @@ package: version: 2.1.1 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + __unix: '' + python: '>=3.8' hash: - md5: 3613ff4128b3e565d048106196206929 - sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c + md5: 20e4087407c7cb04a40817114b333dbf + sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2382,13 +2382,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: e80f44a23af61278b5efce3562f25e91 - sha256: 81e2f7b100fe0d458460a21d81535b88c84534e55fdc7023e8337086755543dc + md5: 276ec1f956a520363016f909ec166f65 + sha256: 48c0820ba1fe5701d11a5b7967a2c93d73607741a20e511214ece7fec7b9dc7f manager: conda name: libclang-cpp15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -2397,13 +2397,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: dcfae510179c3de2e42b3a2276d059e0 - sha256: 71539a4d472adc39a52e3cbbf5d33c06f09fd63f0c8f718fd2fb1274e7511b57 + md5: a3a0f7a6f0885f5e1e0ec691566afb77 + sha256: e48481c37d02aefeddcfac20d48cf13b838c5f7b9018300fa7eac404d30f3d7f manager: conda name: libclang13 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_1.conda version: 15.0.7 - category: main dependencies: @@ -2628,16 +2628,15 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.8' hash: - md5: d86903c57fe229d9dd8878a6dd9d149f - sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 + md5: 7d301a0d25f424d96175f810935f0da9 + sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 version: 1.0.0 - category: main dependencies: @@ -2781,16 +2780,16 @@ package: version: 0.19.3 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + __unix: '' + python: '>=3.8' hash: - md5: d34b97a2386932b97c7cb80916a673e7 - sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 + md5: 2a7de29fb590ca14b5243c4c812c8025 + sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -2994,6 +2993,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_2.tar.bz2 version: 1.1.5 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 72271e8e64d467a534ee93f04f018dff + sha256: 8f3dc4eb4d7aa22c67e4c51e83a048fc546834dd53456330dad5377e9e2b2f4a + manager: conda + name: sty + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sty-1.0.0-pyhd8ed1ab_0.tar.bz2 + version: 1.0.0 - category: main dependencies: python: '>=2.7' @@ -3241,14 +3252,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 7cc265528c9db5e40a771438108f6810 - sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d + md5: 41b09d997939e83b231c4557a90c3b13 + sha256: 0a9a545b8dc46c847658ebfa636257ea5993a355419c1d3b2f14810730ee0a82 manager: conda name: zipp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda - version: 3.12.1 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.13.0-pyhd8ed1ab_0.conda + version: 3.13.0 - category: main dependencies: python: '>=3.6' @@ -3326,13 +3337,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: ffc64b2f543d2d128a9fc4e75e4436ac - sha256: e793476788a00ddedd2cd4f41fb59d9ca6f47e593eb04d5012b11206a1a3d0c7 + md5: d2fcc7c0381194ca6fcb38a6d06255b8 + sha256: eee53b98b40099c9289a732f6c915f9c80714d8a7a8a977f921c0782c6f5200f manager: conda name: clang-format-15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3600,19 +3611,19 @@ package: version: '1.9' - category: main dependencies: - libclang13: 15.0.7 default_h3e3d535_0 + libclang13: 15.0.7 default_h3e3d535_1 libgcc-ng: '>=12' libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 189f7f97245f594b7a9d8e2b9f311cf8 - sha256: e837bd39a07949e6f27d69bcc784ecc1e7c9f7c96c920c0a1f875f5c23b986b2 + md5: 36c65ed73b7c92589bd9562ef8a6023d + sha256: eba3ed760c72c992a04d86455556ecb90c0e1e3688defcac44b28a848d71651c manager: conda name: libclang optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3928,20 +3939,20 @@ package: version: 0.7.0 - category: main dependencies: - clang-format-15: 15.0.7 default_had23c3d_0 + clang-format-15: 15.0.7 default_had23c3d_1 libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 01a6a903c7217697422aed91a0ba197d - sha256: c240e47db71a38f975d05c4467a8d0cc068a14f91189fce24c36187f369220b5 + md5: 841d93c086f15b68916b3455711c2638 + sha256: 517c759576600decafd005b14f3df9660b525fdb85645a0c588ea979b62bdc5e manager: conda name: clang-format optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3960,18 +3971,18 @@ package: dependencies: cffi: '>=1.12' libgcc-ng: '>=12' - openssl: '>=3.0.7,<4.0a0' + openssl: '>=3.0.8,<4.0a0' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 70ac60b214a8df9b9ce63e05af7d0976 - sha256: eae8fcb35d983ee2155b8450f8aaf8709062366855d992cb7f9aa686623b99b8 + md5: 3245013812dfbff6a22e57533ac6f69d + sha256: 4349d5416c718c331454b957e0a077500fb4fb9e8f3b7eadb8777a3842021818 manager: conda name: cryptography optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py39h079d5ae_0.conda - version: 39.0.0 + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.1-py39h079d5ae_0.conda + version: 39.0.1 - category: main dependencies: click: '>=8.0' @@ -4146,14 +4157,14 @@ package: python: '>=3.7' typing-extensions: '>=4.4' hash: - md5: 0b4cc3f8181b0d8446eb5387d7848a54 - sha256: 5d469cd150e4413b15eedb66bdc7a3831a4249e2e5646b8c9dcdf713e35fc598 + md5: c34694044915d7f291ef257029f2e2af + sha256: ba1c3ea59cc5419756fd6597b3d691802b862689fa9e9fcac189333a1915ea1e manager: conda name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.6.2-pyhd8ed1ab_0.conda - version: 2.6.2 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.0.0-pyhd8ed1ab_0.conda + version: 3.0.0 - category: main dependencies: libgcc-ng: '>=12' @@ -4276,7 +4287,7 @@ package: version: 1.12.3 - category: main dependencies: - clang-format: 15.0.7 default_had23c3d_0 + clang-format: 15.0.7 default_had23c3d_1 libclang: '>=15.0.7,<15.1.0a0' libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' @@ -4284,13 +4295,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: d08e8e7facf7aa93aaf8ae20b31fda65 - sha256: 5456e5d86b908d1cad5d2dc924f836404b5e5d97a77db518372e7ad7d5daf469 + md5: c23e2b0154fb2eb92442fa8ecbcf571c + sha256: d9931c1ce5907073de0269666881309cc896267723f38ef269101bd211e49062 manager: conda name: clang-tools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -4498,20 +4509,20 @@ package: version: 3.3.1 - category: main dependencies: - distlib: '>=0.3.6,<1' - filelock: '>=3.4.1,<4' - platformdirs: '>=2.4,<3' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + distlib: <1,>=0.3.6 + filelock: <4,>=3.4.1 + importlib-metadata: '>=4.8.3' + platformdirs: <4,>=2.4 + python: '>=3.7' hash: - md5: dd1be6ccb267f13bdc5c44cfb76c4080 - sha256: 3d9c15c6a69160d4133dc77adad49c70d932139631a5e52602637cd77ba82e10 + md5: afaa9bf6992f67a82d75fad47a93ec84 + sha256: 1b69ac8afbb4ab6fe38ad4ceda4922d80d8951716683f891d501bc985fdac7ff manager: conda name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.17.1-py39hf3d152e_0.conda - version: 20.17.1 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.19.0-pyhd8ed1ab_0.conda + version: 20.19.0 - category: main dependencies: conda-package-streaming: '>=0.7.0' @@ -4603,14 +4614,14 @@ package: pyyaml: '>=5.1' virtualenv: '>=20.0.8' hash: - md5: 9800c173ab73153bbed00e51a0f86c83 - sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d + md5: 8a98273ee904735747a8f6706b187f3e + sha256: 39a494a675956f12f1db2c875b3fd083ba2d0696891ac829b68ecf1c177b4b7b manager: conda name: pre-commit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda - version: 3.0.3 + url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.4-py39hf3d152e_0.conda + version: 3.0.4 - category: main dependencies: __unix: '' @@ -5015,14 +5026,14 @@ package: python: '>=3.7' typing_extensions: ~=4.4.0 hash: - md5: 598c51cdb44da89abe884e6d36f3309f - sha256: 2b52ec2fdd49f9aca3b764b407f1aa1549c43cbb78762912c5ae86551b4c57ca + md5: 8012988888c1b6416ed03ac04979bbc3 + sha256: b2c364bedc4e5d6b17e50aee57c9bf1c151e96b04f3deb6d194e6911fa6f2117 manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.58.1-pyhd8ed1ab_0.conda - version: 1.58.1 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.59.0-pyhd8ed1ab_0.conda + version: 1.59.0 - category: main dependencies: boto3: '' @@ -5194,6 +5205,17 @@ package: platform: linux-64 url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl version: 2.0.8 +- category: main + dependencies: + numpy: '*' + hash: + sha256: 0ce8a159d253399ba5092692548b5b6990cbf3d1febd9117f79400cb7a5426df + manager: pip + name: gdspy + optional: false + platform: linux-64 + url: https://files.pythonhosted.org/packages/1d/e4/97b8add92fbec2a9890ad4777272e9a9e4d7a0ceeac42b7e1febe94f0e86/gdspy-1.4.zip + version: '1.4' - category: main dependencies: bcrypt: '>=3' @@ -5241,18 +5263,19 @@ package: version: 1.19.1 - category: main dependencies: + gdspy: '1.4' numpy: '>=1.23.0,<2.0.0' pydantic: '>=1.9.2,<2.0.0' pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: c593396dee542e25632a5cb2487f255bbdf9d7e7e6e311e8cb5b8278b2c27e10 + sha256: 2945516583e15adb10da14a819796b73ef289061c9c130762514aeb88dca8aee manager: pip name: hammer-vlsi optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/63/98/235edaf1baccb3fb2c6b1bc96d278d4cf6854e765363cfbf7da8c80b9751/hammer_vlsi-1.0.0rc2-py3-none-any.whl - version: 1.0.0rc2 + url: https://files.pythonhosted.org/packages/e2/d3/215e1a6ae3e3d6a7e1e960a61f0c90393a8e4f7b9fdaa669bd00d1e9be1d/hammer_vlsi-1.0.0-py3-none-any.whl + version: 1.0.0 - category: main dependencies: asttokens: '>=2,<3' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 35cb54d8..5fb44362 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: a4e47e2bc87e218df5a95db5c131d80b5abb1be6c992fc5bec4cfc7b186890d6 + linux-64: 17813c362ebc2af7a855bbeaa954812467d2552b1697c7d0b80ecef3f5b0b278 platforms: - linux-64 sources: @@ -873,14 +873,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 45758f4ece9c8b7b5f99328bd5caae51 - sha256: 2fca71b8d95edc0e530f9512cdd9187407ad486868b7c247fc16cab1e4172ffa + md5: e043403cd18faf815bf7705ab6c1e092 + sha256: cd981c5c18463bc7a164fcf45c5cf697d58852b780b4dfa5e83c18c1fda6d7cd manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_2.conda - version: 3.0.7 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.8-h0b41bf4_0.conda + version: 3.0.8 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1155,14 +1155,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: a4aa97b71e4c7d735cda9149f2379796 - sha256: a27405754cea702dc7634ba79035d533f0e43956e8ceebc33cffc0b474cad3fb + md5: b5c5f55b4ec3a7c8d3646ce21e2b76e4 + sha256: 90b9b6dc6d9ff620b443e696542ce8fcc850ed3e718b612cfa3867492ebededc manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0-0_h1234567_ga5f6aa51f.conda - version: 1.29.0 + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0.newhammerhotfix-0_h1234567_ga5f6aa51f.conda + version: 1.29.0.newhammerhotfix - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -2034,16 +2034,16 @@ package: version: 2.1.1 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + __unix: '' + python: '>=3.8' hash: - md5: 3613ff4128b3e565d048106196206929 - sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c + md5: 20e4087407c7cb04a40817114b333dbf + sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2365,13 +2365,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: e80f44a23af61278b5efce3562f25e91 - sha256: 81e2f7b100fe0d458460a21d81535b88c84534e55fdc7023e8337086755543dc + md5: 276ec1f956a520363016f909ec166f65 + sha256: 48c0820ba1fe5701d11a5b7967a2c93d73607741a20e511214ece7fec7b9dc7f manager: conda name: libclang-cpp15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -2380,13 +2380,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: dcfae510179c3de2e42b3a2276d059e0 - sha256: 71539a4d472adc39a52e3cbbf5d33c06f09fd63f0c8f718fd2fb1274e7511b57 + md5: a3a0f7a6f0885f5e1e0ec691566afb77 + sha256: e48481c37d02aefeddcfac20d48cf13b838c5f7b9018300fa7eac404d30f3d7f manager: conda name: libclang13 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.7-default_h3e3d535_1.conda version: 15.0.7 - category: main dependencies: @@ -2611,16 +2611,15 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.8' hash: - md5: d86903c57fe229d9dd8878a6dd9d149f - sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 + md5: 7d301a0d25f424d96175f810935f0da9 + sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2 version: 1.0.0 - category: main dependencies: @@ -2764,16 +2763,16 @@ package: version: 0.19.3 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + __unix: '' + python: '>=3.8' hash: - md5: d34b97a2386932b97c7cb80916a673e7 - sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 + md5: 2a7de29fb590ca14b5243c4c812c8025 + sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -2994,6 +2993,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_2.tar.bz2 version: 1.1.5 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 72271e8e64d467a534ee93f04f018dff + sha256: 8f3dc4eb4d7aa22c67e4c51e83a048fc546834dd53456330dad5377e9e2b2f4a + manager: conda + name: sty + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sty-1.0.0-pyhd8ed1ab_0.tar.bz2 + version: 1.0.0 - category: main dependencies: python: '>=2.7' @@ -3241,14 +3252,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 7cc265528c9db5e40a771438108f6810 - sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d + md5: 41b09d997939e83b231c4557a90c3b13 + sha256: 0a9a545b8dc46c847658ebfa636257ea5993a355419c1d3b2f14810730ee0a82 manager: conda name: zipp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda - version: 3.12.1 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.13.0-pyhd8ed1ab_0.conda + version: 3.13.0 - category: main dependencies: python: '>=3.6' @@ -3326,13 +3337,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: ffc64b2f543d2d128a9fc4e75e4436ac - sha256: e793476788a00ddedd2cd4f41fb59d9ca6f47e593eb04d5012b11206a1a3d0c7 + md5: d2fcc7c0381194ca6fcb38a6d06255b8 + sha256: eee53b98b40099c9289a732f6c915f9c80714d8a7a8a977f921c0782c6f5200f manager: conda name: clang-format-15 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3600,19 +3611,19 @@ package: version: '1.9' - category: main dependencies: - libclang13: 15.0.7 default_h3e3d535_0 + libclang13: 15.0.7 default_h3e3d535_1 libgcc-ng: '>=12' libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 189f7f97245f594b7a9d8e2b9f311cf8 - sha256: e837bd39a07949e6f27d69bcc784ecc1e7c9f7c96c920c0a1f875f5c23b986b2 + md5: 36c65ed73b7c92589bd9562ef8a6023d + sha256: eba3ed760c72c992a04d86455556ecb90c0e1e3688defcac44b28a848d71651c manager: conda name: libclang optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3928,20 +3939,20 @@ package: version: 0.7.0 - category: main dependencies: - clang-format-15: 15.0.7 default_had23c3d_0 + clang-format-15: 15.0.7 default_had23c3d_1 libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' libllvm15: '>=15.0.7,<15.1.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 01a6a903c7217697422aed91a0ba197d - sha256: c240e47db71a38f975d05c4467a8d0cc068a14f91189fce24c36187f369220b5 + md5: 841d93c086f15b68916b3455711c2638 + sha256: 517c759576600decafd005b14f3df9660b525fdb85645a0c588ea979b62bdc5e manager: conda name: clang-format optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -3960,18 +3971,18 @@ package: dependencies: cffi: '>=1.12' libgcc-ng: '>=12' - openssl: '>=3.0.7,<4.0a0' + openssl: '>=3.0.8,<4.0a0' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 70ac60b214a8df9b9ce63e05af7d0976 - sha256: eae8fcb35d983ee2155b8450f8aaf8709062366855d992cb7f9aa686623b99b8 + md5: 3245013812dfbff6a22e57533ac6f69d + sha256: 4349d5416c718c331454b957e0a077500fb4fb9e8f3b7eadb8777a3842021818 manager: conda name: cryptography optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py39h079d5ae_0.conda - version: 39.0.0 + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.1-py39h079d5ae_0.conda + version: 39.0.1 - category: main dependencies: click: '>=8.0' @@ -4146,14 +4157,14 @@ package: python: '>=3.7' typing-extensions: '>=4.4' hash: - md5: 0b4cc3f8181b0d8446eb5387d7848a54 - sha256: 5d469cd150e4413b15eedb66bdc7a3831a4249e2e5646b8c9dcdf713e35fc598 + md5: c34694044915d7f291ef257029f2e2af + sha256: ba1c3ea59cc5419756fd6597b3d691802b862689fa9e9fcac189333a1915ea1e manager: conda name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.6.2-pyhd8ed1ab_0.conda - version: 2.6.2 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.0.0-pyhd8ed1ab_0.conda + version: 3.0.0 - category: main dependencies: libgcc-ng: '>=12' @@ -4276,7 +4287,7 @@ package: version: 1.12.3 - category: main dependencies: - clang-format: 15.0.7 default_had23c3d_0 + clang-format: 15.0.7 default_had23c3d_1 libclang: '>=15.0.7,<15.1.0a0' libclang-cpp15: '>=15.0.7,<15.1.0a0' libgcc-ng: '>=12' @@ -4284,13 +4295,13 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: d08e8e7facf7aa93aaf8ae20b31fda65 - sha256: 5456e5d86b908d1cad5d2dc924f836404b5e5d97a77db518372e7ad7d5daf469 + md5: c23e2b0154fb2eb92442fa8ecbcf571c + sha256: d9931c1ce5907073de0269666881309cc896267723f38ef269101bd211e49062 manager: conda name: clang-tools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-15.0.7-default_had23c3d_1.conda version: 15.0.7 - category: main dependencies: @@ -4498,20 +4509,20 @@ package: version: 3.3.1 - category: main dependencies: - distlib: '>=0.3.6,<1' - filelock: '>=3.4.1,<4' - platformdirs: '>=2.4,<3' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + distlib: <1,>=0.3.6 + filelock: <4,>=3.4.1 + importlib-metadata: '>=4.8.3' + platformdirs: <4,>=2.4 + python: '>=3.7' hash: - md5: dd1be6ccb267f13bdc5c44cfb76c4080 - sha256: 3d9c15c6a69160d4133dc77adad49c70d932139631a5e52602637cd77ba82e10 + md5: afaa9bf6992f67a82d75fad47a93ec84 + sha256: 1b69ac8afbb4ab6fe38ad4ceda4922d80d8951716683f891d501bc985fdac7ff manager: conda name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.17.1-py39hf3d152e_0.conda - version: 20.17.1 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.19.0-pyhd8ed1ab_0.conda + version: 20.19.0 - category: main dependencies: conda-package-streaming: '>=0.7.0' @@ -4603,14 +4614,14 @@ package: pyyaml: '>=5.1' virtualenv: '>=20.0.8' hash: - md5: 9800c173ab73153bbed00e51a0f86c83 - sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d + md5: 8a98273ee904735747a8f6706b187f3e + sha256: 39a494a675956f12f1db2c875b3fd083ba2d0696891ac829b68ecf1c177b4b7b manager: conda name: pre-commit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda - version: 3.0.3 + url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.4-py39hf3d152e_0.conda + version: 3.0.4 - category: main dependencies: __unix: '' @@ -5015,14 +5026,14 @@ package: python: '>=3.7' typing_extensions: ~=4.4.0 hash: - md5: 598c51cdb44da89abe884e6d36f3309f - sha256: 2b52ec2fdd49f9aca3b764b407f1aa1549c43cbb78762912c5ae86551b4c57ca + md5: 8012988888c1b6416ed03ac04979bbc3 + sha256: b2c364bedc4e5d6b17e50aee57c9bf1c151e96b04f3deb6d194e6911fa6f2117 manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.58.1-pyhd8ed1ab_0.conda - version: 1.58.1 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.59.0-pyhd8ed1ab_0.conda + version: 1.59.0 - category: main dependencies: boto3: '' @@ -5194,6 +5205,17 @@ package: platform: linux-64 url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl version: 2.0.8 +- category: main + dependencies: + numpy: '*' + hash: + sha256: 0ce8a159d253399ba5092692548b5b6990cbf3d1febd9117f79400cb7a5426df + manager: pip + name: gdspy + optional: false + platform: linux-64 + url: https://files.pythonhosted.org/packages/1d/e4/97b8add92fbec2a9890ad4777272e9a9e4d7a0ceeac42b7e1febe94f0e86/gdspy-1.4.zip + version: '1.4' - category: main dependencies: bcrypt: '>=3' @@ -5241,18 +5263,19 @@ package: version: 1.19.1 - category: main dependencies: + gdspy: '1.4' numpy: '>=1.23.0,<2.0.0' pydantic: '>=1.9.2,<2.0.0' pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: c593396dee542e25632a5cb2487f255bbdf9d7e7e6e311e8cb5b8278b2c27e10 + sha256: 2945516583e15adb10da14a819796b73ef289061c9c130762514aeb88dca8aee manager: pip name: hammer-vlsi optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/63/98/235edaf1baccb3fb2c6b1bc96d278d4cf6854e765363cfbf7da8c80b9751/hammer_vlsi-1.0.0rc2-py3-none-any.whl - version: 1.0.0rc2 + url: https://files.pythonhosted.org/packages/e2/d3/215e1a6ae3e3d6a7e1e960a61f0c90393a8e4f7b9fdaa669bd00d1e9be1d/hammer_vlsi-1.0.0-py3-none-any.whl + version: 1.0.0 - category: main dependencies: asttokens: '>=2,<3' diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 6ce000a2..9b69b149 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -33,6 +33,6 @@ ifeq ($(tutorial),sky130-openroad) EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) VLSI_OBJ_DIR ?= build-sky130-openroad - # This prevents multidimensional arrays (unsupported by Yosys) at the expense of elaboration time. + # Yosys compatibility for CIRCT-generated Verilog, at the expense of elaboration time. ENABLE_CUSTOM_FIRRTL_PASS = 1 endif From ffb6c62d1e8ccd05b788415514e133eccd636e2d Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 10 Feb 2023 13:59:38 -0800 Subject: [PATCH 38/90] Set VLOG_MODEL=MODEL by default in variables.mk This is what 99% of users will want if they override `MODEL`. --- variables.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/variables.mk b/variables.mk index fab54a6a..8f335519 100644 --- a/variables.mk +++ b/variables.mk @@ -67,7 +67,7 @@ SUB_PROJECT ?= chipyard ifeq ($(SUB_PROJECT),chipyard) SBT_PROJECT ?= chipyard MODEL ?= TestHarness - VLOG_MODEL ?= TestHarness + VLOG_MODEL ?= $(MODEL) MODEL_PACKAGE ?= $(SBT_PROJECT) CONFIG ?= RocketConfig CONFIG_PACKAGE ?= $(SBT_PROJECT) @@ -79,7 +79,7 @@ endif ifeq ($(SUB_PROJECT),hwacha) SBT_PROJECT ?= chipyard MODEL ?= TestHarness - VLOG_MODEL ?= TestHarness + VLOG_MODEL ?= $(MODEL) MODEL_PACKAGE ?= freechips.rocketchip.system CONFIG ?= HwachaConfig CONFIG_PACKAGE ?= hwacha @@ -91,7 +91,7 @@ endif ifeq ($(SUB_PROJECT),testchipip) SBT_PROJECT ?= chipyard MODEL ?= TestHarness - VLOG_MODEL ?= TestHarness + VLOG_MODEL ?= $(MODEL) MODEL_PACKAGE ?= chipyard.unittest CONFIG ?= TestChipUnitTestConfig CONFIG_PACKAGE ?= testchipip @@ -103,7 +103,7 @@ endif ifeq ($(SUB_PROJECT),icenet) SBT_PROJECT ?= chipyard MODEL ?= TestHarness - VLOG_MODEL ?= TestHarness + VLOG_MODEL ?= $(MODEL) MODEL_PACKAGE ?= chipyard.unittest CONFIG ?= IceNetUnitTestConfig CONFIG_PACKAGE ?= icenet @@ -115,7 +115,7 @@ endif ifeq ($(SUB_PROJECT),constellation) SBT_PROJECT ?= chipyard MODEL ?= TestHarness - VLOG_MODEL ?= TestHarness + VLOG_MODEL ?= $(MODEL) MODEL_PACKAGE ?= constellation.test CONFIG ?= TestConfig00 CONFIG_PACKAGE ?= constellation.test From 14dec6eb7117f00d884681353fff8dbff1d4b26d Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 10 Feb 2023 14:35:43 -0800 Subject: [PATCH 39/90] disallowPackedArrays still broken, but don't need it. Bump barstools. Remove redundanct conda reqs --- common.mk | 2 +- conda-requirements-riscv-tools.yaml | 134 ---------------------------- tools/barstools | 2 +- 3 files changed, 2 insertions(+), 136 deletions(-) delete mode 100644 conda-requirements-riscv-tools.yaml diff --git a/common.mk b/common.mk index ded40c5e..609fbf49 100644 --- a/common.mk +++ b/common.mk @@ -194,7 +194,7 @@ endif --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowPackedArrays,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ + --lowering-options=emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ diff --git a/conda-requirements-riscv-tools.yaml b/conda-requirements-riscv-tools.yaml deleted file mode 100644 index 131c3ef5..00000000 --- a/conda-requirements-riscv-tools.yaml +++ /dev/null @@ -1,134 +0,0 @@ -channels: - - ucb-bar - - conda-forge - - nodefaults - -dependencies: - # https://conda-forge.org/feedstock-outputs/ - # filterable list of all conda-forge packages - # https://conda-forge.org/#contribute - # instructions on adding a recipe - # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications - # documentation on package_spec syntax for constraining versions - - - # handy tool for introspecting package relationships and file ownership - # see https://github.com/rvalieris/conda-tree - - conda-tree - - # bundle FireSim driver with deps into installer shell-script - - constructor - - - gcc - - gxx - - sysroot_linux-64>=2.17 # needed to match pre-built CI XRT glibc version - - conda-gcc-specs - - binutils - - - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo - - riscv-tools=1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock - - firtool # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock - - # firemarshal deps - - python>=3.8 - - bc - - patch - - which - - diffutils - - bash - - gzip - - bzip2 - - perl - - tar - - file - - findutils - - rsync - - psutil - - doit=0.35.0 - - gitpython - - humanfriendly - - e2fsprogs - - ctags - - bison - - flex - - expat - - make - - pyyaml - - unzip - - readline - - coreutils - - lzop - - qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock - - - jq - - bash-completion - - sbt - - ca-certificates - - mosh - - gmp - - mpfr - - mpc - - zlib - - vim - - git - - openjdk - - gengetopt - - libffi - - expat - - libusb1 - - ncurses - - cmake - - graphviz - - expect - - dtc - - verilator==4.226 - - screen - - elfutils - - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock - - conda-lock>=1 - - wget - - sed - - autoconf - - # clang-format for driver coding style enforcement. - - clang-format - - clang-tools - - # python packages - # While it is possible to install using pip after creating the - # conda environment, pip's dependency resolution can conflict with - # conda and create broken environments. It's best to use the conda - # packages so that the environment is consistent - - boto3==1.20.21 - - colorama==0.4.3 - - argcomplete==1.12.3 - - python-graphviz==0.19 - - pyparsing==3.0.6 - - numpy==1.19.5 - - kiwisolver==1.3.1 - - matplotlib-base==3.3.4 - - pandas==1.1.5 - - awscli==1.22.21 - - pytest==6.2.5 - - pytest-dependency==0.5.1 - - pytest-mock==3.7.0 - - moto==3.1.0 - - pyyaml==5.4.1 - - mypy==0.931 - - types-pyyaml==6.0.4 - - boto3-stubs==1.21.6 - - botocore-stubs==1.24.7 - - mypy-boto3-s3==1.21.0 - - pip - - pip: - - fab-classic==1.19.1 - - mypy-boto3-ec2==1.21.9 - - sure==2.0.0 - - pylddwrap==1.2.1 - - # doc requirements - - sphinx - - pygments - - sphinx-autobuild - - sphinx_rtd_theme - - docutils diff --git a/tools/barstools b/tools/barstools index 653989c0..9760528f 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit 653989c092eef55059e4720523927d52d43ffebf +Subproject commit 9760528f1de2b1a52a11476e76d25909b31d1def From 87209eb9c6a5958c3169610d2ffef58ad2c6454a Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 10 Feb 2023 16:27:01 -0800 Subject: [PATCH 40/90] remove hammer from check-on-master-check --- .github/scripts/check-commit.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh index 70dfcf62..11d12599 100755 --- a/.github/scripts/check-commit.sh +++ b/.github/scripts/check-commit.sh @@ -98,11 +98,6 @@ dir="sims" branches=("master" "main" "dev" "1.13.x") search -submodules=("hammer") -dir="vlsi" -branches=("master") -search - submodules=("fpga-shells") dir="fpga" branches=("main") From b937a271c3341d272cc0d8ee6c7a9a1d8bf39884 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Sat, 11 Feb 2023 12:16:31 -0800 Subject: [PATCH 41/90] update firtool to 1.30.0 --- conda-reqs/chipyard.yaml | 2 +- ...irements-esp-tools-linux-64.conda-lock.yml | 96 +++++++++++-------- ...ements-riscv-tools-linux-64.conda-lock.yml | 96 +++++++++++-------- 3 files changed, 113 insertions(+), 81 deletions(-) diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index cfa40e6f..9a172184 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -29,7 +29,7 @@ dependencies: - binutils - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo - - firtool==1.29.0.newhammerhotfix # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock + - firtool==1.30.0 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock # firemarshal deps - python>=3.9 diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index eeefa04c..7f6924b4 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 74a3ef6460565c7ee37ad0be73fb5b78e4a2a7ca57ee4126f9c093fced1e963b + linux-64: 25cb0bbdeb403a7f7073c9d56142054e2b0a7f8968d289a54098f746698c25ce platforms: - linux-64 sources: @@ -27,6 +27,8 @@ metadata: - /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml - /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml + - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml + - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml package: - category: main dependencies: {} @@ -1155,14 +1157,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: b5c5f55b4ec3a7c8d3646ce21e2b76e4 - sha256: 90b9b6dc6d9ff620b443e696542ce8fcc850ed3e718b612cfa3867492ebededc + md5: 46a56cfe00f36b35e2d321bfabebf873 + sha256: c8f93937ad2cdd170200cc5ba32d85229ef65b749544686884abad5a19b8ef7a manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0.newhammerhotfix-0_h1234567_ga5f6aa51f.conda - version: 1.29.0.newhammerhotfix + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.30.0-0_h1234567_gdb40efbcd.conda + version: 1.30.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -2549,14 +2551,14 @@ package: dependencies: python: '>=3.8' hash: - md5: 88e40007414ea9a13f8df20fcffa87e2 - sha256: edd149a40ea746ce17c1b135c72a1646810e99071bedb7d808914cc31b3c8a5d + md5: bb45ff9deddb045331fd039949f39650 + sha256: a8e3531fdb6f9acfde885dd94c8639c020013215dab98ff4ed82db7aa745277a manager: conda name: networkx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda - version: '3.0' + url: https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.8-pyhd8ed1ab_0.tar.bz2 + version: 2.8.8 - category: main dependencies: libblas: '>=3.8.0,<4.0a0' @@ -2626,6 +2628,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda version: 1.9.6 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 89e3c7cdde7d3aaa2aee933b604dd07f + sha256: 7d055ffc8a02bf781a89d069db3454b453605cdaff300b82cedcc7133283e47e + manager: conda + name: pkgutil-resolve-name + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_0.tar.bz2 + version: 1.3.10 - category: main dependencies: python: '>=3.8' @@ -2717,7 +2731,7 @@ package: version: 0.6.4 - category: main dependencies: - python: 2.7.*|>=3.4 + python: ==2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3546,17 +3560,17 @@ package: version: 4.11.4 - category: main dependencies: - python: '>=3.6' - zipp: '>=0.4' + python: '>=3.7' + zipp: '>=3.1.0' hash: - md5: 24dd95143fc4f3898143c93a6d5a5d41 - sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 + md5: de76905f801c22fc43e624058574eab3 + sha256: 6982827cbaba2e1e1a7df7fea50c96a17ae07d724c7b55fae58c70dc2a4106ab manager: conda name: importlib_resources optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 - version: 3.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-5.10.2-pyhd8ed1ab_0.conda + version: 5.10.2 - category: main dependencies: more-itertools: '' @@ -4068,19 +4082,20 @@ package: dependencies: attrs: '>=17.4.0' importlib-metadata: '' - pyrsistent: '>=0.14.0' - python: '>=3.6' - setuptools: '' - six: '>=1.11.0' + importlib_resources: '>=1.4.0' + pkgutil-resolve-name: '>=1.3.10' + pyrsistent: '!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0' + python: '>=3.7' + typing_extensions: '' hash: - md5: 66125e28711d8ffc04a207a2b170316d - sha256: d74a3ddd3c3dd9bd7b00110a196e3af90490c5660674f18bfd53a8fdf91de418 + md5: 723268a468177cd44568eb8f794e0d80 + sha256: 4f68a23430d1afc5c9b41c46fbac0ade33c0bf57a293c646bfdd6dc65350eada manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-pyhd8ed1ab_3.tar.bz2 - version: 3.2.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.17.3-pyhd8ed1ab_0.conda + version: 4.17.3 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4144,14 +4159,14 @@ package: pip: '' python: '>=3.6' hash: - md5: 6cfd80f8f255415a400c5a2728087fce - sha256: 20ccc89905946674603db22f906269c73c075262edccc988f4ff640ba09bc238 + md5: 5bde4ebca51438054099b9527c904ecb + sha256: bb6b283c27a8293cfd6d439959da45e848e401130fe3b44e31cde8243fdebdee manager: conda name: pbr optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pbr-5.10.0-pyhd8ed1ab_0.tar.bz2 - version: 5.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/pbr-5.11.1-pyhd8ed1ab_0.conda + version: 5.11.1 - category: main dependencies: python: '>=3.7' @@ -5098,23 +5113,24 @@ package: version: 1.21.0 - category: main dependencies: - aws-sam-translator: '>=1.13.0' + aws-sam-translator: '>=1.55.0' + jschema-to-python: ~=1.2.3 jsonpatch: '' - jsonschema: '>=3,<4' - python: '' - pyyaml: '' - requests: '>=2.15.0' - setuptools: '' - six: '>=1.11,<2' + jsonschema: '>=3.0,<5' + junit-xml: ~=1.9 + networkx: ~=2.4 + python: '>=3.7' + pyyaml: '>5.4' + sarif-om: ~=1.0.4 hash: - md5: 8d4741824cf4fde7260aafa95e6beff2 - sha256: 99e0ccd5c4bf4687280d0f63bac6c556ef35ba840ee4751dd63457b63c64a98f + md5: bbf77cf59dbad76a43b8af0414fed1fe + sha256: 935dfff9a3477bd07e17402e4eff8f00c965f4084c520c87c3eb46d51263779b manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.23.2-py_0.tar.bz2 - version: 0.23.2 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.73.1-pyhd8ed1ab_0.conda + version: 0.73.1 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 5fb44362..226b0247 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 17813c362ebc2af7a855bbeaa954812467d2552b1697c7d0b80ecef3f5b0b278 + linux-64: 2e4f969a892747b5268b40ae63be82ce07f886b6ca2e51819fc8c6805f268f92 platforms: - linux-64 sources: @@ -27,6 +27,8 @@ metadata: - /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml - /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml + - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml + - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml package: - category: main dependencies: {} @@ -1155,14 +1157,14 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' hash: - md5: b5c5f55b4ec3a7c8d3646ce21e2b76e4 - sha256: 90b9b6dc6d9ff620b443e696542ce8fcc850ed3e718b612cfa3867492ebededc + md5: 46a56cfe00f36b35e2d321bfabebf873 + sha256: c8f93937ad2cdd170200cc5ba32d85229ef65b749544686884abad5a19b8ef7a manager: conda name: firtool optional: false platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.29.0.newhammerhotfix-0_h1234567_ga5f6aa51f.conda - version: 1.29.0.newhammerhotfix + url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.30.0-0_h1234567_gdb40efbcd.conda + version: 1.30.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -2532,14 +2534,14 @@ package: dependencies: python: '>=3.8' hash: - md5: 88e40007414ea9a13f8df20fcffa87e2 - sha256: edd149a40ea746ce17c1b135c72a1646810e99071bedb7d808914cc31b3c8a5d + md5: bb45ff9deddb045331fd039949f39650 + sha256: a8e3531fdb6f9acfde885dd94c8639c020013215dab98ff4ed82db7aa745277a manager: conda name: networkx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda - version: '3.0' + url: https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.8-pyhd8ed1ab_0.tar.bz2 + version: 2.8.8 - category: main dependencies: libblas: '>=3.8.0,<4.0a0' @@ -2609,6 +2611,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda version: 1.9.6 +- category: main + dependencies: + python: '>=3.6' + hash: + md5: 89e3c7cdde7d3aaa2aee933b604dd07f + sha256: 7d055ffc8a02bf781a89d069db3454b453605cdaff300b82cedcc7133283e47e + manager: conda + name: pkgutil-resolve-name + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_0.tar.bz2 + version: 1.3.10 - category: main dependencies: python: '>=3.8' @@ -2700,7 +2714,7 @@ package: version: 0.6.4 - category: main dependencies: - python: 2.7.*|>=3.4 + python: ==2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3546,17 +3560,17 @@ package: version: 4.11.4 - category: main dependencies: - python: '>=3.6' - zipp: '>=0.4' + python: '>=3.7' + zipp: '>=3.1.0' hash: - md5: 24dd95143fc4f3898143c93a6d5a5d41 - sha256: 7a32c0b58ae4e2673f47c73ed1f010681501198e6aaa279c5eddc714bca12b48 + md5: de76905f801c22fc43e624058574eab3 + sha256: 6982827cbaba2e1e1a7df7fea50c96a17ae07d724c7b55fae58c70dc2a4106ab manager: conda name: importlib_resources optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-3.3.1-pyhd8ed1ab_1.tar.bz2 - version: 3.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-5.10.2-pyhd8ed1ab_0.conda + version: 5.10.2 - category: main dependencies: more-itertools: '' @@ -4068,19 +4082,20 @@ package: dependencies: attrs: '>=17.4.0' importlib-metadata: '' - pyrsistent: '>=0.14.0' - python: '>=3.6' - setuptools: '' - six: '>=1.11.0' + importlib_resources: '>=1.4.0' + pkgutil-resolve-name: '>=1.3.10' + pyrsistent: '!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0' + python: '>=3.7' + typing_extensions: '' hash: - md5: 66125e28711d8ffc04a207a2b170316d - sha256: d74a3ddd3c3dd9bd7b00110a196e3af90490c5660674f18bfd53a8fdf91de418 + md5: 723268a468177cd44568eb8f794e0d80 + sha256: 4f68a23430d1afc5c9b41c46fbac0ade33c0bf57a293c646bfdd6dc65350eada manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-pyhd8ed1ab_3.tar.bz2 - version: 3.2.0 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.17.3-pyhd8ed1ab_0.conda + version: 4.17.3 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4144,14 +4159,14 @@ package: pip: '' python: '>=3.6' hash: - md5: 6cfd80f8f255415a400c5a2728087fce - sha256: 20ccc89905946674603db22f906269c73c075262edccc988f4ff640ba09bc238 + md5: 5bde4ebca51438054099b9527c904ecb + sha256: bb6b283c27a8293cfd6d439959da45e848e401130fe3b44e31cde8243fdebdee manager: conda name: pbr optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pbr-5.10.0-pyhd8ed1ab_0.tar.bz2 - version: 5.10.0 + url: https://conda.anaconda.org/conda-forge/noarch/pbr-5.11.1-pyhd8ed1ab_0.conda + version: 5.11.1 - category: main dependencies: python: '>=3.7' @@ -5098,23 +5113,24 @@ package: version: 1.21.0 - category: main dependencies: - aws-sam-translator: '>=1.13.0' + aws-sam-translator: '>=1.55.0' + jschema-to-python: ~=1.2.3 jsonpatch: '' - jsonschema: '>=3,<4' - python: '' - pyyaml: '' - requests: '>=2.15.0' - setuptools: '' - six: '>=1.11,<2' + jsonschema: '>=3.0,<5' + junit-xml: ~=1.9 + networkx: ~=2.4 + python: '>=3.7' + pyyaml: '>5.4' + sarif-om: ~=1.0.4 hash: - md5: 8d4741824cf4fde7260aafa95e6beff2 - sha256: 99e0ccd5c4bf4687280d0f63bac6c556ef35ba840ee4751dd63457b63c64a98f + md5: bbf77cf59dbad76a43b8af0414fed1fe + sha256: 935dfff9a3477bd07e17402e4eff8f00c965f4084c520c87c3eb46d51263779b manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.23.2-py_0.tar.bz2 - version: 0.23.2 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.73.1-pyhd8ed1ab_0.conda + version: 0.73.1 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' From 1766501795295d745d470eee85076276e3f87d1b Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Sat, 11 Feb 2023 12:29:45 -0800 Subject: [PATCH 42/90] Fix Spike DPI decoupled interface --- .../chipyard/src/main/scala/SpikeTile.scala | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/generators/chipyard/src/main/scala/SpikeTile.scala b/generators/chipyard/src/main/scala/SpikeTile.scala index cc83a46c..c7e5b69d 100644 --- a/generators/chipyard/src/main/scala/SpikeTile.scala +++ b/generators/chipyard/src/main/scala/SpikeTile.scala @@ -307,20 +307,26 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) { spike.io.ipc := PlusArg("spike-ipc", 10000, width=64) val blockBits = log2Ceil(p(CacheBlockBytes)) - spike.io.icache.a.ready := icache_tl.a.ready - icache_tl.a.valid := spike.io.icache.a.valid - icache_tl.a.bits := icacheEdge.Get( + + val icache_a_q = Module(new Queue(new TLBundleA(icacheEdge.bundle), 1, flow=true, pipe=true)) + spike.io.icache.a.ready := icache_a_q.io.enq.ready && icache_a_q.io.count === 0.U + icache_tl.a <> icache_a_q.io.deq + icache_a_q.io.enq.valid := spike.io.icache.a.valid + icache_a_q.io.enq.bits := icacheEdge.Get( fromSource = spike.io.icache.a.sourceid, toAddress = (spike.io.icache.a.address >> blockBits) << blockBits, lgSize = blockBits.U)._2 + icache_tl.d.ready := true.B spike.io.icache.d.valid := icache_tl.d.valid spike.io.icache.d.sourceid := icache_tl.d.bits.source spike.io.icache.d.data := icache_tl.d.bits.data.asTypeOf(Vec(8, UInt(64.W))) - spike.io.dcache.a.ready := dcache_tl.a.ready - dcache_tl.a.valid := spike.io.dcache.a.valid - dcache_tl.a.bits := dcacheEdge.AcquireBlock( + val dcache_a_q = Module(new Queue(new TLBundleA(dcacheEdge.bundle), 1, flow=true, pipe=true)) + spike.io.dcache.a.ready := dcache_a_q.io.enq.ready && dcache_a_q.io.count === 0.U + dcache_tl.a <> dcache_a_q.io.deq + dcache_a_q.io.enq.valid := spike.io.dcache.a.valid + dcache_a_q.io.enq.bits := dcacheEdge.AcquireBlock( fromSource = spike.io.dcache.a.sourceid, toAddress = (spike.io.dcache.a.address >> blockBits) << blockBits, lgSize = blockBits.U, @@ -332,9 +338,11 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) { spike.io.dcache.b.source := dcache_tl.b.bits.source spike.io.dcache.b.param := dcache_tl.b.bits.param - spike.io.dcache.c.ready := dcache_tl.c.ready - dcache_tl.c.valid := spike.io.dcache.c.valid - dcache_tl.c.bits := Mux(spike.io.dcache.c.voluntary, + val dcache_c_q = Module(new Queue(new TLBundleC(dcacheEdge.bundle), 1, flow=true, pipe=true)) + spike.io.dcache.c.ready := dcache_c_q.io.enq.ready && dcache_c_q.io.count === 0.U + dcache_tl.c <> dcache_c_q.io.deq + dcache_c_q.io.enq.valid := spike.io.dcache.c.valid + dcache_c_q.io.enq.bits := Mux(spike.io.dcache.c.voluntary, dcacheEdge.Release( fromSource = spike.io.dcache.c.sourceid, toAddress = spike.io.dcache.c.address, @@ -368,10 +376,12 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) { dcache_tl.e.valid := dcache_tl.d.valid && should_finish dcache_tl.e.bits := dcacheEdge.GrantAck(dcache_tl.d.bits) - spike.io.mmio.a.ready := mmio_tl.a.ready - mmio_tl.a.valid := spike.io.mmio.a.valid + val mmio_a_q = Module(new Queue(new TLBundleA(mmioEdge.bundle), 1, flow=true, pipe=true)) + spike.io.mmio.a.ready := mmio_a_q.io.enq.ready && mmio_a_q.io.count === 0.U + mmio_tl.a <> mmio_a_q.io.deq + mmio_a_q.io.enq.valid := spike.io.mmio.a.valid val log_size = MuxCase(0.U, (0 until 3).map { i => (spike.io.mmio.a.size === (1 << i).U) -> i.U }) - mmio_tl.a.bits := Mux(spike.io.mmio.a.store, + mmio_a_q.io.enq.bits := Mux(spike.io.mmio.a.store, mmioEdge.Put(0.U, spike.io.mmio.a.address, log_size, spike.io.mmio.a.data)._2, mmioEdge.Get(0.U, spike.io.mmio.a.address, log_size)._2) From 4d31ccf218fb97a2601f9e42950046c5712c2cc3 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Sun, 12 Feb 2023 20:36:09 -0800 Subject: [PATCH 43/90] Remove gen-collateral when rebuilding --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 820b6d44..43340615 100644 --- a/common.mk +++ b/common.mk @@ -102,6 +102,7 @@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip ######################################################################################### # AG: must re-elaborate if cva6 sources have changed... otherwise just run firrtl compile $(FIRRTL_FILE) $(ANNO_FILE) &: $(SCALA_SOURCES) $(sim_files) $(SCALA_BUILDTOOL_DEPS) $(EXTRA_GENERATOR_REQS) + if [ -d $(OUT_DIR) ]; then rm -rf $(OUT_DIR); fi mkdir -p $(build_dir) $(call run_scala_main,$(SBT_PROJECT),$(GENERATOR_PACKAGE).Generator,\ --target-dir $(build_dir) \ From 6cd46d3c73bb96ff36e377dcc68549fc4bbb90d5 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 13 Feb 2023 02:14:23 -0800 Subject: [PATCH 44/90] fixes --- common.mk | 1 - fpga/Makefile | 7 ++++--- sims/vcs/Makefile | 7 ++++--- sims/verilator/Makefile | 7 ++++--- vlsi/Makefile | 7 ++++--- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/common.mk b/common.mk index 43340615..820b6d44 100644 --- a/common.mk +++ b/common.mk @@ -102,7 +102,6 @@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip ######################################################################################### # AG: must re-elaborate if cva6 sources have changed... otherwise just run firrtl compile $(FIRRTL_FILE) $(ANNO_FILE) &: $(SCALA_SOURCES) $(sim_files) $(SCALA_BUILDTOOL_DEPS) $(EXTRA_GENERATOR_REQS) - if [ -d $(OUT_DIR) ]; then rm -rf $(OUT_DIR); fi mkdir -p $(build_dir) $(call run_scala_main,$(SBT_PROJECT),$(GENERATOR_PACKAGE).Generator,\ --target-dir $(build_dir) \ diff --git a/fpga/Makefile b/fpga/Makefile index d037833b..4ae4bb0f 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -94,10 +94,11 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v # copy files but ignore *.h files in *.f (match vcs) -$(sim_files): $(SIM_FILE_REQS) | $(OUT_DIR) - cp -f $^ $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) + rm -rf $(OUT_DIR)/* + cp -f $(SIM_FILE_REQS) $(OUT_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/vcs/Makefile b/sims/vcs/Makefile index d407fe4f..3e78643d 100644 --- a/sims/vcs/Makefile +++ b/sims/vcs/Makefile @@ -38,10 +38,11 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(OUT_DIR) - cp -f $^ $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) + rm -rf $(OUT_DIR)/* + cp -f $(SIM_FILE_REQS) $(OUT_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile index 5c15973a..269915a9 100644 --- a/sims/verilator/Makefile +++ b/sims/verilator/Makefile @@ -66,10 +66,11 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/csrc/remote_bitbang.cc # copy files and add -FI for *.h files in *.f -$(sim_files): $(SIM_FILE_REQS) | $(OUT_DIR) - cp -f $^ $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) + rm -rf $(OUT_DIR)/* + cp -f $(SIM_FILE_REQS) $(OUT_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ echo "-FI $(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;,\ echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/vlsi/Makefile b/vlsi/Makefile index 228401b2..e699a476 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -108,10 +108,11 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(build_dir) - cp -f $^ $(build_dir) +$(sim_files): $(SIM_FILE_REQS) $(build_dir) + rm -rf $(build_dir)/* + cp -f $(SIM_FILE_REQS) $(build_dir) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) From 58a6e725289be76cacb31081edde75ca1d8d2a47 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 13 Feb 2023 13:24:04 -0800 Subject: [PATCH 45/90] rename OUT_DIR to GEN_COLLATERAL_DIR --- common.mk | 10 +++++----- fpga/Makefile | 8 ++++---- sims/common-sim-flags.mk | 2 +- sims/vcs/Makefile | 8 ++++---- sims/verilator/Makefile | 14 +++++++------- variables.mk | 14 +++++++------- vcs.mk | 2 +- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/common.mk b/common.mk index 820b6d44..dffd16c2 100644 --- a/common.mk +++ b/common.mk @@ -91,7 +91,7 @@ endif ######################################################################################### # copy over bootrom files ######################################################################################### -$(build_dir) $(OUT_DIR): +$(build_dir) $(GEN_COLLATERAL_DIR): mkdir -p $@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip/bootrom/bootrom.%.img | $(build_dir) @@ -172,7 +172,7 @@ endif --no-dedup \ --output-file $(SFC_FIRRTL_BASENAME) \ --output-annotation-file $(SFC_ANNO_FILE) \ - --target-dir $(OUT_DIR) \ + --target-dir $(GEN_COLLATERAL_DIR) \ --input-file $(FIRRTL_FILE) \ --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ @@ -198,7 +198,7 @@ endif --repl-seq-mem-circuit=$(MODEL) \ --annotation-file=$(SFC_ANNO_FILE) \ --split-verilog \ - -o $(OUT_DIR) \ + -o $(GEN_COLLATERAL_DIR) \ $(SFC_FIRRTL_FILE) -mv $(SFC_SMEMS_CONF) $(MFC_SMEMS_CONF) $(SED) -i 's/.*/& /' $(MFC_SMEMS_CONF) # need trailing space for SFC macrocompiler @@ -211,8 +211,8 @@ $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(ALL_MODS_FILELIST) $(BB_MODS_FILEL --out-dut-filelist $(TOP_MODS_FILELIST) \ --out-model-filelist $(MODEL_MODS_FILELIST) \ --in-all-filelist $(MFC_FILELIST) \ - --target-dir $(OUT_DIR) - $(SED) -e 's;^;$(OUT_DIR)/;' $(MFC_BB_MODS_FILELIST) > $(BB_MODS_FILELIST) + --target-dir $(GEN_COLLATERAL_DIR) + $(SED) -e 's;^;$(GEN_COLLATERAL_DIR)/;' $(MFC_BB_MODS_FILELIST) > $(BB_MODS_FILELIST) $(SED) -i 's/\.\///' $(TOP_MODS_FILELIST) $(SED) -i 's/\.\///' $(MODEL_MODS_FILELIST) $(SED) -i 's/\.\///' $(BB_MODS_FILELIST) diff --git a/fpga/Makefile b/fpga/Makefile index 4ae4bb0f..cee60f52 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -94,14 +94,14 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v # copy files but ignore *.h files in *.f (match vcs) -$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) - rm -rf $(OUT_DIR)/* - cp -f $(SIM_FILE_REQS) $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) + rm -rf $(GEN_COLLATERAL_DIR)/* + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ - echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) + echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) ######################################################################################### # import other necessary rules and variables diff --git a/sims/common-sim-flags.mk b/sims/common-sim-flags.mk index 3b4281c3..8787e60a 100644 --- a/sims/common-sim-flags.mk +++ b/sims/common-sim-flags.mk @@ -20,7 +20,7 @@ SIM_CXXFLAGS = \ -std=c++17 \ -I$(RISCV)/include \ -I$(dramsim_dir) \ - -I$(OUT_DIR) \ + -I$(GEN_COLLATERAL_DIR) \ $(EXTRA_SIM_CXXFLAGS) SIM_LDFLAGS = \ diff --git a/sims/vcs/Makefile b/sims/vcs/Makefile index 3e78643d..289b1b53 100644 --- a/sims/vcs/Makefile +++ b/sims/vcs/Makefile @@ -38,14 +38,14 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) - rm -rf $(OUT_DIR)/* - cp -f $(SIM_FILE_REQS) $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) + rm -rf $(GEN_COLLATERAL_DIR)/* + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ - echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) + echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) ######################################################################################### # import other necessary rules and variables diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile index 269915a9..eb0ad41d 100644 --- a/sims/verilator/Makefile +++ b/sims/verilator/Makefile @@ -66,14 +66,14 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/csrc/remote_bitbang.cc # copy files and add -FI for *.h files in *.f -$(sim_files): $(SIM_FILE_REQS) $(OUT_DIR) - rm -rf $(OUT_DIR)/* - cp -f $(SIM_FILE_REQS) $(OUT_DIR) +$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) + rm -rf $(GEN_COLLATERAL_DIR)/* + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ - echo "-FI $(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;,\ - echo "$(addprefix $(OUT_DIR)/, $(notdir $(file)))" >> $@;)) + echo "-FI $(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;,\ + echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) ######################################################################################### # import other necessary rules and variables @@ -144,7 +144,7 @@ CHIPYARD_VERILATOR_FLAGS := \ # options dependent on whether external IP (cva6/NVDLA) or just chipyard is used # NOTE: defer the evaluation of this until it is used! PLATFORM_OPTS = $(shell \ - if grep -qiP "module\s+(CVA6|NVDLA)" $(OUT_DIR)/*.*v; \ + if grep -qiP "module\s+(CVA6|NVDLA)" $(GEN_COLLATERAL_DIR)/*.*v; \ then echo "$(VERILOG_IP_VERILATOR_FLAGS)"; \ else echo "$(CHIPYARD_VERILATOR_FLAGS)"; fi) @@ -182,7 +182,7 @@ VERILATOR_CXXFLAGS = \ -DTEST_HARNESS=V$(VLOG_MODEL) \ -DVERILATOR \ -include $(build_dir)/$(long_name).plusArgs \ - -include $(OUT_DIR)/verilator.h + -include $(GEN_COLLATERAL_DIR)/verilator.h VERILATOR_LDFLAGS = $(SIM_LDFLAGS) diff --git a/variables.mk b/variables.mk index fab54a6a..2172fbe5 100644 --- a/variables.mk +++ b/variables.mk @@ -161,18 +161,18 @@ MFC_TOP_HRCHY_JSON ?= $(build_dir)/top_module_hierarchy.json MFC_MODEL_HRCHY_JSON ?= $(build_dir)/model_module_hierarchy.json MFC_SMEMS_CONF ?= $(build_dir)/$(long_name).mems.conf # hardcoded firtool outputs -MFC_FILELIST = $(OUT_DIR)/filelist.f -MFC_BB_MODS_FILELIST = $(OUT_DIR)/firrtl_black_box_resource_files.f -MFC_TOP_SMEMS_JSON = $(OUT_DIR)/metadata/seq_mems.json -MFC_MODEL_SMEMS_JSON = $(OUT_DIR)/metadata/tb_seq_mems.json +MFC_FILELIST = $(GEN_COLLATERAL_DIR)/filelist.f +MFC_BB_MODS_FILELIST = $(GEN_COLLATERAL_DIR)/firrtl_black_box_resource_files.f +MFC_TOP_SMEMS_JSON = $(GEN_COLLATERAL_DIR)/metadata/seq_mems.json +MFC_MODEL_SMEMS_JSON = $(GEN_COLLATERAL_DIR)/metadata/tb_seq_mems.json # macrocompiler smems in/output SFC_SMEMS_CONF ?= $(build_dir)/$(long_name).sfc.mems.conf TOP_SMEMS_CONF ?= $(build_dir)/$(long_name).top.mems.conf -TOP_SMEMS_FILE ?= $(OUT_DIR)/$(long_name).top.mems.v +TOP_SMEMS_FILE ?= $(GEN_COLLATERAL_DIR)/$(long_name).top.mems.v TOP_SMEMS_FIR ?= $(build_dir)/$(long_name).top.mems.fir MODEL_SMEMS_CONF ?= $(build_dir)/$(long_name).model.mems.conf -MODEL_SMEMS_FILE ?= $(OUT_DIR)/$(long_name).model.mems.v +MODEL_SMEMS_FILE ?= $(GEN_COLLATERAL_DIR)/$(long_name).model.mems.v MODEL_SMEMS_FIR ?= $(build_dir)/$(long_name).model.mems.fir # top module files to include @@ -254,7 +254,7 @@ gen_dir=$(sim_dir)/generated-src # per-project output directory build_dir=$(gen_dir)/$(long_name) # final generated collateral per-project -OUT_DIR ?= $(build_dir)/gen-collateral +GEN_COLLATERAL_DIR ?= $(build_dir)/gen-collateral ######################################################################################### # assembly/benchmark variables diff --git a/vcs.mk b/vcs.mk index 002fd09a..edd19f8c 100644 --- a/vcs.mk +++ b/vcs.mk @@ -51,7 +51,7 @@ VCS_NONCC_OPTS = \ -sverilog +systemverilogext+.sv+.svi+.svh+.svt -assert svaext +libext+.sv \ +v2k +verilog2001ext+.v95+.vt+.vp +libext+.v \ -debug_pp \ - +incdir+$(OUT_DIR) + +incdir+$(GEN_COLLATERAL_DIR) PREPROC_DEFINES = \ +define+VCS \ From 4977d8fb49d8bcd6bbfd0303b3bc58648fe16341 Mon Sep 17 00:00:00 2001 From: ken_ho Date: Mon, 13 Feb 2023 15:49:41 -0800 Subject: [PATCH 46/90] Upgrade-vlsi script --- docs/VLSI/Basic-Flow.rst | 1 + scripts/upgrade-vlsi.sh | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100755 scripts/upgrade-vlsi.sh diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 93783c3f..1bcaf754 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -26,6 +26,7 @@ For example, for an imaginary process technology called tsmintel3: cd - ./scripts/init-vlsi.sh tsmintel3 +If submoduled plugins need to be updated, call the ``upgrade-vlsi.sh`` script. This will checkout and pull the latest master branch. .. Note:: Some VLSI EDA tools are supported only on RHEL-based operating systems. We recommend using Chipyard on RHEL7 and above. However, many VLSI server still have old operating systems such as RHEL6, which have software packages older than the basic chipyard requirements. In order to build Chipyard on RHEL6, you will likely need to use tool packages such as devtoolset (for example, devtoolset-8) and/or build from source gcc, git, gmake, make, dtc, cc, bison, libexpat and liby. diff --git a/scripts/upgrade-vlsi.sh b/scripts/upgrade-vlsi.sh new file mode 100755 index 00000000..9edc2910 --- /dev/null +++ b/scripts/upgrade-vlsi.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# exit script if any command fails +set -e +set -o pipefail + +# exit script if not in Chipyard conda env +if [[ `basename $CONDA_PREFIX` != .conda-env ]]; then + echo 'ERROR: Chipyard conda env not activated. Please source env.sh and run this script again.' + exit +fi + +# Get hammer submodules +package_names=$(git ls-files --stage | grep 160000 | awk '$4 ~/vlsi\/hammer.*/ {print $4}') +package_list=(${package_names}) +plen="${#package_list[@]}" + +if [[ ${plen} -gt 0 ]]; then + for p in "${package_list[@]}"; do + cd ${p} + echo "Updating current directory: $PWD" + git checkout master + git pull + cd - > /dev/null + git add ${p} + pip install -e ${p} --upgrade + done +fi + +# Upgrade hammer-vlsi separately. +pip install hammer-vlsi --upgrade + + + From e7152d511dd8db70454a84fa4d40fbf87898f410 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Mon, 13 Feb 2023 19:05:17 -0800 Subject: [PATCH 47/90] support main or master as default branch in hammer plugins --- scripts/upgrade-vlsi.sh | 2 +- vlsi/hammer-synopsys-plugins | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade-vlsi.sh b/scripts/upgrade-vlsi.sh index 9edc2910..b1ee7962 100755 --- a/scripts/upgrade-vlsi.sh +++ b/scripts/upgrade-vlsi.sh @@ -19,7 +19,7 @@ if [[ ${plen} -gt 0 ]]; then for p in "${package_list[@]}"; do cd ${p} echo "Updating current directory: $PWD" - git checkout master + git checkout `basename "$(git rev-parse --abbrev-ref origin/HEAD)"` git pull cd - > /dev/null git add ${p} diff --git a/vlsi/hammer-synopsys-plugins b/vlsi/hammer-synopsys-plugins index e080a480..e53fa5c5 160000 --- a/vlsi/hammer-synopsys-plugins +++ b/vlsi/hammer-synopsys-plugins @@ -1 +1 @@ -Subproject commit e080a480009c715a69b4b2ce016af2c50b8bd453 +Subproject commit e53fa5c51f37937c83df3b004693552f59015c90 From 682f98bb0d6a6adfb3f33635d0b1f3fd3a592560 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Mon, 13 Feb 2023 22:11:06 -0800 Subject: [PATCH 48/90] bump to hammer 1.0.1 --- conda-reqs/chipyard.yaml | 2 +- ...irements-esp-tools-linux-64.conda-lock.yml | 136 ++++++++++-------- ...ements-riscv-tools-linux-64.conda-lock.yml | 88 +++++++----- 3 files changed, 126 insertions(+), 100 deletions(-) diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 9a172184..4f6f6fd3 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -129,7 +129,7 @@ dependencies: - mypy-boto3-ec2==1.21.9 - sure==2.0.0 - pylddwrap==1.2.1 - - hammer-vlsi[asap7]==1.0.0 + - hammer-vlsi[asap7]==1.0.1 # doc requirements - sphinx diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index 7f6924b4..90391142 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 25cb0bbdeb403a7f7073c9d56142054e2b0a7f8968d289a54098f746698c25ce + linux-64: a35d2d686143e59e5bd9d371d76df75404ab0fa73130fddb98354ca511b929c1 platforms: - linux-64 sources: @@ -546,13 +546,13 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: ee8b844357a0946870901c7c6f418268 - sha256: 0110ee167e8fe386f9019f98757e299a0c42dc6ccdcce161c9bb552b79e459a3 + md5: c7a069243e1fbe9a556ed2ec030e6407 + sha256: 8f73194d09c9ea4a7e2b3562766b8d72125cc147b62c7cf83393e3a3bbfd581b manager: conda name: jpeg optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h166bdaf_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h0b41bf4_3.conda version: 9e - category: main dependencies: @@ -2551,14 +2551,14 @@ package: dependencies: python: '>=3.8' hash: - md5: bb45ff9deddb045331fd039949f39650 - sha256: a8e3531fdb6f9acfde885dd94c8639c020013215dab98ff4ed82db7aa745277a + md5: 88e40007414ea9a13f8df20fcffa87e2 + sha256: edd149a40ea746ce17c1b135c72a1646810e99071bedb7d808914cc31b3c8a5d manager: conda name: networkx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.8-pyhd8ed1ab_0.tar.bz2 - version: 2.8.8 + url: https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda + version: '3.0' - category: main dependencies: libblas: '>=3.8.0,<4.0a0' @@ -2731,7 +2731,7 @@ package: version: 0.6.4 - category: main dependencies: - python: ==2.7.*|>=3.4 + python: 2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3546,18 +3546,17 @@ package: version: '1.1' - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.8' zipp: '>=0.5' hash: - md5: 4c2a0eabf0b8980b2c755646a6f750eb - sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 + md5: 80d2ed5fd22d7eb804f70c03f0d40b45 + sha256: 81c149c12dc6dadc9836873282fa51a9c16507da94e89ccc6f3bdeb870b1cb73 manager: conda name: importlib-metadata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 - version: 4.11.4 + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-4.13.0-pyha770c72_0.conda + version: 4.13.0 - category: main dependencies: python: '>=3.7' @@ -4068,34 +4067,33 @@ package: version: 6.0.0 - category: main dependencies: - importlib-metadata: '>=4.11.4,<4.11.5.0a0' + importlib-metadata: '>=4.13.0,<4.13.1.0a0' hash: - md5: 9a1925fdb91c81437b8012e48ede6851 - sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + md5: eb09e30f586f5d8f8e8b784824be7017 + sha256: 3721a25eddddf46e562cfe04aa36c7c6417ae7056cd0c9d0a42d0349ce3bbcc8 manager: conda name: importlib_metadata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 - version: 4.11.4 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.13.0-hd8ed1ab_0.conda + version: 4.13.0 - category: main dependencies: attrs: '>=17.4.0' importlib-metadata: '' - importlib_resources: '>=1.4.0' - pkgutil-resolve-name: '>=1.3.10' - pyrsistent: '!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0' - python: '>=3.7' - typing_extensions: '' + pyrsistent: '>=0.14.0' + python: '>=3.6' + setuptools: '' + six: '>=1.11.0' hash: - md5: 723268a468177cd44568eb8f794e0d80 - sha256: 4f68a23430d1afc5c9b41c46fbac0ade33c0bf57a293c646bfdd6dc65350eada + md5: 66125e28711d8ffc04a207a2b170316d + sha256: d74a3ddd3c3dd9bd7b00110a196e3af90490c5660674f18bfd53a8fdf91de418 manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.17.3-pyhd8ed1ab_0.conda - version: 4.17.3 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-pyhd8ed1ab_3.tar.bz2 + version: 3.2.0 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4350,14 +4348,14 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: a26b5ead210b1c8938c8a6a0c0fb2bed - sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b + md5: e07a5691c27e65d8d3d9278c578c7771 + sha256: 922faccc66c0855cb6ed44e68739283842e9a2f4836ece192cb2f971ad057935 manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda - version: 2.5.17 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.18-pyhd8ed1ab_0.conda + version: 2.5.18 - category: main dependencies: importlib_metadata: '' @@ -4966,14 +4964,14 @@ package: python: '>=3.7' ruamel_yaml: '>=0.11.14,<0.16' hash: - md5: 1ce2f0c21b90fc7669ba1f0e34c2dd04 - sha256: 78bd867a49b8d15edf4a4d98abe7c16762c3f9a532d6eccb8ddf3fb76b30c6f9 + md5: 531dd21a6980012d3f5c01f9e5335c5b + sha256: 311cd96ecabd6557daa8aecaef858fb053acf4cda195a1d34a9a28c998807596 manager: conda name: constructor optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.2-pyhe4f9e05_0.conda - version: 3.4.2 + url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.3-pyhe4f9e05_0.conda + version: 3.4.3 - category: main dependencies: cachecontrol: '>=0.12.9,<0.13.0' @@ -5021,18 +5019,18 @@ package: version: 2021.3.14 - category: main dependencies: - docutils: <0.18 - python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' - sphinx: '>=1.6,<6' + python: '>=2.7' + setuptools: '' + sphinx: '' hash: - md5: a8d25c9077767faf05148421a04874f6 - sha256: 05336b16250a43671a32f59afb227c42015c2a5156b6d3830e181543182582a3 + md5: 1951ebeb88189bf6d6d52039c0aa7776 + sha256: bd197a9d339d7cf9e5a563da5a4f6c62b668714e5c64a0ed5af09b008b833da2 manager: conda - name: sphinx_rtd_theme + name: sphinxcontrib-jquery optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.1.1-pyha770c72_1.conda - version: 1.1.1 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-2.0.0-pyhd8ed1ab_0.conda + version: 2.0.0 - category: main dependencies: boto3: '>=1.19.5,<2' @@ -5113,24 +5111,38 @@ package: version: 1.21.0 - category: main dependencies: - aws-sam-translator: '>=1.55.0' - jschema-to-python: ~=1.2.3 - jsonpatch: '' - jsonschema: '>=3.0,<5' - junit-xml: ~=1.9 - networkx: ~=2.4 - python: '>=3.7' - pyyaml: '>5.4' - sarif-om: ~=1.0.4 + docutils: <0.19 + python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' + sphinx: '>=1.6,<7' + sphinxcontrib-jquery: '>=2.0.0,!=3.0.0' hash: - md5: bbf77cf59dbad76a43b8af0414fed1fe - sha256: 935dfff9a3477bd07e17402e4eff8f00c965f4084c520c87c3eb46d51263779b + md5: 55f8f3f0fa3fd6b7522f4133fac8ee59 + sha256: 3774803e81091a64d2f3990246bb9310f1b9df13887914e1c77eab917bf102ec + manager: conda + name: sphinx_rtd_theme + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.2.0-pyha770c72_0.conda + version: 1.2.0 +- category: main + dependencies: + aws-sam-translator: '>=1.13.0' + jsonpatch: '' + jsonschema: '>=3,<4' + python: '' + pyyaml: '' + requests: '>=2.15.0' + setuptools: '' + six: '>=1.11,<2' + hash: + md5: 8d4741824cf4fde7260aafa95e6beff2 + sha256: 99e0ccd5c4bf4687280d0f63bac6c556ef35ba840ee4751dd63457b63c64a98f manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.73.1-pyhd8ed1ab_0.conda - version: 0.73.1 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.23.2-py_0.tar.bz2 + version: 0.23.2 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' @@ -5285,13 +5297,13 @@ package: pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: 2945516583e15adb10da14a819796b73ef289061c9c130762514aeb88dca8aee + sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93 manager: pip name: hammer-vlsi optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/e2/d3/215e1a6ae3e3d6a7e1e960a61f0c90393a8e4f7b9fdaa669bd00d1e9be1d/hammer_vlsi-1.0.0-py3-none-any.whl - version: 1.0.0 + url: https://files.pythonhosted.org/packages/85/0f/7fcab088a5e2780d165bbea5ea3974b0f2286ddc98499e98aa29609bd0ee/hammer_vlsi-1.0.1-py3-none-any.whl + version: 1.0.1 - category: main dependencies: asttokens: '>=2,<3' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 226b0247..17e6c2dd 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -9,7 +9,7 @@ # To update a single package to the latest version compatible with the version constraints in the source: # conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE # To re-solve the entire environment, e.g. after changing a version constraint in the source file: -# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml metadata: channels: - url: ucb-bar @@ -19,7 +19,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 2e4f969a892747b5268b40ae63be82ce07f886b6ca2e51819fc8c6805f268f92 + linux-64: fa59179a32c5e0f4e6e32526c7c24b5483b6c6b8e6ce4fdd254e8cd74bf5569e platforms: - linux-64 sources: @@ -546,13 +546,13 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: ee8b844357a0946870901c7c6f418268 - sha256: 0110ee167e8fe386f9019f98757e299a0c42dc6ccdcce161c9bb552b79e459a3 + md5: c7a069243e1fbe9a556ed2ec030e6407 + sha256: 8f73194d09c9ea4a7e2b3562766b8d72125cc147b62c7cf83393e3a3bbfd581b manager: conda name: jpeg optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h166bdaf_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h0b41bf4_3.conda version: 9e - category: main dependencies: @@ -2714,7 +2714,7 @@ package: version: 0.6.4 - category: main dependencies: - python: ==2.7.*|>=3.4 + python: 2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3546,18 +3546,17 @@ package: version: '1.1' - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.8' zipp: '>=0.5' hash: - md5: 4c2a0eabf0b8980b2c755646a6f750eb - sha256: 3a13f3af58e7a5b50516c9bf10473953e51d9a5367f93fafd04c2bccc9162983 + md5: 80d2ed5fd22d7eb804f70c03f0d40b45 + sha256: 81c149c12dc6dadc9836873282fa51a9c16507da94e89ccc6f3bdeb870b1cb73 manager: conda name: importlib-metadata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.4-py39hf3d152e_0.tar.bz2 - version: 4.11.4 + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-4.13.0-pyha770c72_0.conda + version: 4.13.0 - category: main dependencies: python: '>=3.7' @@ -4068,16 +4067,16 @@ package: version: 6.0.0 - category: main dependencies: - importlib-metadata: '>=4.11.4,<4.11.5.0a0' + importlib-metadata: '>=4.13.0,<4.13.1.0a0' hash: - md5: 9a1925fdb91c81437b8012e48ede6851 - sha256: 85049d953d6894e1379162e0f01cf4b8828d40f707cc511edb201e9159f091fc + md5: eb09e30f586f5d8f8e8b784824be7017 + sha256: 3721a25eddddf46e562cfe04aa36c7c6417ae7056cd0c9d0a42d0349ce3bbcc8 manager: conda name: importlib_metadata optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.11.4-hd8ed1ab_0.tar.bz2 - version: 4.11.4 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-4.13.0-hd8ed1ab_0.conda + version: 4.13.0 - category: main dependencies: attrs: '>=17.4.0' @@ -4350,18 +4349,18 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: a26b5ead210b1c8938c8a6a0c0fb2bed - sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b + md5: e07a5691c27e65d8d3d9278c578c7771 + sha256: 922faccc66c0855cb6ed44e68739283842e9a2f4836ece192cb2f971ad057935 manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda - version: 2.5.17 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.18-pyhd8ed1ab_0.conda + version: 2.5.18 - category: main dependencies: importlib_metadata: '' - python: ==2.7.*|>=3.5 + python: 2.7.*|>=3.5 hash: md5: 35f19fabdfd44c8b53889be95333848c sha256: d497c6f3b064d3dd8b76f277ea8d6a507acfe8cb04e31811baf66d8c533b8c08 @@ -4966,14 +4965,14 @@ package: python: '>=3.7' ruamel_yaml: '>=0.11.14,<0.16' hash: - md5: 1ce2f0c21b90fc7669ba1f0e34c2dd04 - sha256: 78bd867a49b8d15edf4a4d98abe7c16762c3f9a532d6eccb8ddf3fb76b30c6f9 + md5: 531dd21a6980012d3f5c01f9e5335c5b + sha256: 311cd96ecabd6557daa8aecaef858fb053acf4cda195a1d34a9a28c998807596 manager: conda name: constructor optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.2-pyhe4f9e05_0.conda - version: 3.4.2 + url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.4.3-pyhe4f9e05_0.conda + version: 3.4.3 - category: main dependencies: cachecontrol: '>=0.12.9,<0.13.0' @@ -5021,18 +5020,18 @@ package: version: 2021.3.14 - category: main dependencies: - docutils: <0.18 - python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' - sphinx: '>=1.6,<6' + python: '>=2.7' + setuptools: '' + sphinx: '' hash: - md5: a8d25c9077767faf05148421a04874f6 - sha256: 05336b16250a43671a32f59afb227c42015c2a5156b6d3830e181543182582a3 + md5: 1951ebeb88189bf6d6d52039c0aa7776 + sha256: bd197a9d339d7cf9e5a563da5a4f6c62b668714e5c64a0ed5af09b008b833da2 manager: conda - name: sphinx_rtd_theme + name: sphinxcontrib-jquery optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.1.1-pyha770c72_1.conda - version: 1.1.1 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-2.0.0-pyhd8ed1ab_0.conda + version: 2.0.0 - category: main dependencies: boto3: '>=1.19.5,<2' @@ -5111,6 +5110,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.21.0-pyhd8ed1ab_0.tar.bz2 version: 1.21.0 +- category: main + dependencies: + docutils: <0.19 + python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' + sphinx: '>=1.6,<7' + sphinxcontrib-jquery: '>=2.0.0,!=3.0.0' + hash: + md5: 55f8f3f0fa3fd6b7522f4133fac8ee59 + sha256: 3774803e81091a64d2f3990246bb9310f1b9df13887914e1c77eab917bf102ec + manager: conda + name: sphinx_rtd_theme + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-1.2.0-pyha770c72_0.conda + version: 1.2.0 - category: main dependencies: aws-sam-translator: '>=1.55.0' @@ -5285,13 +5299,13 @@ package: pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: 2945516583e15adb10da14a819796b73ef289061c9c130762514aeb88dca8aee + sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93 manager: pip name: hammer-vlsi optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/e2/d3/215e1a6ae3e3d6a7e1e960a61f0c90393a8e4f7b9fdaa669bd00d1e9be1d/hammer_vlsi-1.0.0-py3-none-any.whl - version: 1.0.0 + url: https://files.pythonhosted.org/packages/85/0f/7fcab088a5e2780d165bbea5ea3974b0f2286ddc98499e98aa29609bd0ee/hammer_vlsi-1.0.1-py3-none-any.whl + version: 1.0.1 - category: main dependencies: asttokens: '>=2,<3' From 89090f6b909880e1218916e5351ee20d2836533f Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 15 Feb 2023 10:17:08 -0800 Subject: [PATCH 49/90] Remove need for separate SpikeCosimResources --- .../src/main/resources/vsrc/cospike.v | 70 +++++++++---------- .../chipyard/src/main/scala/Cospike.scala | 28 ++++---- .../src/main/scala/HarnessBinders.scala | 17 ++--- 3 files changed, 54 insertions(+), 61 deletions(-) diff --git a/generators/chipyard/src/main/resources/vsrc/cospike.v b/generators/chipyard/src/main/resources/vsrc/cospike.v index 0b70d365..f9d2322c 100644 --- a/generators/chipyard/src/main/resources/vsrc/cospike.v +++ b/generators/chipyard/src/main/resources/vsrc/cospike.v @@ -20,46 +20,42 @@ import "DPI-C" function void cospike_cosim(input longint cycle, ); -module CospikeResources #( - parameter ISA, - parameter PMPREGIONS, - parameter MEM0_BASE, - parameter MEM0_SIZE, - parameter NHARTS, - parameter BOOTROM) - (); +module SpikeCosim #( + parameter ISA, + parameter PMPREGIONS, + parameter MEM0_BASE, + parameter MEM0_SIZE, + parameter NHARTS, + parameter BOOTROM) ( + input clock, + input reset, + + input [63:0] cycle, + + input [63:0] hartid, + + input trace_0_valid, + input [63:0] trace_0_iaddr, + input [31:0] trace_0_insn, + input trace_0_exception, + input trace_0_interrupt, + input [63:0] trace_0_cause, + input trace_0_has_wdata, + input [63:0] trace_0_wdata, + + input trace_1_valid, + input [63:0] trace_1_iaddr, + input [31:0] trace_1_insn, + input trace_1_exception, + input trace_1_interrupt, + input [63:0] trace_1_cause, + input trace_1_has_wdata, + input [63:0] trace_1_wdata + ); + initial begin cospike_set_sysinfo(ISA, PMPREGIONS, MEM0_BASE, MEM0_SIZE, NHARTS, BOOTROM); end; -endmodule; // CospikeResources - - -module SpikeCosim ( - input clock, - input reset, - - input [63:0] cycle, - - input [63:0] hartid, - - input trace_0_valid, - input [63:0] trace_0_iaddr, - input [31:0] trace_0_insn, - input trace_0_exception, - input trace_0_interrupt, - input [63:0] trace_0_cause, - input trace_0_has_wdata, - input [63:0] trace_0_wdata, - - input trace_1_valid, - input [63:0] trace_1_iaddr, - input [31:0] trace_1_insn, - input trace_1_exception, - input trace_1_interrupt, - input [63:0] trace_1_cause, - input trace_1_has_wdata, - input [63:0] trace_1_wdata - ); always @(posedge clock) begin if (!reset) begin diff --git a/generators/chipyard/src/main/scala/Cospike.scala b/generators/chipyard/src/main/scala/Cospike.scala index 14eb018d..7b663b24 100644 --- a/generators/chipyard/src/main/scala/Cospike.scala +++ b/generators/chipyard/src/main/scala/Cospike.scala @@ -12,27 +12,23 @@ import freechips.rocketchip.util._ import testchipip.TileTraceIO -class CospikeResources( +case class SpikeCosimConfig( isa: String, pmpregions: Int, mem0_base: BigInt, mem0_size: BigInt, nharts: Int, bootrom: String -) extends BlackBox(Map( - "ISA" -> StringParam(isa), - "PMPREGIONS" -> IntParam(pmpregions), - "MEM0_BASE" -> IntParam(mem0_base), - "MEM0_SIZE" -> IntParam(mem0_size), - "NHARTS" -> IntParam(nharts), - "BOOTROM" -> StringParam(bootrom) -)) with HasBlackBoxResource { - val io = IO(new Bundle {}) - addResource("/csrc/cospike.cc") - addResource("/vsrc/cospike.v") -} +) -class SpikeCosim extends BlackBox with HasBlackBoxResource +class SpikeCosim(cfg: SpikeCosimConfig) extends BlackBox(Map( + "ISA" -> StringParam(cfg.isa), + "PMPREGIONS" -> IntParam(cfg.pmpregions), + "MEM0_BASE" -> IntParam(cfg.mem0_base), + "MEM0_SIZE" -> IntParam(cfg.mem0_size), + "NHARTS" -> IntParam(cfg.nharts), + "BOOTROM" -> StringParam(cfg.bootrom) +)) with HasBlackBoxResource { addResource("/csrc/cospike.cc") addResource("/vsrc/cospike.v") @@ -56,8 +52,8 @@ class SpikeCosim extends BlackBox with HasBlackBoxResource object SpikeCosim { - def apply(trace: TileTraceIO, hartid: Int) = { - val cosim = Module(new SpikeCosim) + def apply(trace: TileTraceIO, hartid: Int, cfg: SpikeCosimConfig) = { + val cosim = Module(new SpikeCosim(cfg)) val cycle = withClockAndReset(trace.clock, trace.reset) { val r = RegInit(0.U(64.W)) r := r + 1.U diff --git a/generators/chipyard/src/main/scala/HarnessBinders.scala b/generators/chipyard/src/main/scala/HarnessBinders.scala index f8e94044..a47b08e0 100644 --- a/generators/chipyard/src/main/scala/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/HarnessBinders.scala @@ -338,14 +338,15 @@ class WithCospike extends ComposeHarnessBinder({ implicit val p = chipyard.iobinders.GetSystemParameters(system) val chipyardSystem = system.asInstanceOf[ChipyardSystemModule[_]].outer.asInstanceOf[ChipyardSystem] val tiles = chipyardSystem.tiles - val isa = tiles.headOption.map(_.isaDTS).getOrElse("") - val mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)) - val mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)) - val pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0) - val nharts = tiles.size - val bootrom = chipyardSystem.bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") - val resources = Module(new CospikeResources(isa, pmpregions, mem0_base, mem0_size, nharts, bootrom)) - ports.map { p => p.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2)) } + val cfg = SpikeCosimConfig( + isa = tiles.headOption.map(_.isaDTS).getOrElse(""), + mem0_base = p(ExtMem).map(_.master.base).getOrElse(BigInt(0)), + mem0_size = p(ExtMem).map(_.master.size).getOrElse(BigInt(0)), + pmpregions = tiles.headOption.map(_.tileParams.core.nPMPs).getOrElse(0), + nharts = tiles.size, + bootrom = chipyardSystem.bootROM.map(_.module.contents.toArray.mkString(" ")).getOrElse("") + ) + ports.map { p => p.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2, cfg)) } } }) From a998754020c004b95c16363acfdda87ea6ad3f7d Mon Sep 17 00:00:00 2001 From: Sagar Karandikar Date: Wed, 15 Feb 2023 11:56:52 -0800 Subject: [PATCH 50/90] simplify vlsi Makefile a bit --- vlsi/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index 210589fb..0693db7e 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -35,8 +35,7 @@ else endif ENV_YML ?= $(vlsi_dir)/env.yml -TECH_CONF ?= $(if $(filter $(tech_name),asap7), example-asap7.yml,\ - example-sky130.yml) +TECH_CONF ?= example-$(tech_name).yml TOOLS_CONF ?= example-tools.yml INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) HAMMER_EXEC ?= $(if $(filter $(tech_name),sky130),\ From 55950b61b9bc4dd7254bb5de30b070e224f89a6e Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 15 Feb 2023 11:31:47 -0800 Subject: [PATCH 51/90] Move sim_files creation after FIRTOOL | Have FIRTOOL delete collateral dir --- common.mk | 8 +++++--- fpga/Makefile | 7 +++---- sims/vcs/Makefile | 7 +++---- sims/verilator/Makefile | 7 +++---- vlsi/Makefile | 7 +++---- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/common.mk b/common.mk index dffd16c2..08733563 100644 --- a/common.mk +++ b/common.mk @@ -91,7 +91,7 @@ endif ######################################################################################### # copy over bootrom files ######################################################################################### -$(build_dir) $(GEN_COLLATERAL_DIR): +$(build_dir): mkdir -p $@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip/bootrom/bootrom.%.img | $(build_dir) @@ -101,7 +101,7 @@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip # create firrtl file rule and variables ######################################################################################### # AG: must re-elaborate if cva6 sources have changed... otherwise just run firrtl compile -$(FIRRTL_FILE) $(ANNO_FILE) &: $(SCALA_SOURCES) $(sim_files) $(SCALA_BUILDTOOL_DEPS) $(EXTRA_GENERATOR_REQS) +$(FIRRTL_FILE) $(ANNO_FILE) &: $(SCALA_SOURCES) $(SCALA_BUILDTOOL_DEPS) $(EXTRA_GENERATOR_REQS) mkdir -p $(build_dir) $(call run_scala_main,$(SBT_PROJECT),$(GENERATOR_PACKAGE).Generator,\ --target-dir $(build_dir) \ @@ -144,7 +144,8 @@ SFC_MFC_TARGETS = \ $(MFC_MODEL_HRCHY_JSON) \ $(MFC_MODEL_SMEMS_JSON) \ $(MFC_FILELIST) \ - $(MFC_BB_MODS_FILELIST) + $(MFC_BB_MODS_FILELIST) \ + $(GEN_COLLATERAL_DIR) SFC_REPL_SEQ_MEM = --infer-rw --repl-seq-mem -c:$(MODEL):-o:$(SFC_SMEMS_CONF) @@ -161,6 +162,7 @@ SFC_REPL_SEQ_MEM = --infer-rw --repl-seq-mem -c:$(MODEL):-o:$(SFC_SMEMS_CONF) # hack: when using dontTouch, io.cpu annotations are not removed by SFC, # hence we remove them manually by using jq before passing them to firtool $(SFC_MFC_TARGETS) &: $(FIRRTL_FILE) $(FINAL_ANNO_FILE) $(VLOG_SOURCES) + rm -rf $(GEN_COLLATERAL_DIR) ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) $(eval SFC_LEVEL := $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), low, none)) $(eval EXTRA_FIRRTL_OPTIONS += $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), $(SFC_REPL_SEQ_MEM),)) diff --git a/fpga/Makefile b/fpga/Makefile index cee60f52..20676835 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -94,11 +94,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v # copy files but ignore *.h files in *.f (match vcs) -$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) - rm -rf $(GEN_COLLATERAL_DIR)/* - cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) + cp -f $^ $(GEN_COLLATERAL_DIR) $(foreach file,\ - $(SIM_FILE_REQS),\ + $^,\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/vcs/Makefile b/sims/vcs/Makefile index 289b1b53..b26df843 100644 --- a/sims/vcs/Makefile +++ b/sims/vcs/Makefile @@ -38,11 +38,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) - rm -rf $(GEN_COLLATERAL_DIR)/* - cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) + cp -f $^ $(GEN_COLLATERAL_DIR) $(foreach file,\ - $(SIM_FILE_REQS),\ + $^,\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile index eb0ad41d..fd171b4c 100644 --- a/sims/verilator/Makefile +++ b/sims/verilator/Makefile @@ -66,11 +66,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/csrc/remote_bitbang.cc # copy files and add -FI for *.h files in *.f -$(sim_files): $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) - rm -rf $(GEN_COLLATERAL_DIR)/* - cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) + cp -f $^ $(GEN_COLLATERAL_DIR) $(foreach file,\ - $(SIM_FILE_REQS),\ + $^,\ $(if $(filter %.h,$(file)),\ echo "-FI $(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/vlsi/Makefile b/vlsi/Makefile index e699a476..228401b2 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -108,11 +108,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) $(build_dir) - rm -rf $(build_dir)/* - cp -f $(SIM_FILE_REQS) $(build_dir) +$(sim_files): $(SIM_FILE_REQS) | $(build_dir) + cp -f $^ $(build_dir) $(foreach file,\ - $(SIM_FILE_REQS),\ + $^,\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) From 85fe0612448a8f1036d4f93bfd7da80cee4deb54 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 15 Feb 2023 14:19:55 -0800 Subject: [PATCH 52/90] Use EICG_wrapper model as addResource/Path | Fix Makefile parsing --- fpga/Makefile | 3 --- generators/chipyard/src/main/scala/config/AbstractConfig.scala | 1 + sims/common-sim-flags.mk | 3 --- vlsi/Makefile | 3 +-- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/fpga/Makefile b/fpga/Makefile index d037833b..7b0f3f80 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -90,9 +90,6 @@ fpga_common_script_dir := $(fpga_dir)/common/tcl ######################################################################################### # setup misc. sim files ######################################################################################### -SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v - # copy files but ignore *.h files in *.f (match vcs) $(sim_files): $(SIM_FILE_REQS) | $(OUT_DIR) cp -f $^ $(OUT_DIR) diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala index 1f43dcbf..3df76ed9 100644 --- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala +++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala @@ -51,6 +51,7 @@ class AbstractConfig extends Config( new chipyard.config.WithPeripheryBusFrequencyAsDefault ++ // Unspecified frequencies with match the pbus frequency (which is always set) new chipyard.config.WithMemoryBusFrequency(100.0) ++ // Default 100 MHz mbus new chipyard.config.WithPeripheryBusFrequency(100.0) ++ // Default 100 MHz pbus + new freechips.rocketchip.subsystem.WithClockGateModel ++ // add default EICG_wrapper clock gate model new freechips.rocketchip.subsystem.WithJtagDTM ++ // set the debug module to expose a JTAG port new freechips.rocketchip.subsystem.WithNoMMIOPort ++ // no top-level MMIO master port (overrides default set in rocketchip) new freechips.rocketchip.subsystem.WithNoSlavePort ++ // no top-level MMIO slave port (overrides default set in rocketchip) diff --git a/sims/common-sim-flags.mk b/sims/common-sim-flags.mk index 3b4281c3..37dd3905 100644 --- a/sims/common-sim-flags.mk +++ b/sims/common-sim-flags.mk @@ -33,6 +33,3 @@ SIM_LDFLAGS = \ -lfesvr \ -ldramsim \ $(EXTRA_SIM_LDFLAGS) - -SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v diff --git a/vlsi/Makefile b/vlsi/Makefile index 0693db7e..9759ce41 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -54,7 +54,7 @@ endif ######################################################################################### # general rules ######################################################################################### -.PHONY: default +.PHONY: default all default: all all: drc lvs @@ -82,7 +82,6 @@ ifneq ($(CUSTOM_VLOG), ) else cat $(TOP_MODS_FILELIST) $(TOP_BB_MODS_FILELIST) | sort -u > $(VLSI_RTL) echo $(TOP_SMEMS_FILE) >> $(VLSI_RTL) - echo $(build_dir)/EICG_wrapper.v >> $(VLSI_RTL) endif ######################################################################################### From 959cca64d242d6b990e73aec94cbcd1c6ad2c68d Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 15 Feb 2023 14:26:33 -0800 Subject: [PATCH 53/90] Fix make help --- common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.mk b/common.mk index 609fbf49..91223371 100644 --- a/common.mk +++ b/common.mk @@ -17,7 +17,7 @@ HELP_COMPILATION_VARIABLES += \ " EXTRA_SIM_SOURCES = additional simulation sources needed for simulator" \ " EXTRA_SIM_REQS = additional make requirements to build the simulator" \ " ENABLE_SBT_THIN_CLIENT = if set, use sbt's experimental thin client (works best when overridding SBT_BIN with the mainline sbt script)" \ -" ENABLE_CUSTOM_FIRRTL_PASS = if set, enable custom firrtl passes (SFC lowers to LowFIRRTL & MFC converts to Verilog) \ +" ENABLE_CUSTOM_FIRRTL_PASS = if set, enable custom firrtl passes (SFC lowers to LowFIRRTL & MFC converts to Verilog)" \ " EXTRA_CHISEL_OPTIONS = additional options to pass to the Chisel compiler" \ " EXTRA_FIRRTL_OPTIONS = additional options to pass to the FIRRTL compiler" From 64bc8c1d077a481521ac36a09c46ad7a2fccdc64 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 15 Feb 2023 14:26:53 -0800 Subject: [PATCH 54/90] Bump SBT to 1.8.2 --- project/build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/build.properties b/project/build.properties index 10fd9eee..46e43a97 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.5.5 +sbt.version=1.8.2 From 0c4cfc8742c42a9280d8ae263dd066d35ba8cbd8 Mon Sep 17 00:00:00 2001 From: Sagar Karandikar Date: Wed, 15 Feb 2023 17:57:26 -0800 Subject: [PATCH 55/90] Fix input files list emission to avoid bash "too many arguments" error This makes the expansion of "cat $(VLSI_RTL)" happen as a child of the shell that runs the for loop. The existing version will sometimes produce a bash "too many arguments" error because the $(shell cat $(VLSI_RTL)) is expanded first and then passed as a giant command to bash. --- vlsi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index 0693db7e..339e3c80 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -122,7 +122,7 @@ $(SYN_CONF): $(VLSI_RTL) echo "synthesis.inputs:" >> $@ echo " top_module: $(VLSI_TOP)" >> $@ echo " input_files:" >> $@ - for x in $(shell cat $(VLSI_RTL)); do \ + for x in $$(cat $(VLSI_RTL)); do \ echo ' - "'$$x'"' >> $@; \ done From 86abfd1e730e89c0a164ebb2a2c75f0aa8a1b3b0 Mon Sep 17 00:00:00 2001 From: Sagar Karandikar Date: Wed, 15 Feb 2023 18:25:22 -0800 Subject: [PATCH 56/90] Same as fix for Makefile --- vlsi/power.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vlsi/power.mk b/vlsi/power.mk index bc7359ee..d55b965f 100644 --- a/vlsi/power.mk +++ b/vlsi/power.mk @@ -30,7 +30,7 @@ $(POWER_RTL_CONF): $(VLSI_RTL) echo "power.inputs:" >> $@ echo " level: rtl" >> $@ echo " input_files:" >> $@ - for x in $(shell cat $(VLSI_RTL)); do \ + for x in $$(cat $(VLSI_RTL)); do \ echo ' - "'$$x'"' >> $@; \ done From 97f576da2a5593dcc908325fd98c7c18a2a55786 Mon Sep 17 00:00:00 2001 From: Sagar Karandikar Date: Wed, 15 Feb 2023 18:26:30 -0800 Subject: [PATCH 57/90] Same as Makefile --- vlsi/sim.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vlsi/sim.mk b/vlsi/sim.mk index 65b836cc..5623f9d3 100644 --- a/vlsi/sim.mk +++ b/vlsi/sim.mk @@ -10,7 +10,7 @@ $(SIM_CONF): $(sim_common_files) echo " top_module: $(VLSI_TOP)" >> $@ echo " tb_name: ''" >> $@ # don't specify -top echo " input_files:" >> $@ - for x in $(shell cat $(sim_common_files)); do \ + for x in $$(cat $(sim_common_files)); do \ echo ' - "'$$x'"' >> $@; \ done echo " input_files_meta: 'append'" >> $@ From aa02295a0b01919bc0a5b7134f05709cc457d266 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 15 Feb 2023 19:24:43 -0800 Subject: [PATCH 58/90] Fix spacing of AbstactConfig --- generators/chipyard/src/main/scala/config/AbstractConfig.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala index 3df76ed9..191954f6 100644 --- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala +++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala @@ -51,7 +51,7 @@ class AbstractConfig extends Config( new chipyard.config.WithPeripheryBusFrequencyAsDefault ++ // Unspecified frequencies with match the pbus frequency (which is always set) new chipyard.config.WithMemoryBusFrequency(100.0) ++ // Default 100 MHz mbus new chipyard.config.WithPeripheryBusFrequency(100.0) ++ // Default 100 MHz pbus - new freechips.rocketchip.subsystem.WithClockGateModel ++ // add default EICG_wrapper clock gate model + new freechips.rocketchip.subsystem.WithClockGateModel ++ // add default EICG_wrapper clock gate model new freechips.rocketchip.subsystem.WithJtagDTM ++ // set the debug module to expose a JTAG port new freechips.rocketchip.subsystem.WithNoMMIOPort ++ // no top-level MMIO master port (overrides default set in rocketchip) new freechips.rocketchip.subsystem.WithNoSlavePort ++ // no top-level MMIO slave port (overrides default set in rocketchip) From f26113e13faac7a967ab136a009096e6d01a4683 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 20 Feb 2023 23:59:52 -0800 Subject: [PATCH 59/90] Remove Duplicate Compiler Flags --- common.mk | 19 +++++++++++++++++-- tools/barstools | 2 +- variables.mk | 2 ++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/common.mk b/common.mk index f592fa5c..f5ed3142 100644 --- a/common.mk +++ b/common.mk @@ -126,10 +126,26 @@ define mfc_extra_anno_contents } ] endef +define sfc_extra_low_transforms_anno_contents +[ + { + "class": "firrtl.stage.RunFirrtlTransformAnnotation", + "transform": "barstools.tapeout.transforms.ExtraLowTransforms" + } +] +endef export mfc_extra_anno_contents +export sfc_extra_low_transforms_anno_contents $(FINAL_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE): $(ANNO_FILE) echo "$$mfc_extra_anno_contents" > $(MFC_EXTRA_ANNO_FILE) +ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) jq -s '[.[][]]' $(ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) +else + echo "$$sfc_extra_low_transforms_anno_contents" > $(SFC_EXTRA_ANNO_FILE) + jq -s '[.[][]]' $(SFC_EXTRA_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(EXTRA_ANNO_FILE) + jq -s '[.[][]]' $(ANNO_FILE) $(EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) +endif + .PHONY: firrtl firrtl: $(FIRRTL_FILE) $(FINAL_ANNO_FILE) @@ -179,9 +195,8 @@ endif --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ - -DX $(SFC_LEVEL) \ -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) # -X and -DX are duplicates to allow for extra FIRRTL passes to be run + $(EXTRA_FIRRTL_OPTIONS)) -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi diff --git a/tools/barstools b/tools/barstools index 9760528f..a9f9068b 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit 9760528f1de2b1a52a11476e76d25909b31d1def +Subproject commit a9f9068baf5ecf3aa3c37980738971036e411731 diff --git a/variables.mk b/variables.mk index f10cbfa9..b98e5633 100644 --- a/variables.mk +++ b/variables.mk @@ -146,6 +146,7 @@ endif # chisel generated outputs FIRRTL_FILE ?= $(build_dir)/$(long_name).fir ANNO_FILE ?= $(build_dir)/$(long_name).anno.json +EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extra.anno.json # chisel anno modification output MFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrafirtool.anno.json @@ -154,6 +155,7 @@ FINAL_ANNO_FILE ?= $(build_dir)/$(long_name).appended.anno.json # scala firrtl compiler (sfc) outputs SFC_FIRRTL_BASENAME ?= $(build_dir)/$(long_name).sfc SFC_FIRRTL_FILE ?= $(SFC_FIRRTL_BASENAME).fir +SFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrasfc.anno.json SFC_ANNO_FILE ?= $(build_dir)/$(long_name).sfc.anno.json # firtool compiler outputs From a83a0d2c68d466b4dad8e1ff1550c2f453baa6bd Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 11:34:27 -0800 Subject: [PATCH 60/90] Fix socket name length issues on CI --- .github/scripts/defaults.sh | 5 +++++ .github/scripts/remote-do-rtl-build.sh | 2 +- .github/workflows/chipyard-full-flow.yml | 1 + variables.mk | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 6ca434fb..57fdfaa8 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -23,6 +23,11 @@ LOCAL_CHIPYARD_DIR=$GITHUB_WORKSPACE LOCAL_SIM_DIR=$LOCAL_CHIPYARD_DIR/sims/verilator LOCAL_FIRESIM_DIR=$LOCAL_CHIPYARD_DIR/sims/firesim/sim +# CI uses temp directories with very long names +# explicitly force socket creation to use /tmp to avoid name length errors +# https://github.com/sbt/sbt/pull/6887 +JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) + # key value store to get the build groups declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" diff --git a/.github/scripts/remote-do-rtl-build.sh b/.github/scripts/remote-do-rtl-build.sh index 0e887e9a..b5755d01 100755 --- a/.github/scripts/remote-do-rtl-build.sh +++ b/.github/scripts/remote-do-rtl-build.sh @@ -53,5 +53,5 @@ read -a keys <<< ${grouping[$1]} for key in "${keys[@]}" do export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache - make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_OPTS="$REMOTE_JAVA_OPTS" SBT_OPTS="$REMOTE_SBT_OPTS" ${mapping[$key]} + make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_TMP_DIR=$JAVA_TMP_DIR SBT_OPTS="$REMOTE_SBT_OPTS" ${mapping[$key]} done diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml index cc2168e8..22382571 100644 --- a/.github/workflows/chipyard-full-flow.yml +++ b/.github/workflows/chipyard-full-flow.yml @@ -13,6 +13,7 @@ defaults: env: REMOTE_WORK_DIR: ${{ secrets.BUILDDIR }}/cy-ci-shared/cy-${{ github.sha }} + JAVA_TMP_DIR: /tmp/cy-${{ github.sha }}-full jobs: cancel-prior-workflows: diff --git a/variables.mk b/variables.mk index f10cbfa9..1312cbe3 100644 --- a/variables.mk +++ b/variables.mk @@ -202,7 +202,8 @@ sim_common_files ?= $(build_dir)/sim_files.common.f # java arguments used in sbt ######################################################################################### JAVA_HEAP_SIZE ?= 8G -export JAVA_TOOL_OPTIONS ?= -Xmx$(JAVA_HEAP_SIZE) -Xss8M -Djava.io.tmpdir=$(base_dir)/.java_tmp +JAVA_TMP_DIR ?= $(base_dir)/.java_tmp +export JAVA_TOOL_OPTIONS ?= -Xmx$(JAVA_HEAP_SIZE) -Xss8M -Djava.io.tmpdir=$(JAVA_TMP_DIR) ######################################################################################### # default sbt launch command From f0b9f604873ba4a8f83dadc57ae84c004c307656 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 14:48:15 -0800 Subject: [PATCH 61/90] Fix firesim sbt builds --- .github/scripts/remote-run-firesim-scala-tests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/scripts/remote-run-firesim-scala-tests.sh b/.github/scripts/remote-run-firesim-scala-tests.sh index 6d475921..960d1706 100755 --- a/.github/scripts/remote-run-firesim-scala-tests.sh +++ b/.github/scripts/remote-run-firesim-scala-tests.sh @@ -16,4 +16,5 @@ cd $REMOTE_CHIPYARD_DIR # Run Firesim Scala Tests export FIRESIM_ENV_SOURCED=1; export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache -make -C $REMOTE_FIRESIM_DIR JAVA_OPTS="$REMOTE_JAVA_OPTS" SBT_OPTS="$REMOTE_SBT_OPTS" TARGET_SBT_PROJECT="{file:$REMOTE_CHIPYARD_DIR}firechip" testOnly ${mapping[$1]} +JAVA_TOOL_OPTIONS="$REMOTE_JAVA_OPTS -Djava.io.tmpdir=$(mktemp -d -t cy-fsim-XXXXXXXX)" +make -C $REMOTE_FIRESIM_DIR JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS" SBT_OPTS="$REMOTE_SBT_OPTS" TARGET_SBT_PROJECT="{file:$REMOTE_CHIPYARD_DIR}firechip" testOnly ${mapping[$1]} From be358542863d7eaf2e28dcbc4aac10c03a97dd0b Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 20 Feb 2023 23:59:52 -0800 Subject: [PATCH 62/90] Remove Duplicate Compiler Flags --- common.mk | 19 +++++++++++++++++-- tools/barstools | 2 +- variables.mk | 2 ++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/common.mk b/common.mk index f592fa5c..f5ed3142 100644 --- a/common.mk +++ b/common.mk @@ -126,10 +126,26 @@ define mfc_extra_anno_contents } ] endef +define sfc_extra_low_transforms_anno_contents +[ + { + "class": "firrtl.stage.RunFirrtlTransformAnnotation", + "transform": "barstools.tapeout.transforms.ExtraLowTransforms" + } +] +endef export mfc_extra_anno_contents +export sfc_extra_low_transforms_anno_contents $(FINAL_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE): $(ANNO_FILE) echo "$$mfc_extra_anno_contents" > $(MFC_EXTRA_ANNO_FILE) +ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) jq -s '[.[][]]' $(ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) +else + echo "$$sfc_extra_low_transforms_anno_contents" > $(SFC_EXTRA_ANNO_FILE) + jq -s '[.[][]]' $(SFC_EXTRA_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(EXTRA_ANNO_FILE) + jq -s '[.[][]]' $(ANNO_FILE) $(EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) +endif + .PHONY: firrtl firrtl: $(FIRRTL_FILE) $(FINAL_ANNO_FILE) @@ -179,9 +195,8 @@ endif --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ - -DX $(SFC_LEVEL) \ -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) # -X and -DX are duplicates to allow for extra FIRRTL passes to be run + $(EXTRA_FIRRTL_OPTIONS)) -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi diff --git a/tools/barstools b/tools/barstools index 9760528f..a9f9068b 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit 9760528f1de2b1a52a11476e76d25909b31d1def +Subproject commit a9f9068baf5ecf3aa3c37980738971036e411731 diff --git a/variables.mk b/variables.mk index 1312cbe3..a89d23a0 100644 --- a/variables.mk +++ b/variables.mk @@ -146,6 +146,7 @@ endif # chisel generated outputs FIRRTL_FILE ?= $(build_dir)/$(long_name).fir ANNO_FILE ?= $(build_dir)/$(long_name).anno.json +EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extra.anno.json # chisel anno modification output MFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrafirtool.anno.json @@ -154,6 +155,7 @@ FINAL_ANNO_FILE ?= $(build_dir)/$(long_name).appended.anno.json # scala firrtl compiler (sfc) outputs SFC_FIRRTL_BASENAME ?= $(build_dir)/$(long_name).sfc SFC_FIRRTL_FILE ?= $(SFC_FIRRTL_BASENAME).fir +SFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrasfc.anno.json SFC_ANNO_FILE ?= $(build_dir)/$(long_name).sfc.anno.json # firtool compiler outputs From a9209c4aaaba21ec2b043c997b0f5f40cc67fb7e Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 16:56:25 -0800 Subject: [PATCH 63/90] Fix TestDriver.v missing from gen-collateral after recompiling --- sims/vcs/Makefile | 6 +++--- sims/verilator/Makefile | 6 +++--- vlsi/Makefile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sims/vcs/Makefile b/sims/vcs/Makefile index b26df843..b6f11a80 100644 --- a/sims/vcs/Makefile +++ b/sims/vcs/Makefile @@ -38,10 +38,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile index fd171b4c..d48da28e 100644 --- a/sims/verilator/Makefile +++ b/sims/verilator/Makefile @@ -66,10 +66,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/csrc/remote_bitbang.cc # copy files and add -FI for *.h files in *.f -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ echo "-FI $(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/vlsi/Makefile b/vlsi/Makefile index a1f850a1..ab8438d5 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -134,10 +134,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(build_dir) - cp -f $^ $(build_dir) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(build_dir) + cp -f $(SIM_FILE_REQS) $(build_dir) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) From 32dfc6fbf04925fce1fd16c5137ee64f43af26d2 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 21:23:58 -0800 Subject: [PATCH 64/90] fixes --- fpga/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fpga/Makefile b/fpga/Makefile index 037b2fb9..79bdb338 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -90,11 +90,14 @@ fpga_common_script_dir := $(fpga_dir)/common/tcl ######################################################################################### # setup misc. sim files ######################################################################################### +SIM_FILE_REQS += \ + $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v + # copy files but ignore *.h files in *.f (match vcs) -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) From 0bcdbaa9b2e49b3688b0bfa3925b2b77006737d4 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 21:54:45 -0800 Subject: [PATCH 65/90] Revert "Remove Duplicate Compiler Flags" This reverts commit be358542863d7eaf2e28dcbc4aac10c03a97dd0b. --- common.mk | 19 ++----------------- tools/barstools | 2 +- variables.mk | 2 -- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/common.mk b/common.mk index f5ed3142..f592fa5c 100644 --- a/common.mk +++ b/common.mk @@ -126,26 +126,10 @@ define mfc_extra_anno_contents } ] endef -define sfc_extra_low_transforms_anno_contents -[ - { - "class": "firrtl.stage.RunFirrtlTransformAnnotation", - "transform": "barstools.tapeout.transforms.ExtraLowTransforms" - } -] -endef export mfc_extra_anno_contents -export sfc_extra_low_transforms_anno_contents $(FINAL_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE): $(ANNO_FILE) echo "$$mfc_extra_anno_contents" > $(MFC_EXTRA_ANNO_FILE) -ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) jq -s '[.[][]]' $(ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) -else - echo "$$sfc_extra_low_transforms_anno_contents" > $(SFC_EXTRA_ANNO_FILE) - jq -s '[.[][]]' $(SFC_EXTRA_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(EXTRA_ANNO_FILE) - jq -s '[.[][]]' $(ANNO_FILE) $(EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) -endif - .PHONY: firrtl firrtl: $(FIRRTL_FILE) $(FINAL_ANNO_FILE) @@ -195,8 +179,9 @@ endif --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ + -DX $(SFC_LEVEL) \ -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) + $(EXTRA_FIRRTL_OPTIONS)) # -X and -DX are duplicates to allow for extra FIRRTL passes to be run -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi diff --git a/tools/barstools b/tools/barstools index a9f9068b..9760528f 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit a9f9068baf5ecf3aa3c37980738971036e411731 +Subproject commit 9760528f1de2b1a52a11476e76d25909b31d1def diff --git a/variables.mk b/variables.mk index a89d23a0..1312cbe3 100644 --- a/variables.mk +++ b/variables.mk @@ -146,7 +146,6 @@ endif # chisel generated outputs FIRRTL_FILE ?= $(build_dir)/$(long_name).fir ANNO_FILE ?= $(build_dir)/$(long_name).anno.json -EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extra.anno.json # chisel anno modification output MFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrafirtool.anno.json @@ -155,7 +154,6 @@ FINAL_ANNO_FILE ?= $(build_dir)/$(long_name).appended.anno.json # scala firrtl compiler (sfc) outputs SFC_FIRRTL_BASENAME ?= $(build_dir)/$(long_name).sfc SFC_FIRRTL_FILE ?= $(SFC_FIRRTL_BASENAME).fir -SFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrasfc.anno.json SFC_ANNO_FILE ?= $(build_dir)/$(long_name).sfc.anno.json # firtool compiler outputs From dd52a3ba8fd5b7d665cede41be4985a141f38eb1 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:12:40 -0800 Subject: [PATCH 66/90] Bump boom --- generators/boom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/boom b/generators/boom index 615f4ef6..deae9f70 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 615f4ef60fdd2fd255ff0cf49602391c91b83369 +Subproject commit deae9f70469336a3787fa7fcc10135ffb93d21d9 From a4827b0749fbfbb6f449d46aae5a4cf123986fff Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:32:34 -0800 Subject: [PATCH 67/90] Consolidate peripheral device testing configs into a single ManyPeripheralsConfig --- .github/scripts/defaults.sh | 7 ++-- .github/scripts/run-tests.sh | 8 ++--- .github/workflows/chipyard-run-tests.yml | 32 +++---------------- .../config/PeripheralDeviceConfigs.scala | 12 +++++++ 4 files changed, 22 insertions(+), 37 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 57fdfaa8..097bc045 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -31,7 +31,7 @@ JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) # key value store to get the build groups declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" -grouping["group-peripherals"]="chipyard-dmirocket chipyard-blkdev chipyard-spiflashread chipyard-spiflashwrite chipyard-mmios chipyard-lbwif chipyard-nocores" +grouping["group-peripherals"]="chipyard-dmirocket chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals" grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough" grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" @@ -42,7 +42,6 @@ grouping["group-fpga"]="arty vcu118 vc707" declare -A mapping mapping["chipyard-rocket"]="" mapping["chipyard-dmirocket"]=" CONFIG=dmiRocketConfig" -mapping["chipyard-lbwif"]=" CONFIG=LBWIFRocketConfig" mapping["chipyard-sha3"]=" CONFIG=Sha3RocketConfig" mapping["chipyard-mempress"]=" CONFIG=MempressRocketConfig" mapping["chipyard-digitaltop"]=" TOP=DigitalTop" @@ -51,14 +50,12 @@ mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketCon mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" mapping["chipyard-spike"]=" CONFIG=SpikeFastUARTConfig EXTRA_SIM_FLAGS='+spike-ipc=10'" -mapping["chipyard-blkdev"]=" CONFIG=SimBlockDeviceRocketConfig" mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" mapping["chipyard-gemmini"]=" CONFIG=GemminiRocketConfig" mapping["chipyard-cva6"]=" CONFIG=CVA6Config" mapping["chipyard-ibex"]=" CONFIG=IbexConfig" -mapping["chipyard-spiflashread"]=" CONFIG=LargeSPIFlashROMRocketConfig" mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig" -mapping["chipyard-mmios"]=" CONFIG=MMIORocketConfig verilog" +mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig" mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index 8dc60603..e45ba2d6 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -35,9 +35,6 @@ case $1 in chipyard-dmirocket) run_bmark ${mapping[$1]} ;; - chipyard-lbwif) - run_bmark ${mapping[$1]} - ;; chipyard-boom) run_bmark ${mapping[$1]} ;; @@ -77,7 +74,10 @@ case $1 in make -C $LOCAL_CHIPYARD_DIR/tests make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv ;; - chipyard-spiflashread) + chipyard-manyperipherals) + # bmark tests, then SPI Flash read tests + run_bmark ${mapping[$1]} + make -C $LOCAL_CHIPYARD_DIR/tests make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast ;; diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index ccac2b98..fd79bf24 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -620,31 +620,8 @@ jobs: group-key: "group-peripherals" project-key: "chipyard-spiflashwrite" - chipyard-spiflashread-run-tests: - name: chipyard-spiflashread-run-tests - needs: prepare-chipyard-peripherals - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-spiflashread" - - chipyard-lbwif-run-tests: - name: chipyard-lbwif-run-tests + chipyard-manyperipherals-run-tests: + name: chipyard-manyperipherals-run-tests needs: prepare-chipyard-peripherals runs-on: self-hosted steps: @@ -664,7 +641,7 @@ jobs: uses: ./.github/actions/run-tests with: group-key: "group-peripherals" - project-key: "chipyard-lbwif" + project-key: "chipyard-manyperipherals" chipyard-sha3-run-tests: name: chipyard-sha3-run-tests @@ -1009,9 +986,8 @@ jobs: chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-fftgenerator-run-tests, - chipyard-spiflashread-run-tests, chipyard-spiflashwrite-run-tests, - chipyard-lbwif-run-tests, + chipyard-manyperipherals-run-tests, chipyard-sha3-run-tests, chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, diff --git a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala index 37e4570a..d01bcd8d 100644 --- a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala +++ b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala @@ -63,3 +63,15 @@ class dmiRocketConfig extends Config( new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new chipyard.config.AbstractConfig) // DOC include end: DmiRocket + +class ManyPeripheralsRocketConfig extends Config( + new chipyard.harness.WithSimSPIFlashModel(true) ++ // add the SPI flash model in the harness (read-only) + new chipyard.harness.WithSimBlockDevice ++ // drive block-device IOs with SimBlockDevice + new chipyard.config.WithSPIFlash ++ // add the SPI flash controller + new freechips.rocketchip.subsystem.WithDefaultMMIOPort ++ // add default external master port + new freechips.rocketchip.subsystem.WithDefaultSlavePort ++ // add default external slave port + new testchipip.WithBlockDevice ++ // add block-device module to peripherybus + new testchipip.WithSerialTLMem(isMainMemory=true) ++ // set lbwif memory base to DRAM_BASE, use as main memory + new freechips.rocketchip.subsystem.WithNoMemPort ++ // remove AXI4 backing memory + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.AbstractConfig) From 154c31677cb8b2b0e7d463375347ae91e25e9fca Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:47:35 -0800 Subject: [PATCH 68/90] Consolidate mmio-accelerator test configs into a single config --- .github/scripts/defaults.sh | 7 +- .github/scripts/run-tests.sh | 28 +++---- .github/workflows/chipyard-run-tests.yml | 80 +------------------ .../scala/config/MMIOAcceleratorConfigs.scala | 8 ++ 4 files changed, 28 insertions(+), 95 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 097bc045..adc264a9 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -32,7 +32,7 @@ JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" grouping["group-peripherals"]="chipyard-dmirocket chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals" -grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough" +grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels" grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" grouping["group-other"]="icenet testchipip constellation" @@ -45,8 +45,7 @@ mapping["chipyard-dmirocket"]=" CONFIG=dmiRocketConfig" mapping["chipyard-sha3"]=" CONFIG=Sha3RocketConfig" mapping["chipyard-mempress"]=" CONFIG=MempressRocketConfig" mapping["chipyard-digitaltop"]=" TOP=DigitalTop" -mapping["chipyard-streaming-fir"]=" CONFIG=StreamingFIRRocketConfig" -mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketConfig" +mapping["chipyard-manymmioaccels"]=" CONFIG=ManyMMIOAcceleratorRocketConfig" mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" mapping["chipyard-spike"]=" CONFIG=SpikeFastUARTConfig EXTRA_SIM_FLAGS='+spike-ipc=10'" @@ -60,11 +59,9 @@ mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" mapping["tracegen-boom"]=" CONFIG=BoomTraceGenConfig" -mapping["chipyard-nvdla"]=" CONFIG=SmallNVDLARocketConfig" mapping["chipyard-sodor"]=" CONFIG=Sodor5StageConfig" mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig" mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig" -mapping["chipyard-fftgenerator"]=" CONFIG=FFTRocketConfig" mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig" mapping["constellation"]=" SUB_PROJECT=constellation" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index e45ba2d6..5247c2de 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -66,14 +66,22 @@ case $1 in (cd $LOCAL_CHIPYARD_DIR/generators/mempress/software/src && make) make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/generators/mempress/software/src/mempress-rocc.riscv ;; - chipyard-streaming-passthrough) - make -C $LOCAL_CHIPYARD_DIR/tests + chipyard-manymmioaccels) + make -C $LOCAL_CHIPYARD_DIR/tests + + # test streaming-passthrough make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-passthrough.riscv - ;; - chipyard-streaming-fir) - make -C $LOCAL_CHIPYARD_DIR/tests + + # test streaming-fir make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv - ;; + + # test nvdla + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary-fast + + # test fft + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast + + ;; chipyard-manyperipherals) # bmark tests, then SPI Flash read tests run_bmark ${mapping[$1]} @@ -101,14 +109,6 @@ case $1 in chipyard-sodor) run_asm ${mapping[$1]} ;; - chipyard-nvdla) - make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary-fast - ;; - chipyard-fftgenerator) - make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast - ;; chipyard-constellation) run_bmark ${mapping[$1]} ;; diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index fd79bf24..c3e77e8b 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -551,29 +551,6 @@ jobs: group-key: "group-cores" project-key: "chipyard-spike" - chipyard-fftgenerator-run-tests: - name: chipyard-fftgenerator-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-fftgenerator" - chipyard-dmirocket-run-tests: name: chipyard-dmirocket-run-tests needs: prepare-chipyard-peripherals @@ -666,52 +643,6 @@ jobs: group-key: "group-accels" project-key: "chipyard-sha3" - chipyard-streaming-fir-run-tests: - name: chipyard-streaming-fir-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-fir" - - chipyard-streaming-passthrough-run-tests: - name: chipyard-streaming-passthrough-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-passthrough" - chipyard-gemmini-run-tests: name: chipyard-gemmini-run-tests needs: prepare-chipyard-accels @@ -735,8 +666,8 @@ jobs: group-key: "group-accels" project-key: "chipyard-gemmini" - chipyard-nvdla-run-tests: - name: chipyard-nvdla-run-tests + chipyard-manymmioaccels-run-tests: + name: chipyard-manymmioaccels-run-tests needs: prepare-chipyard-accels runs-on: self-hosted steps: @@ -756,7 +687,7 @@ jobs: uses: ./.github/actions/run-tests with: group-key: "group-accels" - project-key: "chipyard-nvdla" + project-key: "chipyard-manymmioaccels" chipyard-mempress-run-tests: name: chipyard-mempress-run-tests @@ -985,14 +916,11 @@ jobs: chipyard-ibex-run-tests, chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, - chipyard-fftgenerator-run-tests, chipyard-spiflashwrite-run-tests, chipyard-manyperipherals-run-tests, chipyard-sha3-run-tests, - chipyard-streaming-fir-run-tests, - chipyard-streaming-passthrough-run-tests, chipyard-gemmini-run-tests, - chipyard-nvdla-run-tests, + chipyard-manymmioaccels-run-tests, chipyard-mempress-run-tests, chipyard-constellation-run-tests, tracegen-boom-run-tests, diff --git a/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala b/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala index 83488916..fcb4804d 100644 --- a/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala +++ b/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala @@ -56,3 +56,11 @@ class LargeNVDLARocketConfig extends Config( new nvidia.blocks.dla.WithNVDLA("large", true) ++ // add a large NVDLA with synth. rams new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new chipyard.config.AbstractConfig) + +class ManyMMIOAcceleratorRocketConfig extends Config( + new fftgenerator.WithFFTGenerator(numPoints=8, width=16, decPt=8) ++ // add 8-point mmio fft at the default addr (0x2400) with 16bit fixed-point numbers. + new nvidia.blocks.dla.WithNVDLA("small") ++ // add a small NVDLA + new chipyard.example.WithStreamingPassthrough ++ // use top with tilelink-controlled streaming passthrough + new chipyard.example.WithStreamingFIR ++ // use top with tilelink-controlled streaming FIR + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.AbstractConfig) From 88fe297d9505cea0ad441cdfe82c3669b2de843c Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 09:53:22 -0800 Subject: [PATCH 69/90] Move EXTRA_SIM_FLAGS to defaults.sh in CI --- .github/scripts/defaults.sh | 4 ++-- .github/scripts/run-tests.sh | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index adc264a9..fb83ad00 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -53,8 +53,8 @@ mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" mapping["chipyard-gemmini"]=" CONFIG=GemminiRocketConfig" mapping["chipyard-cva6"]=" CONFIG=CVA6Config" mapping["chipyard-ibex"]=" CONFIG=IbexConfig" -mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig" -mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig" +mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'" +mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'" mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index 5247c2de..6e66c9a8 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -83,15 +83,16 @@ case $1 in ;; chipyard-manyperipherals) - # bmark tests, then SPI Flash read tests - run_bmark ${mapping[$1]} + # SPI Flash read tests, then bmark tests make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv run-binary-fast + + run_bmark ${mapping[$1]} ;; chipyard-spiflashwrite) make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv run-binary-fast [[ "`xxd $LOCAL_CHIPYARD_DIR/tests/spiflash.img | grep 1337\ 00ff\ aa55\ face | wc -l`" == "6" ]] || false ;; tracegen) From 1adc21d663f1dbe2b7293386b77df17c51ccf050 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 11:34:27 -0800 Subject: [PATCH 70/90] Fix socket name length issues on CI --- .github/scripts/defaults.sh | 5 +++++ .github/scripts/remote-do-rtl-build.sh | 2 +- .github/workflows/chipyard-full-flow.yml | 1 + variables.mk | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 6ca434fb..57fdfaa8 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -23,6 +23,11 @@ LOCAL_CHIPYARD_DIR=$GITHUB_WORKSPACE LOCAL_SIM_DIR=$LOCAL_CHIPYARD_DIR/sims/verilator LOCAL_FIRESIM_DIR=$LOCAL_CHIPYARD_DIR/sims/firesim/sim +# CI uses temp directories with very long names +# explicitly force socket creation to use /tmp to avoid name length errors +# https://github.com/sbt/sbt/pull/6887 +JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) + # key value store to get the build groups declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" diff --git a/.github/scripts/remote-do-rtl-build.sh b/.github/scripts/remote-do-rtl-build.sh index 0e887e9a..b5755d01 100755 --- a/.github/scripts/remote-do-rtl-build.sh +++ b/.github/scripts/remote-do-rtl-build.sh @@ -53,5 +53,5 @@ read -a keys <<< ${grouping[$1]} for key in "${keys[@]}" do export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache - make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_OPTS="$REMOTE_JAVA_OPTS" SBT_OPTS="$REMOTE_SBT_OPTS" ${mapping[$key]} + make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_TMP_DIR=$JAVA_TMP_DIR SBT_OPTS="$REMOTE_SBT_OPTS" ${mapping[$key]} done diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml index cc2168e8..22382571 100644 --- a/.github/workflows/chipyard-full-flow.yml +++ b/.github/workflows/chipyard-full-flow.yml @@ -13,6 +13,7 @@ defaults: env: REMOTE_WORK_DIR: ${{ secrets.BUILDDIR }}/cy-ci-shared/cy-${{ github.sha }} + JAVA_TMP_DIR: /tmp/cy-${{ github.sha }}-full jobs: cancel-prior-workflows: diff --git a/variables.mk b/variables.mk index b98e5633..a89d23a0 100644 --- a/variables.mk +++ b/variables.mk @@ -204,7 +204,8 @@ sim_common_files ?= $(build_dir)/sim_files.common.f # java arguments used in sbt ######################################################################################### JAVA_HEAP_SIZE ?= 8G -export JAVA_TOOL_OPTIONS ?= -Xmx$(JAVA_HEAP_SIZE) -Xss8M -Djava.io.tmpdir=$(base_dir)/.java_tmp +JAVA_TMP_DIR ?= $(base_dir)/.java_tmp +export JAVA_TOOL_OPTIONS ?= -Xmx$(JAVA_HEAP_SIZE) -Xss8M -Djava.io.tmpdir=$(JAVA_TMP_DIR) ######################################################################################### # default sbt launch command From 3b248b13689e5963210db90cbb71d6a3963a8f1b Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 14:48:15 -0800 Subject: [PATCH 71/90] Fix firesim sbt builds --- .github/scripts/remote-run-firesim-scala-tests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/scripts/remote-run-firesim-scala-tests.sh b/.github/scripts/remote-run-firesim-scala-tests.sh index 6d475921..960d1706 100755 --- a/.github/scripts/remote-run-firesim-scala-tests.sh +++ b/.github/scripts/remote-run-firesim-scala-tests.sh @@ -16,4 +16,5 @@ cd $REMOTE_CHIPYARD_DIR # Run Firesim Scala Tests export FIRESIM_ENV_SOURCED=1; export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache -make -C $REMOTE_FIRESIM_DIR JAVA_OPTS="$REMOTE_JAVA_OPTS" SBT_OPTS="$REMOTE_SBT_OPTS" TARGET_SBT_PROJECT="{file:$REMOTE_CHIPYARD_DIR}firechip" testOnly ${mapping[$1]} +JAVA_TOOL_OPTIONS="$REMOTE_JAVA_OPTS -Djava.io.tmpdir=$(mktemp -d -t cy-fsim-XXXXXXXX)" +make -C $REMOTE_FIRESIM_DIR JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS" SBT_OPTS="$REMOTE_SBT_OPTS" TARGET_SBT_PROJECT="{file:$REMOTE_CHIPYARD_DIR}firechip" testOnly ${mapping[$1]} From 985491659a608d93d5759292bd41463e78436d39 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 16:56:25 -0800 Subject: [PATCH 72/90] Fix TestDriver.v missing from gen-collateral after recompiling --- sims/vcs/Makefile | 6 +++--- sims/verilator/Makefile | 6 +++--- vlsi/Makefile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sims/vcs/Makefile b/sims/vcs/Makefile index b26df843..b6f11a80 100644 --- a/sims/vcs/Makefile +++ b/sims/vcs/Makefile @@ -38,10 +38,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile index fd171b4c..d48da28e 100644 --- a/sims/verilator/Makefile +++ b/sims/verilator/Makefile @@ -66,10 +66,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/csrc/remote_bitbang.cc # copy files and add -FI for *.h files in *.f -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ echo "-FI $(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) diff --git a/vlsi/Makefile b/vlsi/Makefile index a1f850a1..ab8438d5 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -134,10 +134,10 @@ SIM_FILE_REQS += \ $(ROCKETCHIP_RSRCS_DIR)/vsrc/TestDriver.v # copy files but ignore *.h files in *.f since vcs has +incdir+$(build_dir) -$(sim_files): $(SIM_FILE_REQS) | $(build_dir) - cp -f $^ $(build_dir) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(build_dir) + cp -f $(SIM_FILE_REQS) $(build_dir) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(build_dir)/, $(notdir $(file)))" >> $@;)) From 3b6c0d2ae31d9a909d79f29fecdea171ae981cc4 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 21:23:58 -0800 Subject: [PATCH 73/90] fixes --- fpga/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fpga/Makefile b/fpga/Makefile index 037b2fb9..79bdb338 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -90,11 +90,14 @@ fpga_common_script_dir := $(fpga_dir)/common/tcl ######################################################################################### # setup misc. sim files ######################################################################################### +SIM_FILE_REQS += \ + $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v + # copy files but ignore *.h files in *.f (match vcs) -$(sim_files): $(SIM_FILE_REQS) | $(GEN_COLLATERAL_DIR) - cp -f $^ $(GEN_COLLATERAL_DIR) +$(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) + cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) $(foreach file,\ - $^,\ + $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ ,\ echo "$(addprefix $(GEN_COLLATERAL_DIR)/, $(notdir $(file)))" >> $@;)) From 8e87a450b6def49d5e1e2e019d018d9b696dc6ed Mon Sep 17 00:00:00 2001 From: joey0320 Date: Wed, 22 Feb 2023 10:19:05 -0800 Subject: [PATCH 74/90] fpga makefile clean fix --- fpga/Makefile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fpga/Makefile b/fpga/Makefile index 79bdb338..e02dac54 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -90,12 +90,10 @@ fpga_common_script_dir := $(fpga_dir)/common/tcl ######################################################################################### # setup misc. sim files ######################################################################################### -SIM_FILE_REQS += \ - $(ROCKETCHIP_RSRCS_DIR)/vsrc/EICG_wrapper.v - # copy files but ignore *.h files in *.f (match vcs) $(sim_files): $(SIM_FILE_REQS) $(ALL_MODS_FILELIST) | $(GEN_COLLATERAL_DIR) - cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) + -cp -f $(SIM_FILE_REQS) $(GEN_COLLATERAL_DIR) + touch $@ $(foreach file,\ $(SIM_FILE_REQS),\ $(if $(filter %.h,$(file)),\ From 27b0dd8abe69fc85922d5fec1aea046993e19875 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 11:11:06 -0800 Subject: [PATCH 75/90] Remove TLHelper, directly use tilelink node constructors TLHelper 1) obfuscates the underlying node architecture and 2) results in otherwise unnecessary dependencies on testchipip --- docs/Customization/DMA-Devices.rst | 2 +- .../NodeTypes.rst | 9 +++----- .../src/main/scala/example/InitZero.scala | 6 ++--- .../src/main/scala/example/NodeTypes.scala | 23 ++++++++++--------- generators/gemmini | 2 +- generators/icenet | 2 +- generators/testchipip | 2 +- 7 files changed, 22 insertions(+), 24 deletions(-) diff --git a/docs/Customization/DMA-Devices.rst b/docs/Customization/DMA-Devices.rst index d87b49aa..77907ec2 100644 --- a/docs/Customization/DMA-Devices.rst +++ b/docs/Customization/DMA-Devices.rst @@ -20,7 +20,7 @@ that writes zeros to the memory at a configured address. :start-after: DOC include start: DigitalTop :end-before: DOC include end: DigitalTop -We use ``TLHelper.makeClientNode`` to create a TileLink client node for us. +We use ``TLClientNode`` to create a TileLink client node for us. We then connect the client node to the memory system through the front bus (fbus). For more info on creating TileLink client nodes, take a look at :ref:`TileLink-Diplomacy-Reference/NodeTypes:Client Node`. diff --git a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst index 74fe7854..c31aafba 100644 --- a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst +++ b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst @@ -16,8 +16,7 @@ on the C channel, and send grant acknowledgements on the E channel. The L1 caches and DMA devices in RocketChip/Chipyard have client nodes. -You can add a TileLink client node to your LazyModule using the TLHelper -object from testchipip like so: +You can add a TileLink client node to your LazyModule like so: .. literalinclude:: ../../generators/chipyard/src/main/scala/example/NodeTypes.scala :language: scala @@ -48,8 +47,7 @@ generators optimize the hardware by not arbitrating the client to managers with address ranges that don't overlap with its visibility. Inside your lazy module implementation, you can call ``node.out`` to get a -list of bundle/edge pairs. If you used the TLHelper, you only specified a -single client edge, so this list will only have one pair. +list of bundle/edge pairs. The ``tl`` bundle is a Chisel hardware bundle that connects to the IO of this module. It contains two (in the case of TL-UL and TL-UH) or five (in the case @@ -65,8 +63,7 @@ Manager Node ------------ TileLink managers take requests from clients on the A channel and send -responses back on the D channel. You can create a manager node using the -TLHelper like so: +responses back on the D channel. You can create a manager like so: .. literalinclude:: ../../generators/chipyard/src/main/scala/example/NodeTypes.scala :language: scala diff --git a/generators/chipyard/src/main/scala/example/InitZero.scala b/generators/chipyard/src/main/scala/example/InitZero.scala index a9885d34..5051c37d 100644 --- a/generators/chipyard/src/main/scala/example/InitZero.scala +++ b/generators/chipyard/src/main/scala/example/InitZero.scala @@ -5,14 +5,14 @@ import chisel3.util._ import freechips.rocketchip.subsystem.{BaseSubsystem, CacheBlockBytes} import freechips.rocketchip.config.{Parameters, Field, Config} import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp, IdRange} -import testchipip.TLHelper +import freechips.rocketchip.tilelink._ case class InitZeroConfig(base: BigInt, size: BigInt) case object InitZeroKey extends Field[Option[InitZeroConfig]](None) class InitZero(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeClientNode( - name = "init-zero", sourceId = IdRange(0, 1)) + val node = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLClientParameters( + name = "init-zero", sourceId = IdRange(0, 1)))))) lazy val module = new InitZeroModuleImp(this) } diff --git a/generators/chipyard/src/main/scala/example/NodeTypes.scala b/generators/chipyard/src/main/scala/example/NodeTypes.scala index 914e5ba5..cafc470f 100644 --- a/generators/chipyard/src/main/scala/example/NodeTypes.scala +++ b/generators/chipyard/src/main/scala/example/NodeTypes.scala @@ -3,7 +3,6 @@ package chipyard.example import freechips.rocketchip.config.Parameters import freechips.rocketchip.diplomacy._ import freechips.rocketchip.tilelink._ -import testchipip.TLHelper // These modules are not meant to be synthesized. // They are used as examples in the documentation and are only here @@ -11,11 +10,11 @@ import testchipip.TLHelper // DOC include start: MyClient class MyClient(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeClientNode(TLMasterParameters.v1( + val node = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLClientParameters( name = "my-client", sourceId = IdRange(0, 4), requestFifo = true, - visibility = Seq(AddressSet(0x10000, 0xffff)))) + visibility = Seq(AddressSet(0x10000, 0xffff))))))) lazy val module = new LazyModuleImp(this) { val (tl, edge) = node.out(0) @@ -29,7 +28,7 @@ class MyClient(implicit p: Parameters) extends LazyModule { class MyManager(implicit p: Parameters) extends LazyModule { val device = new SimpleDevice("my-device", Seq("tutorial,my-device0")) val beatBytes = 8 - val node = TLHelper.makeManagerNode(beatBytes, TLSlaveParameters.v1( + val node = TLManagerNode(Seq(TLSlavePortParameters.v1(Seq(TLManagerParameters( address = Seq(AddressSet(0x20000, 0xfff)), resources = device.reg, regionType = RegionType.UNCACHED, @@ -40,7 +39,7 @@ class MyManager(implicit p: Parameters) extends LazyModule { supportsPutFull = TransferSizes(1, beatBytes), supportsPutPartial = TransferSizes(1, beatBytes), supportsHint = TransferSizes(1, beatBytes), - fifoId = Some(0))) + fifoId = Some(0))), beatBytes))) lazy val module = new LazyModuleImp(this) { val (tl, edge) = node.in(0) @@ -50,7 +49,8 @@ class MyManager(implicit p: Parameters) extends LazyModule { // DOC include start: MyClient1+MyClient2 class MyClient1(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeClientNode("my-client1", IdRange(0, 1)) + val node = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLClientParameters( + "my-client1", IdRange(0, 1)))))) lazy val module = new LazyModuleImp(this) { // ... @@ -58,7 +58,8 @@ class MyClient1(implicit p: Parameters) extends LazyModule { } class MyClient2(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeClientNode("my-client2", IdRange(0, 1)) + val node = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLClientParameters( + "my-client2", IdRange(0, 1)))))) lazy val module = new LazyModuleImp(this) { // ... @@ -83,8 +84,8 @@ class MyClientGroup(implicit p: Parameters) extends LazyModule { // DOC include start: MyManagerGroup class MyManager1(beatBytes: Int)(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeManagerNode(beatBytes, TLSlaveParameters.v1( - address = Seq(AddressSet(0x0, 0xfff)))) + val node = TLManagerNode(Seq(TLSlavePortParameters.v1(Seq(TLManagerParameters( + address = Seq(AddressSet(0x0, 0xfff)))), beatBytes))) lazy val module = new LazyModuleImp(this) { // ... @@ -92,8 +93,8 @@ class MyManager1(beatBytes: Int)(implicit p: Parameters) extends LazyModule { } class MyManager2(beatBytes: Int)(implicit p: Parameters) extends LazyModule { - val node = TLHelper.makeManagerNode(beatBytes, TLSlaveParameters.v1( - address = Seq(AddressSet(0x1000, 0xfff)))) + val node = TLManagerNode(Seq(TLSlavePortParameters.v1(Seq(TLManagerParameters( + address = Seq(AddressSet(0x1000, 0xfff)))), beatBytes))) lazy val module = new LazyModuleImp(this) { // ... diff --git a/generators/gemmini b/generators/gemmini index b6389f3e..9e478ecc 160000 --- a/generators/gemmini +++ b/generators/gemmini @@ -1 +1 @@ -Subproject commit b6389f3ea7bbf070aa3dd40972daa5be7e2d4261 +Subproject commit 9e478ecce9e48bbc03b9bd3535d71e03a6269fba diff --git a/generators/icenet b/generators/icenet index fb23840e..90d52a6a 160000 --- a/generators/icenet +++ b/generators/icenet @@ -1 +1 @@ -Subproject commit fb23840eab7a33249eaa23cad7bed4137055e8dd +Subproject commit 90d52a6a8435c862e6435d04436f587c3b36c8c0 diff --git a/generators/testchipip b/generators/testchipip index 2906d503..6a2bc7c0 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 2906d503cf6df42e5b6da576ff9e67d0c65368bc +Subproject commit 6a2bc7c036ea99264a99b62952552b19762fe667 From 25bd76cf06b6f31ff3d5952ab0d6a18b9f883e75 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 11:36:37 -0800 Subject: [PATCH 76/90] Remove build.sbt from gemmini/icenet deps --- build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index e8f999c0..67116796 100644 --- a/build.sbt +++ b/build.sbt @@ -170,7 +170,7 @@ lazy val tracegen = (project in file("generators/tracegen")) .settings(commonSettings) lazy val icenet = (project in file("generators/icenet")) - .dependsOn(testchipip, rocketchip) + .dependsOn(rocketchip) .settings(libraryDependencies ++= rocketLibDeps.value) .settings(commonSettings) @@ -206,7 +206,7 @@ lazy val sha3 = (project in file("generators/sha3")) .settings(commonSettings) lazy val gemmini = (project in file("generators/gemmini")) - .dependsOn(testchipip, rocketchip) + .dependsOn(rocketchip) .settings(libraryDependencies ++= rocketLibDeps.value) .settings(chiselTestSettings) .settings(commonSettings) From f8fb8f38d80635e2709910a16685a30987f40d36 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 14:49:43 -0800 Subject: [PATCH 77/90] Bump testchipip --- generators/testchipip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/testchipip b/generators/testchipip index 6a2bc7c0..6e8a6842 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 6a2bc7c036ea99264a99b62952552b19762fe667 +Subproject commit 6e8a68424216c9a02916af16a15850f40a534a22 From 4cdc2801beb6b4c9de6348d3b34d8bb20c519c62 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 15:15:28 -0800 Subject: [PATCH 78/90] Override spike's misa in cosim mode Writable bits in MISA is implementation-defined, so we can't follow spike here. --- generators/chipyard/src/main/resources/csrc/cospike.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/generators/chipyard/src/main/resources/csrc/cospike.cc b/generators/chipyard/src/main/resources/csrc/cospike.cc index 084e1b28..6b1e9c3b 100644 --- a/generators/chipyard/src/main/resources/csrc/cospike.cc +++ b/generators/chipyard/src/main/resources/csrc/cospike.cc @@ -226,6 +226,7 @@ extern "C" void cospike_cosim(long long int cycle, bool csr_read = (insn & 0x7f) == 0x73; if (csr_read) printf("CSR read %lx\n", csr_addr); if (csr_read && ( + (csr_addr == 0x301) || // misa (csr_addr == 0xf13) || // mimpid (csr_addr == 0xf12) || // marchid (csr_addr == 0xf11) || // mvendorid From 46225436c02893d0f170f20d76eabf3f2c2c00ba Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 15:17:39 -0800 Subject: [PATCH 79/90] Update tutorial patches --- scripts/tutorial-patches/build.sbt.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tutorial-patches/build.sbt.patch b/scripts/tutorial-patches/build.sbt.patch index 74795d3c..db81b052 100644 --- a/scripts/tutorial-patches/build.sbt.patch +++ b/scripts/tutorial-patches/build.sbt.patch @@ -27,4 +27,4 @@ index ec36a85f..c0c2849a 100644 +// .settings(commonSettings) lazy val gemmini = (project in file("generators/gemmini")) - .dependsOn(testchipip, rocketchip) + .dependsOn(rocketchip) From 5d0a25bab3688f6aad6d847478c4bf907fd753a8 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Tue, 21 Feb 2023 21:54:45 -0800 Subject: [PATCH 80/90] Revert "Remove Duplicate Compiler Flags" This reverts commit be358542863d7eaf2e28dcbc4aac10c03a97dd0b. --- common.mk | 19 ++----------------- tools/barstools | 2 +- variables.mk | 2 -- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/common.mk b/common.mk index f5ed3142..f592fa5c 100644 --- a/common.mk +++ b/common.mk @@ -126,26 +126,10 @@ define mfc_extra_anno_contents } ] endef -define sfc_extra_low_transforms_anno_contents -[ - { - "class": "firrtl.stage.RunFirrtlTransformAnnotation", - "transform": "barstools.tapeout.transforms.ExtraLowTransforms" - } -] -endef export mfc_extra_anno_contents -export sfc_extra_low_transforms_anno_contents $(FINAL_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE): $(ANNO_FILE) echo "$$mfc_extra_anno_contents" > $(MFC_EXTRA_ANNO_FILE) -ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) jq -s '[.[][]]' $(ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) -else - echo "$$sfc_extra_low_transforms_anno_contents" > $(SFC_EXTRA_ANNO_FILE) - jq -s '[.[][]]' $(SFC_EXTRA_ANNO_FILE) $(MFC_EXTRA_ANNO_FILE) > $(EXTRA_ANNO_FILE) - jq -s '[.[][]]' $(ANNO_FILE) $(EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE) -endif - .PHONY: firrtl firrtl: $(FIRRTL_FILE) $(FINAL_ANNO_FILE) @@ -195,8 +179,9 @@ endif --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ + -DX $(SFC_LEVEL) \ -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) + $(EXTRA_FIRRTL_OPTIONS)) # -X and -DX are duplicates to allow for extra FIRRTL passes to be run -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) # Optionally change file type when SFC generates LowFIRRTL @if [ "$(SFC_LEVEL)" = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > /tmp/unnec-anno-deleted.sfc.anno.json; fi @if [ "$(SFC_LEVEL)" = low ]; then cat /tmp/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > /tmp/unnec-anno-deleted2.sfc.anno.json; fi diff --git a/tools/barstools b/tools/barstools index a9f9068b..9760528f 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit a9f9068baf5ecf3aa3c37980738971036e411731 +Subproject commit 9760528f1de2b1a52a11476e76d25909b31d1def diff --git a/variables.mk b/variables.mk index a89d23a0..1312cbe3 100644 --- a/variables.mk +++ b/variables.mk @@ -146,7 +146,6 @@ endif # chisel generated outputs FIRRTL_FILE ?= $(build_dir)/$(long_name).fir ANNO_FILE ?= $(build_dir)/$(long_name).anno.json -EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extra.anno.json # chisel anno modification output MFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrafirtool.anno.json @@ -155,7 +154,6 @@ FINAL_ANNO_FILE ?= $(build_dir)/$(long_name).appended.anno.json # scala firrtl compiler (sfc) outputs SFC_FIRRTL_BASENAME ?= $(build_dir)/$(long_name).sfc SFC_FIRRTL_FILE ?= $(SFC_FIRRTL_BASENAME).fir -SFC_EXTRA_ANNO_FILE ?= $(build_dir)/$(long_name).extrasfc.anno.json SFC_ANNO_FILE ?= $(build_dir)/$(long_name).sfc.anno.json # firtool compiler outputs From 546aa981b6fcc3007a0908fc457c23fab79ba5c4 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:12:40 -0800 Subject: [PATCH 81/90] Bump boom --- generators/boom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/boom b/generators/boom index 615f4ef6..deae9f70 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 615f4ef60fdd2fd255ff0cf49602391c91b83369 +Subproject commit deae9f70469336a3787fa7fcc10135ffb93d21d9 From 04f30b95849c29a3a345343ef4f98db04d5a9c2d Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:32:34 -0800 Subject: [PATCH 82/90] Consolidate peripheral device testing configs into a single ManyPeripheralsConfig --- .github/scripts/defaults.sh | 7 ++-- .github/scripts/run-tests.sh | 8 ++--- .github/workflows/chipyard-run-tests.yml | 32 +++---------------- .../config/PeripheralDeviceConfigs.scala | 12 +++++++ 4 files changed, 22 insertions(+), 37 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 57fdfaa8..097bc045 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -31,7 +31,7 @@ JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) # key value store to get the build groups declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" -grouping["group-peripherals"]="chipyard-dmirocket chipyard-blkdev chipyard-spiflashread chipyard-spiflashwrite chipyard-mmios chipyard-lbwif chipyard-nocores" +grouping["group-peripherals"]="chipyard-dmirocket chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals" grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough" grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" @@ -42,7 +42,6 @@ grouping["group-fpga"]="arty vcu118 vc707" declare -A mapping mapping["chipyard-rocket"]="" mapping["chipyard-dmirocket"]=" CONFIG=dmiRocketConfig" -mapping["chipyard-lbwif"]=" CONFIG=LBWIFRocketConfig" mapping["chipyard-sha3"]=" CONFIG=Sha3RocketConfig" mapping["chipyard-mempress"]=" CONFIG=MempressRocketConfig" mapping["chipyard-digitaltop"]=" TOP=DigitalTop" @@ -51,14 +50,12 @@ mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketCon mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" mapping["chipyard-spike"]=" CONFIG=SpikeFastUARTConfig EXTRA_SIM_FLAGS='+spike-ipc=10'" -mapping["chipyard-blkdev"]=" CONFIG=SimBlockDeviceRocketConfig" mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" mapping["chipyard-gemmini"]=" CONFIG=GemminiRocketConfig" mapping["chipyard-cva6"]=" CONFIG=CVA6Config" mapping["chipyard-ibex"]=" CONFIG=IbexConfig" -mapping["chipyard-spiflashread"]=" CONFIG=LargeSPIFlashROMRocketConfig" mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig" -mapping["chipyard-mmios"]=" CONFIG=MMIORocketConfig verilog" +mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig" mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index 8dc60603..e45ba2d6 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -35,9 +35,6 @@ case $1 in chipyard-dmirocket) run_bmark ${mapping[$1]} ;; - chipyard-lbwif) - run_bmark ${mapping[$1]} - ;; chipyard-boom) run_bmark ${mapping[$1]} ;; @@ -77,7 +74,10 @@ case $1 in make -C $LOCAL_CHIPYARD_DIR/tests make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv ;; - chipyard-spiflashread) + chipyard-manyperipherals) + # bmark tests, then SPI Flash read tests + run_bmark ${mapping[$1]} + make -C $LOCAL_CHIPYARD_DIR/tests make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast ;; diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index ccac2b98..fd79bf24 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -620,31 +620,8 @@ jobs: group-key: "group-peripherals" project-key: "chipyard-spiflashwrite" - chipyard-spiflashread-run-tests: - name: chipyard-spiflashread-run-tests - needs: prepare-chipyard-peripherals - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-peripherals" - project-key: "chipyard-spiflashread" - - chipyard-lbwif-run-tests: - name: chipyard-lbwif-run-tests + chipyard-manyperipherals-run-tests: + name: chipyard-manyperipherals-run-tests needs: prepare-chipyard-peripherals runs-on: self-hosted steps: @@ -664,7 +641,7 @@ jobs: uses: ./.github/actions/run-tests with: group-key: "group-peripherals" - project-key: "chipyard-lbwif" + project-key: "chipyard-manyperipherals" chipyard-sha3-run-tests: name: chipyard-sha3-run-tests @@ -1009,9 +986,8 @@ jobs: chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-fftgenerator-run-tests, - chipyard-spiflashread-run-tests, chipyard-spiflashwrite-run-tests, - chipyard-lbwif-run-tests, + chipyard-manyperipherals-run-tests, chipyard-sha3-run-tests, chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, diff --git a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala index 37e4570a..d01bcd8d 100644 --- a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala +++ b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala @@ -63,3 +63,15 @@ class dmiRocketConfig extends Config( new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new chipyard.config.AbstractConfig) // DOC include end: DmiRocket + +class ManyPeripheralsRocketConfig extends Config( + new chipyard.harness.WithSimSPIFlashModel(true) ++ // add the SPI flash model in the harness (read-only) + new chipyard.harness.WithSimBlockDevice ++ // drive block-device IOs with SimBlockDevice + new chipyard.config.WithSPIFlash ++ // add the SPI flash controller + new freechips.rocketchip.subsystem.WithDefaultMMIOPort ++ // add default external master port + new freechips.rocketchip.subsystem.WithDefaultSlavePort ++ // add default external slave port + new testchipip.WithBlockDevice ++ // add block-device module to peripherybus + new testchipip.WithSerialTLMem(isMainMemory=true) ++ // set lbwif memory base to DRAM_BASE, use as main memory + new freechips.rocketchip.subsystem.WithNoMemPort ++ // remove AXI4 backing memory + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.AbstractConfig) From c410dc2d2d9a9814157cdd60508a9d81bb62cc87 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 21 Feb 2023 10:47:35 -0800 Subject: [PATCH 83/90] Consolidate mmio-accelerator test configs into a single config --- .github/scripts/defaults.sh | 7 +- .github/scripts/run-tests.sh | 28 +++---- .github/workflows/chipyard-run-tests.yml | 80 +------------------ .../scala/config/MMIOAcceleratorConfigs.scala | 8 ++ 4 files changed, 28 insertions(+), 95 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 097bc045..adc264a9 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -32,7 +32,7 @@ JAVA_TMP_DIR=$(mktemp -d -t ci-cy-XXXXXXXX) declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone" grouping["group-peripherals"]="chipyard-dmirocket chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals" -grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough" +grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels" grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" grouping["group-other"]="icenet testchipip constellation" @@ -45,8 +45,7 @@ mapping["chipyard-dmirocket"]=" CONFIG=dmiRocketConfig" mapping["chipyard-sha3"]=" CONFIG=Sha3RocketConfig" mapping["chipyard-mempress"]=" CONFIG=MempressRocketConfig" mapping["chipyard-digitaltop"]=" TOP=DigitalTop" -mapping["chipyard-streaming-fir"]=" CONFIG=StreamingFIRRocketConfig" -mapping["chipyard-streaming-passthrough"]=" CONFIG=StreamingPassthroughRocketConfig" +mapping["chipyard-manymmioaccels"]=" CONFIG=ManyMMIOAcceleratorRocketConfig" mapping["chipyard-hetero"]=" CONFIG=LargeBoomAndRocketConfig" mapping["chipyard-boom"]=" CONFIG=MediumBoomCosimConfig" mapping["chipyard-spike"]=" CONFIG=SpikeFastUARTConfig EXTRA_SIM_FLAGS='+spike-ipc=10'" @@ -60,11 +59,9 @@ mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" mapping["tracegen-boom"]=" CONFIG=BoomTraceGenConfig" -mapping["chipyard-nvdla"]=" CONFIG=SmallNVDLARocketConfig" mapping["chipyard-sodor"]=" CONFIG=Sodor5StageConfig" mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig" mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig" -mapping["chipyard-fftgenerator"]=" CONFIG=FFTRocketConfig" mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig" mapping["constellation"]=" SUB_PROJECT=constellation" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index e45ba2d6..5247c2de 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -66,14 +66,22 @@ case $1 in (cd $LOCAL_CHIPYARD_DIR/generators/mempress/software/src && make) make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/generators/mempress/software/src/mempress-rocc.riscv ;; - chipyard-streaming-passthrough) - make -C $LOCAL_CHIPYARD_DIR/tests + chipyard-manymmioaccels) + make -C $LOCAL_CHIPYARD_DIR/tests + + # test streaming-passthrough make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-passthrough.riscv - ;; - chipyard-streaming-fir) - make -C $LOCAL_CHIPYARD_DIR/tests + + # test streaming-fir make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv - ;; + + # test nvdla + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary-fast + + # test fft + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast + + ;; chipyard-manyperipherals) # bmark tests, then SPI Flash read tests run_bmark ${mapping[$1]} @@ -101,14 +109,6 @@ case $1 in chipyard-sodor) run_asm ${mapping[$1]} ;; - chipyard-nvdla) - make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary-fast - ;; - chipyard-fftgenerator) - make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast - ;; chipyard-constellation) run_bmark ${mapping[$1]} ;; diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index fd79bf24..c3e77e8b 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -551,29 +551,6 @@ jobs: group-key: "group-cores" project-key: "chipyard-spike" - chipyard-fftgenerator-run-tests: - name: chipyard-fftgenerator-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-fftgenerator" - chipyard-dmirocket-run-tests: name: chipyard-dmirocket-run-tests needs: prepare-chipyard-peripherals @@ -666,52 +643,6 @@ jobs: group-key: "group-accels" project-key: "chipyard-sha3" - chipyard-streaming-fir-run-tests: - name: chipyard-streaming-fir-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-fir" - - chipyard-streaming-passthrough-run-tests: - name: chipyard-streaming-passthrough-run-tests - needs: prepare-chipyard-accels - runs-on: self-hosted - steps: - - name: Delete old checkout - run: | - ls -alh . - rm -rf ${{ github.workspace }}/* || true - rm -rf ${{ github.workspace }}/.* || true - ls -alh . - - name: Checkout - uses: actions/checkout@v3 - - name: Git workaround - uses: ./.github/actions/git-workaround - - name: Create conda env - uses: ./.github/actions/create-conda-env - - name: Run tests - uses: ./.github/actions/run-tests - with: - group-key: "group-accels" - project-key: "chipyard-streaming-passthrough" - chipyard-gemmini-run-tests: name: chipyard-gemmini-run-tests needs: prepare-chipyard-accels @@ -735,8 +666,8 @@ jobs: group-key: "group-accels" project-key: "chipyard-gemmini" - chipyard-nvdla-run-tests: - name: chipyard-nvdla-run-tests + chipyard-manymmioaccels-run-tests: + name: chipyard-manymmioaccels-run-tests needs: prepare-chipyard-accels runs-on: self-hosted steps: @@ -756,7 +687,7 @@ jobs: uses: ./.github/actions/run-tests with: group-key: "group-accels" - project-key: "chipyard-nvdla" + project-key: "chipyard-manymmioaccels" chipyard-mempress-run-tests: name: chipyard-mempress-run-tests @@ -985,14 +916,11 @@ jobs: chipyard-ibex-run-tests, chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, - chipyard-fftgenerator-run-tests, chipyard-spiflashwrite-run-tests, chipyard-manyperipherals-run-tests, chipyard-sha3-run-tests, - chipyard-streaming-fir-run-tests, - chipyard-streaming-passthrough-run-tests, chipyard-gemmini-run-tests, - chipyard-nvdla-run-tests, + chipyard-manymmioaccels-run-tests, chipyard-mempress-run-tests, chipyard-constellation-run-tests, tracegen-boom-run-tests, diff --git a/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala b/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala index 83488916..fcb4804d 100644 --- a/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala +++ b/generators/chipyard/src/main/scala/config/MMIOAcceleratorConfigs.scala @@ -56,3 +56,11 @@ class LargeNVDLARocketConfig extends Config( new nvidia.blocks.dla.WithNVDLA("large", true) ++ // add a large NVDLA with synth. rams new freechips.rocketchip.subsystem.WithNBigCores(1) ++ new chipyard.config.AbstractConfig) + +class ManyMMIOAcceleratorRocketConfig extends Config( + new fftgenerator.WithFFTGenerator(numPoints=8, width=16, decPt=8) ++ // add 8-point mmio fft at the default addr (0x2400) with 16bit fixed-point numbers. + new nvidia.blocks.dla.WithNVDLA("small") ++ // add a small NVDLA + new chipyard.example.WithStreamingPassthrough ++ // use top with tilelink-controlled streaming passthrough + new chipyard.example.WithStreamingFIR ++ // use top with tilelink-controlled streaming FIR + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.AbstractConfig) From c66388c7c260d28f562bda09a26fe7b37f9cdb72 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 09:53:22 -0800 Subject: [PATCH 84/90] Move EXTRA_SIM_FLAGS to defaults.sh in CI --- .github/scripts/defaults.sh | 4 ++-- .github/scripts/run-tests.sh | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index adc264a9..fb83ad00 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -53,8 +53,8 @@ mapping["chipyard-hwacha"]=" CONFIG=HwachaRocketConfig" mapping["chipyard-gemmini"]=" CONFIG=GemminiRocketConfig" mapping["chipyard-cva6"]=" CONFIG=CVA6Config" mapping["chipyard-ibex"]=" CONFIG=IbexConfig" -mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig" -mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig" +mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'" +mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'" mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog" mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog" mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config" diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index 5247c2de..6e66c9a8 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -83,15 +83,16 @@ case $1 in ;; chipyard-manyperipherals) - # bmark tests, then SPI Flash read tests - run_bmark ${mapping[$1]} + # SPI Flash read tests, then bmark tests make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv run-binary-fast + + run_bmark ${mapping[$1]} ;; chipyard-spiflashwrite) make -C $LOCAL_CHIPYARD_DIR/tests - make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast + make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv run-binary-fast [[ "`xxd $LOCAL_CHIPYARD_DIR/tests/spiflash.img | grep 1337\ 00ff\ aa55\ face | wc -l`" == "6" ]] || false ;; tracegen) From d845e81b2b59ba26be347cb0687eba570e57efa8 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 22 Feb 2023 15:02:07 -0800 Subject: [PATCH 85/90] Reduce test cases for noc-config in CI --- .github/scripts/run-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh index 6e66c9a8..bf9f2585 100755 --- a/.github/scripts/run-tests.sh +++ b/.github/scripts/run-tests.sh @@ -111,7 +111,7 @@ case $1 in run_asm ${mapping[$1]} ;; chipyard-constellation) - run_bmark ${mapping[$1]} + make run-binary-hex BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} ;; icenet) make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} From f27845e15ed71bf2628c4dbc4767e4905aaa46f2 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 22 Feb 2023 22:07:05 -0800 Subject: [PATCH 86/90] Fix Chisel hierarchy API - Fixes #1356 --- build.sbt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index e8f999c0..1b8e90b3 100644 --- a/build.sbt +++ b/build.sbt @@ -12,7 +12,10 @@ lazy val commonSettings = Seq( assembly / assemblyMergeStrategy := { _ match { case PathList("META-INF", "MANIFEST.MF") => MergeStrategy.discard case _ => MergeStrategy.first}}, - scalacOptions ++= Seq("-deprecation","-unchecked"), + scalacOptions ++= Seq( + "-deprecation", + "-unchecked", + "-Ymacro-annotations"), // fix hierarchy API unmanagedBase := (chipyardRoot / unmanagedBase).value, allDependencies := { // drop specific maven dependencies in subprojects in favor of Chipyard's version From 63a7d13ec7cebd8c211280cb257a7d8b70bdc1b0 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 23 Feb 2023 10:12:03 -0800 Subject: [PATCH 87/90] Fix newline in message in build-setup.sh --- scripts/build-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index 7f14a738..aa78942b 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -91,7 +91,7 @@ run_step() { # Check for this, since many users will be attempting to use this with gemmini if [ $TOOLCHAIN_TYPE == "esp-tools" ]; then while true; do - read -p "WARNING: You are trying to install the esp-tools toolchain."$'n'"This should ONLY be used for Hwacha development."$'\n'"Gemmini should be used with riscv-tools."$'\n'"Type \"y\" to continue if this is intended, or \"n\" if not: " validate + read -p "WARNING: You are trying to install the esp-tools toolchain."$'\n'"This should ONLY be used for Hwacha development."$'\n'"Gemmini should be used with riscv-tools."$'\n'"Type \"y\" to continue if this is intended, or \"n\" if not: " validate case "$validate" in y | Y) echo "Installing esp-tools." From 7566eae213a0da049b1c6e28efb4196818967b85 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 24 Feb 2023 14:56:28 -0800 Subject: [PATCH 88/90] fix & clarify hierarchical flows --- docs/VLSI/Advanced-Usage.rst | 10 +++++++++- vlsi/power.mk | 17 ++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/VLSI/Advanced-Usage.rst b/docs/VLSI/Advanced-Usage.rst index 07e71884..e5ef18ad 100644 --- a/docs/VLSI/Advanced-Usage.rst +++ b/docs/VLSI/Advanced-Usage.rst @@ -22,6 +22,14 @@ The Make-based build system provided supports using Hammer without using RTL gen ``CUSTOM_VLOG`` breaks the dependency on the rest of the Chipyard infrastructure and does not start any Chisel/FIRRTL elaboration. ``VLSI_TOP`` selects the top module from your custom Verilog files. +Hierarchical Flows +------------------ +The Make-based build system supports bottom-up hierarchical place-and-route flows. You will need to create your module hierarchy in your input configuration YMLs before running the ``buildfile`` make target. If you change your hierarchy at any point, the ``hammer.d`` file needs to be re-generated. + +Throughout the execution of the hierarchical flow, you must override the ``VLSI_TOP`` Make variable to the hierarchical submodule that you are currently working on. Otherwise, simulation and power flows will not work properly. + +For more information about setting up hierarchical flows, see the `Hammer documentation `__. + Under the Hood -------------- To uncover what is happening under the hood, here are the commands that are executed: @@ -95,6 +103,6 @@ With the Synopsys plugin, hierarchical RTL and gate-level simulation is supporte * ``redo-`` can be appended to all above targets to break dependency tracking, like described above. -* ``-$(VLSI_TOP)`` suffixes denote simulations/power analysis on a submodule in a hierarchical flow. Note that you must provide the testbenches for these modules since the default testbench only simulates a Chipyard-based ``ChipTop`` DUT instance. +* ``-$(VLSI_TOP)`` suffixes denote simulations/power analysis on a submodule in a hierarchical flow (remember to override this variable, as explained above). Note that you must provide the testbenches for these modules since the default testbench only simulates a Chipyard-based ``ChipTop`` DUT instance. The simulation configuration (e.g. binaries) can be edited for your design. See the ``Makefile`` and refer to Hammer's documentation for how to set up simulation parameters for your design. diff --git a/vlsi/power.mk b/vlsi/power.mk index d55b965f..5e265a35 100644 --- a/vlsi/power.mk +++ b/vlsi/power.mk @@ -2,8 +2,9 @@ POWER_CONF = $(OBJ_DIR)/power-inputs.yml POWER_RTL_CONF = $(OBJ_DIR)/power-rtl-inputs.yml POWER_SYN_CONF = $(OBJ_DIR)/power-syn-inputs.yml POWER_PAR_CONF = $(OBJ_DIR)/power-par-inputs.yml +POWER_PAR_HIER_CONF = $(OBJ_DIR)/power-par-$(VLSI_TOP)-inputs.yml -.PHONY: $(POWER_CONF) $(POWER_RTL_CONF) $(POWER_SYN_CONF) $(POWER_PAR_CONF) +.PHONY: $(POWER_CONF) $(POWER_RTL_CONF) $(POWER_SYN_CONF) $(POWER_PAR_CONF) $(POWER_PAR_HIER_CONF) $(POWER_CONF): $(VLSI_RTL) mkdir -p $(dir $@) @@ -45,6 +46,12 @@ $(POWER_PAR_CONF): $(VLSI_RTL) echo " level: par" >> $@ echo " database: '$(OBJ_DIR)/par-rundir/$(VLSI_TOP)_FINAL'" >> $@ +$(POWER_PAR_HIER_CONF): $(VLSI_RTL) + echo "vlsi.core.power_tool: hammer.power.voltus" > $@ + echo "power.inputs:" >> $@ + echo " level: par" >> $@ + echo " database: '$(OBJ_DIR)/par-$(VLSI_TOP)/$(VLSI_TOP)_FINAL'" >> $@ + power-rtl: $(POWER_CONF) $(POWER_RTL_CONF) sim-rtl-debug power-rtl-$(VLSI_TOP): $(POWER_CONF) $(POWER_RTL_CONF) sim-rtl-debug-$(VLSI_TOP) power-rtl: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_RTL_CONF) @@ -64,12 +71,12 @@ redo-power-syn: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CO redo-power-syn-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_SYN_CONF) power-par: $(POWER_CONF) $(POWER_PAR_CONF) sim-par-debug -power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_CONF) sim-par-debug-$(VLSI_TOP) +power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_HIER_CONF) sim-par-debug-$(VLSI_TOP) power-par: override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) -power-par-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) +power-par-$(VLSI_TOP): override HAMMER_POWER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_HIER_CONF) redo-power-par: $(POWER_CONF) $(POWER_PAR_CONF) -redo-power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_CONF) +redo-power-par-$(VLSI_TOP): $(POWER_CONF) $(POWER_PAR_HIER_CONF) redo-power-par: override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) -redo-power-par-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_CONF) +redo-power-par-$(VLSI_TOP): override HAMMER_EXTRA_ARGS += -p $(POWER_CONF) -p $(POWER_PAR_HIER_CONF) $(OBJ_DIR)/power-%/power-output-full.json: private override HAMMER_EXTRA_ARGS += $(HAMMER_POWER_EXTRA_ARGS) From eb155a604f6d87ade28acd7107801156e746641d Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 24 Feb 2023 15:05:35 -0800 Subject: [PATCH 89/90] move hier docs --- docs/VLSI/Advanced-Usage.rst | 10 +--------- docs/VLSI/Basic-Flow.rst | 3 +++ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/docs/VLSI/Advanced-Usage.rst b/docs/VLSI/Advanced-Usage.rst index e5ef18ad..c547b7f9 100644 --- a/docs/VLSI/Advanced-Usage.rst +++ b/docs/VLSI/Advanced-Usage.rst @@ -22,14 +22,6 @@ The Make-based build system provided supports using Hammer without using RTL gen ``CUSTOM_VLOG`` breaks the dependency on the rest of the Chipyard infrastructure and does not start any Chisel/FIRRTL elaboration. ``VLSI_TOP`` selects the top module from your custom Verilog files. -Hierarchical Flows ------------------- -The Make-based build system supports bottom-up hierarchical place-and-route flows. You will need to create your module hierarchy in your input configuration YMLs before running the ``buildfile`` make target. If you change your hierarchy at any point, the ``hammer.d`` file needs to be re-generated. - -Throughout the execution of the hierarchical flow, you must override the ``VLSI_TOP`` Make variable to the hierarchical submodule that you are currently working on. Otherwise, simulation and power flows will not work properly. - -For more information about setting up hierarchical flows, see the `Hammer documentation `__. - Under the Hood -------------- To uncover what is happening under the hood, here are the commands that are executed: @@ -103,6 +95,6 @@ With the Synopsys plugin, hierarchical RTL and gate-level simulation is supporte * ``redo-`` can be appended to all above targets to break dependency tracking, like described above. -* ``-$(VLSI_TOP)`` suffixes denote simulations/power analysis on a submodule in a hierarchical flow (remember to override this variable, as explained above). Note that you must provide the testbenches for these modules since the default testbench only simulates a Chipyard-based ``ChipTop`` DUT instance. +* ``-$(VLSI_TOP)`` suffixes denote simulations/power analysis on a submodule in a hierarchical flow (remember to override this variable). Note that you must provide the testbenches for these modules since the default testbench only simulates a Chipyard-based ``ChipTop`` DUT instance. The simulation configuration (e.g. binaries) can be edited for your design. See the ``Makefile`` and refer to Hammer's documentation for how to set up simulation parameters for your design. diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 1bcaf754..1a730728 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -297,6 +297,9 @@ For example, if we choose to specifiy the previously mentioned ``GemminiRocketCo In this specification, ``vlsi.inputs.hierarchical.mode`` indicates the manual specification of the heirarchy tree (which is the only mode currently supported by Hammer), ``vlsi.inputs.hiearchical.top_module`` sets the root of the hierarchical tree, ``vlsi.inputs.hierarchical.manual_modules`` enumerates the tree of hierarchical modules, and ``vlsi.inputs.hierarchical.manual_placement_constraints`` enumerates the floorplan for each module. +For more information about the Hammer hierarchical flow and specifying the hierarchy and constraints, visit the `Hammer documentation `__. + +.. Note:: You must generate the hierarchical hierarchy BEFORE running the ``make buildfile`` target. This is because Hammer encodes its hierarchical flow graph in a generated Makefile in ``$(OBJ_DIR)/hammer.d``. If you modify your physical hierarchy, you must wipe and regenerate this Makefile. Finally, it is important to always override the ``VLSI_TOP`` variable to be the hierarchical block that you are working on. This is required for hierarchical simulation and power flows. .. Specifying a Custom Floorplan .. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From a146bad526185faa23444d3f3841dd74f3f8b749 Mon Sep 17 00:00:00 2001 From: Harrison Liew Date: Fri, 24 Feb 2023 15:59:33 -0800 Subject: [PATCH 90/90] fix typos --- docs/VLSI/Basic-Flow.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst index 1a730728..10c2a9ec 100644 --- a/docs/VLSI/Basic-Flow.rst +++ b/docs/VLSI/Basic-Flow.rst @@ -295,11 +295,11 @@ For example, if we choose to specifiy the previously mentioned ``GemminiRocketCo bottom: 0 -In this specification, ``vlsi.inputs.hierarchical.mode`` indicates the manual specification of the heirarchy tree (which is the only mode currently supported by Hammer), ``vlsi.inputs.hiearchical.top_module`` sets the root of the hierarchical tree, ``vlsi.inputs.hierarchical.manual_modules`` enumerates the tree of hierarchical modules, and ``vlsi.inputs.hierarchical.manual_placement_constraints`` enumerates the floorplan for each module. +In this specification, ``vlsi.inputs.hierarchical.mode`` indicates the manual specification of the hierarchy tree (which is the only mode currently supported by Hammer), ``vlsi.inputs.hierarchical.top_module`` sets the root of the hierarchical tree, ``vlsi.inputs.hierarchical.manual_modules`` enumerates the tree of hierarchical modules, and ``vlsi.inputs.hierarchical.manual_placement_constraints`` enumerates the floorplan for each module. For more information about the Hammer hierarchical flow and specifying the hierarchy and constraints, visit the `Hammer documentation `__. -.. Note:: You must generate the hierarchical hierarchy BEFORE running the ``make buildfile`` target. This is because Hammer encodes its hierarchical flow graph in a generated Makefile in ``$(OBJ_DIR)/hammer.d``. If you modify your physical hierarchy, you must wipe and regenerate this Makefile. Finally, it is important to always override the ``VLSI_TOP`` variable to be the hierarchical block that you are working on. This is required for hierarchical simulation and power flows. +.. Note:: You must generate the hierarchical hierarchy BEFORE running the ``make buildfile`` target. This is because Hammer encodes its hierarchical flow graph in a generated Makefile in ``$(OBJ_DIR)/hammer.d``. If you modify your physical hierarchy, you must wipe and regenerate this Makefile. Finally, you must always override the ``VLSI_TOP`` variable to be the hierarchical block that you are working on. This is required for hierarchical simulation and power flows. .. Specifying a Custom Floorplan .. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^