From 646ba4fba7ce1d2603460ceb709c4620b177897f Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 18 Oct 2023 00:38:52 -0700 Subject: [PATCH 01/35] Bump testchipip --- .../src/main/scala/config/AbstractConfig.scala | 13 +++++++++---- .../src/main/scala/config/ChipConfigs.scala | 2 +- .../main/scala/config/PeripheralDeviceConfigs.scala | 3 +++ .../src/main/scala/config/RocketConfigs.scala | 1 - .../scala/config/fragments/ClockingFragments.scala | 6 ++++++ .../scala/config/fragments/SubsystemFragments.scala | 6 +++++- .../src/main/scala/example/FlatChipTop.scala | 2 +- .../src/main/scala/example/FlatTestHarness.scala | 9 +++++---- .../src/main/scala/harness/HarnessBinders.scala | 4 ++-- .../src/main/scala/iobinders/IOBinders.scala | 10 +++++----- generators/testchipip | 2 +- 11 files changed, 38 insertions(+), 20 deletions(-) diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala index a08abb6d..06f9af3b 100644 --- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala +++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala @@ -53,15 +53,20 @@ class AbstractConfig extends Config( // By default, punch out IOs to the Harness new chipyard.clocking.WithPassthroughClockGenerator ++ - new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "mbus", "pbus", "fbus", "cbus", "implicit"), Seq("tile"))) ++ + new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "mbus", "pbus", "fbus", "cbus", "obus", "implicit"), Seq("tile"))) ++ new chipyard.config.WithPeripheryBusFrequency(500.0) ++ // Default 500 MHz pbus new chipyard.config.WithMemoryBusFrequency(500.0) ++ // Default 500 MHz mbus + new chipyard.config.WithControlBusFrequency(500.0) ++ // Default 500 MHz cbus + new chipyard.config.WithSystemBusFrequency(500.0) ++ // Default 500 MHz sbus + new chipyard.config.WithFrontBusFrequency(500.0) ++ // Default 500 MHz fbus + new chipyard.config.WithOffchipBusFrequency(500.0) ++ // Default 500 MHz obus new testchipip.WithCustomBootPin ++ // add a custom-boot-pin to support pin-driven boot address new testchipip.WithBootAddrReg ++ // add a boot-addr-reg for configurable boot address - new testchipip.WithSerialTLClientIdBits(4) ++ // support up to 1 << 4 simultaneous requests from serialTL port - new testchipip.WithSerialTLWidth(32) ++ // fatten the serialTL interface to improve testing performance - new testchipip.WithDefaultSerialTL ++ // use serialized tilelink port to external serialadapter/harnessRAM + new testchipip.WithSerialTL(Seq(testchipip.SerialTLParams( // add a serial-tilelink interface + client = Some(testchipip.SerialTLClientParams(idBits = 4)), // serial-tilelink interface will master the FBUS, and support 4 idBits + width = 32 // serial-tilelink interface with 32 lanes + ))) ++ new chipyard.config.WithDebugModuleAbstractDataWords(8) ++ // increase debug module data capacity new chipyard.config.WithBootROM ++ // use default bootrom new chipyard.config.WithUART ++ // add a UART diff --git a/generators/chipyard/src/main/scala/config/ChipConfigs.scala b/generators/chipyard/src/main/scala/config/ChipConfigs.scala index cc61794c..95b0149b 100644 --- a/generators/chipyard/src/main/scala/config/ChipConfigs.scala +++ b/generators/chipyard/src/main/scala/config/ChipConfigs.scala @@ -23,7 +23,7 @@ class ChipLikeRocketConfig extends Config( // Set up I/O //================================== new testchipip.WithSerialTLWidth(4) ++ // 4bit wide Serialized TL interface to minimize IO - new testchipip.WithSerialTLBackingMemory ++ // Configure the off-chip memory accessible over serial-tl as backing memory + new testchipip.WithSerialTLMem(size = (1 << 30) * 4L) ++ // Configure the off-chip memory accessible over serial-tl as backing memory new freechips.rocketchip.subsystem.WithExtMemSize((1 << 30) * 4L) ++ // 4GB max external memory new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ // 1 memory channel diff --git a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala index 7ad7a1ac..790c6a0e 100644 --- a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala +++ b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala @@ -52,6 +52,9 @@ class MMIORocketConfig extends Config( new chipyard.config.AbstractConfig) class LBWIFRocketConfig extends Config( + new chipyard.config.WithOffchipBusFrequency(500) ++ + new testchipip.WithOffchipBusClient(MBUS) ++ + new testchipip.WithOffchipBus ++ 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) ++ diff --git a/generators/chipyard/src/main/scala/config/RocketConfigs.scala b/generators/chipyard/src/main/scala/config/RocketConfigs.scala index c45fb6f2..3a2c1b08 100644 --- a/generators/chipyard/src/main/scala/config/RocketConfigs.scala +++ b/generators/chipyard/src/main/scala/config/RocketConfigs.scala @@ -93,7 +93,6 @@ class MulticlockRocketConfig extends Config( new chipyard.config.WithFbusToSbusCrossingType(AsynchronousCrossing()) ++ // Add Async crossing between FBUS and SBUS new chipyard.config.WithCbusToPbusCrossingType(AsynchronousCrossing()) ++ // Add Async crossing between PBUS and CBUS new chipyard.config.WithSbusToMbusCrossingType(AsynchronousCrossing()) ++ // Add Async crossings between backside of L2 and MBUS - new testchipip.WithAsynchronousSerialSlaveCrossing ++ // Add Async crossing between serial and MBUS. Its master-side is tied to the FBUS new chipyard.config.AbstractConfig) class CustomIOChipTopRocketConfig extends Config( diff --git a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala index 2da9fbf2..c34be1bb 100644 --- a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala @@ -14,6 +14,8 @@ import freechips.rocketchip.tilelink.{HasTLBusParams} import chipyard._ import chipyard.clocking._ +import testchipip.{OffchipBusKey} + // The default RocketChip BaseSubsystem drives its diplomatic clock graph // with the implicit clocks of Subsystem. Don't do that, instead we extend // the diplomacy graph upwards into the ChipTop, where we connect it to @@ -103,6 +105,10 @@ class WithFrontBusFrequency(freqMHz: Double) extends Config((site, here, up) => class WithControlBusFrequency(freqMHz: Double) extends Config((site, here, up) => { case ControlBusKey => up(ControlBusKey, site).copy(dtsFrequency = Some(BigInt((freqMHz * 1e6).toLong))) }) +class WithOffchipBusFrequency(freqMHz: Double) extends Config((site, here, up) => { + case OffchipBusKey => up(OffchipBusKey, site).copy(dtsFrequency = Some(BigInt((freqMHz * 1e6).toLong))) +}) + class WithRationalMemoryBusCrossing extends WithSbusToMbusCrossingType(RationalCrossing(Symmetric)) class WithAsynchrousMemoryBusCrossing extends WithSbusToMbusCrossingType(AsynchronousCrossing()) diff --git a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala index 40f18d5d..51272e8a 100644 --- a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala +++ b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala @@ -1,7 +1,7 @@ package chipyard.config import org.chipsalliance.cde.config.{Config} -import freechips.rocketchip.subsystem.{SystemBusKey, BankedL2Key, CoherenceManagerWrapper} +import freechips.rocketchip.subsystem._ import freechips.rocketchip.diplomacy.{DTSTimebase} // Replaces the L2 with a broadcast manager for maintaining coherence @@ -9,6 +9,10 @@ class WithBroadcastManager extends Config((site, here, up) => { case BankedL2Key => up(BankedL2Key, site).copy(coherenceManager = CoherenceManagerWrapper.broadcastManager) }) +class WithBroadcastParams(params: BroadcastParams) extends Config((site, here, up) => { + case BroadcastKey => params +}) + class WithSystemBusWidth(bitWidth: Int) extends Config((site, here, up) => { case SystemBusKey => up(SystemBusKey, site).copy(beatBytes=bitWidth/8) }) diff --git a/generators/chipyard/src/main/scala/example/FlatChipTop.scala b/generators/chipyard/src/main/scala/example/FlatChipTop.scala index a1a1aeaa..a09bb06f 100644 --- a/generators/chipyard/src/main/scala/example/FlatChipTop.scala +++ b/generators/chipyard/src/main/scala/example/FlatChipTop.scala @@ -97,7 +97,7 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule { //========================= // Serialized TileLink //========================= - val (serial_tl_pad, serialTLIOCells) = IOCell.generateIOFromSignal(system.serial_tl.get.getWrappedValue, "serial_tl", p(IOCellKey)) + val (serial_tl_pad, serialTLIOCells) = IOCell.generateIOFromSignal(system.serial_tls(0).getWrappedValue, "serial_tl", p(IOCellKey)) //========================= // JTAG/Debug diff --git a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala index 5b3168b3..5f6c69f1 100644 --- a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala +++ b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala @@ -39,8 +39,8 @@ class FlatTestHarness(implicit val p: Parameters) extends Module { dut.custom_boot_pad := PlusArg("custom_boot_pin", width=1) // Serialized TL - val sVal = p(SerialTLKey).get - val serialTLManagerParams = sVal.serialTLManagerParams.get + val sVal = p(SerialTLKey)(0) + val serialTLManagerParams = sVal.manager.get require(serialTLManagerParams.isMemoryDevice) withClockAndReset(clock, reset) { @@ -49,10 +49,11 @@ class FlatTestHarness(implicit val p: Parameters) extends Module { dut.serial_tl_pad.clock := clock } val harnessRAM = TSIHarness.connectRAM( - lazyDut.system.serdesser.get, + p(SerialTLKey)(0), + lazyDut.system.serdessers(0), serial_bits, reset) - io.success := SimTSI.connect(Some(harnessRAM.module.io.tsi), clock, reset) + io.success := SimTSI.connect(harnessRAM.module.io.tsi, clock, reset) } diff --git a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala index 8530bb33..94321506 100644 --- a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala +++ b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala @@ -215,13 +215,13 @@ class WithSimTSIOverSerialTL extends HarnessBinder({ if (DataMirror.directionOf(port.io.clock) == Direction.Input) { port.io.clock := th.harnessBinderClock } - val ram = LazyModule(new SerialRAM(port.serdesser)(port.serdesser.p)) + val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)) Module(ram.module) ram.module.io.ser <> port.io.bits val tsi = Module(new SimTSI) tsi.io.clock := th.harnessBinderClock tsi.io.reset := th.harnessBinderReset - tsi.io.tsi <> ram.module.io.tsi + tsi.io.tsi <> ram.module.io.tsi.get val exit = tsi.io.exit val success = exit === 1.U val error = exit >= 2.U diff --git a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala index 773f3d39..6c1cf8d2 100644 --- a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala +++ b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala @@ -342,10 +342,10 @@ class WithDebugIOCells extends OverrideLazyIOBinder({ class WithSerialTLIOCells extends OverrideIOBinder({ (system: CanHavePeripheryTLSerial) => { - val (ports, cells) = system.serial_tl.zipWithIndex.map({ case (s, id) => + val (ports, cells) = system.serial_tls.zipWithIndex.map({ case (s, id) => val sys = system.asInstanceOf[BaseSubsystem] - val (port, cells) = IOCell.generateIOFromSignal(s.getWrappedValue, "serial_tl", sys.p(IOCellKey), abstractResetAsAsync = true) - (SerialTLPort(port, sys.p(SerialTLKey).get, system.serdesser.get, id), cells) + val (port, cells) = IOCell.generateIOFromSignal(s.getWrappedValue, s"serial_tl_$id", sys.p(IOCellKey), abstractResetAsAsync = true) + (SerialTLPort(port, sys.p(SerialTLKey)(id), system.serdessers(id), id), cells) }).unzip (ports.toSeq, cells.flatten.toSeq) } @@ -353,11 +353,11 @@ class WithSerialTLIOCells extends OverrideIOBinder({ class WithSerialTLPunchthrough extends OverrideIOBinder({ (system: CanHavePeripheryTLSerial) => { - val (ports, cells) = system.serial_tl.zipWithIndex.map({ case (s, id) => + val (ports, cells) = system.serial_tls.zipWithIndex.map({ case (s, id) => val sys = system.asInstanceOf[BaseSubsystem] val port = IO(s.getWrappedValue.cloneType) port <> s.getWrappedValue - (SerialTLPort(port, sys.p(SerialTLKey).get, system.serdesser.get, id), Nil) + (SerialTLPort(port, sys.p(SerialTLKey)(id), system.serdessers(id), id), Nil) }).unzip (ports.toSeq, cells.flatten.toSeq) } diff --git a/generators/testchipip b/generators/testchipip index 6436959d..e1e1ee02 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 6436959d997d0bb578790d95078648b478ca049b +Subproject commit e1e1ee02884f457f62785c41af23406a6cf7738a From fba75e7a74d57beec00a91ff334dbdb8cf7af251 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 19 Oct 2023 23:40:33 -0700 Subject: [PATCH 02/35] Bump constellation with improved TL-noc --- .../src/main/scala/config/NoCConfigs.scala | 71 +++++++++++++++---- .../main/scala/config/TutorialConfigs.scala | 8 +-- generators/constellation | 2 +- 3 files changed, 64 insertions(+), 17 deletions(-) diff --git a/generators/chipyard/src/main/scala/config/NoCConfigs.scala b/generators/chipyard/src/main/scala/config/NoCConfigs.scala index 0b6be558..166050c7 100644 --- a/generators/chipyard/src/main/scala/config/NoCConfigs.scala +++ b/generators/chipyard/src/main/scala/config/NoCConfigs.scala @@ -6,6 +6,7 @@ import freechips.rocketchip.subsystem.{SBUS, MBUS} import constellation.channel._ import constellation.routing._ +import constellation.router._ import constellation.topology._ import constellation.noc._ import constellation.soc.{GlobalNoCParams} @@ -62,19 +63,19 @@ import scala.collection.immutable.ListMap */ // DOC include start: MultiNoCConfig class MultiNoCConfig extends Config( - new constellation.soc.WithCbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithCbusNoC(constellation.protocol.SimpleTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "serial-tl" -> 0), outNodeMapping = ListMap( - "error" -> 1, "l2[0]" -> 2, "pbus" -> 3, "plic" -> 4, + "error" -> 1, "ctrls[0]" -> 2, "pbus" -> 3, "plic" -> 4, "clint" -> 5, "dmInner" -> 6, "bootrom" -> 7, "clock" -> 8)), NoCParams( topology = TerminalRouter(BidirectionalLine(9)), channelParamGen = (a, b) => UserChannelParams(Seq.fill(5) { UserVirtualChannelParams(4) }), routingRelation = NonblockingVirtualSubnetworksRouting(TerminalRouterRouting(BidirectionalLineRouting()), 5, 1)) )) ++ - new constellation.soc.WithMbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithMbusNoC(constellation.protocol.SimpleTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "L2 InclusiveCache[0]" -> 1, "L2 InclusiveCache[1]" -> 2, @@ -87,7 +88,7 @@ class MultiNoCConfig extends Config( channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }), routingRelation = BlockingVirtualSubnetworksRouting(TerminalRouterRouting(BidirectionalTorus1DShortestRouting()), 5, 2)) )) ++ - new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithSbusNoC(constellation.protocol.SimpleTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "Core 0" -> 1, "Core 1" -> 2, "Core 2" -> 4 , "Core 3" -> 7, @@ -162,15 +163,15 @@ class SharedNoCConfig extends Config( BidirectionalLineRouting()))), 10, 2) ) )) ++ - new constellation.soc.WithMbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithMbusNoC(constellation.protocol.GlobalTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "Cache[0]" -> 0, "Cache[1]" -> 2, "Cache[2]" -> 8, "Cache[3]" -> 6), outNodeMapping = ListMap( "system[0]" -> 3, "system[1]" -> 5, "serdesser" -> 9)) - ), true) ++ - new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( + )) ++ + new constellation.soc.WithSbusNoC(constellation.protocol.GlobalTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "serial-tl" -> 9, "Core 0" -> 2, @@ -179,7 +180,7 @@ class SharedNoCConfig extends Config( outNodeMapping = ListMap( "system[0]" -> 0, "system[1]" -> 2, "system[2]" -> 8, "system[3]" -> 6, "pbus" -> 4)) - ), true) ++ + )) ++ new freechips.rocketchip.subsystem.WithNBigCores(8) ++ new freechips.rocketchip.subsystem.WithNBanks(4) ++ new freechips.rocketchip.subsystem.WithNMemoryChannels(2) ++ @@ -188,7 +189,7 @@ class SharedNoCConfig extends Config( // DOC include end: SharedNoCConfig class SbusRingNoCConfig extends Config( - new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithSbusNoC(constellation.protocol.SplitACDxBETLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "Core 0" -> 0, @@ -206,12 +207,58 @@ class SbusRingNoCConfig extends Config( "system[2]" -> 11, "system[3]" -> 12, "pbus" -> 8)), // TSI is on the pbus, so serial-tl and pbus should be on the same node - NoCParams( + acdNoCParams = NoCParams( topology = UnidirectionalTorus1D(13), - channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }), - routingRelation = NonblockingVirtualSubnetworksRouting(UnidirectionalTorus1DDatelineRouting(), 5, 2)) + channelParamGen = (a, b) => UserChannelParams(Seq.fill(6) { UserVirtualChannelParams(4) }), + routingRelation = NonblockingVirtualSubnetworksRouting(UnidirectionalTorus1DDatelineRouting(), 3, 2)), + beNoCParams = NoCParams( + topology = UnidirectionalTorus1D(13), + channelParamGen = (a, b) => UserChannelParams(Seq.fill(4) { UserVirtualChannelParams(1) }), + routingRelation = NonblockingVirtualSubnetworksRouting(UnidirectionalTorus1DDatelineRouting(), 2, 2)) )) ++ new freechips.rocketchip.subsystem.WithNBigCores(8) ++ new freechips.rocketchip.subsystem.WithNBanks(4) ++ new chipyard.config.AbstractConfig ) + +class SbusMeshNoCConfig extends Config( + new constellation.soc.WithSbusNoC(constellation.protocol.SplitACDxBETLNoCParams( + constellation.protocol.DiplomaticNetworkNodeMapping( + inNodeMapping = ListMap( + "Core 0 " -> 0, + "Core 1 " -> 1, + "Core 2 " -> 2, + "Core 3 " -> 3, + "Core 4 " -> 4, + "Core 5 " -> 7, + "Core 6 " -> 8, + "Core 7 " -> 11, + "Core 8 " -> 12, + "Core 9 " -> 13, + "Core 10 " -> 14, + "Core 11 " -> 15, + "serial-tl" -> 0), + outNodeMapping = ListMap( + "system[0]" -> 5, + "system[1]" -> 6, + "system[2]" -> 9, + "system[3]" -> 10, + "pbus" -> 0)), // TSI is on the pbus, so serial-tl and pbus should be on the same node + acdNoCParams = NoCParams( + topology = Mesh2D(4, 4), + channelParamGen = (a, b) => UserChannelParams(Seq.fill(3) { UserVirtualChannelParams(3) }, unifiedBuffer = false), + routerParams = (i) => UserRouterParams(combineRCVA=true, combineSAST=true), + routingRelation = NonblockingVirtualSubnetworksRouting(Mesh2DDimensionOrderedRouting(), 3, 1)), + beNoCParams = NoCParams( + topology = Mesh2D(4, 4), + channelParamGen = (a, b) => UserChannelParams(Seq.fill(2) { UserVirtualChannelParams(3) }, unifiedBuffer = false), + routerParams = (i) => UserRouterParams(combineRCVA=true, combineSAST=true), + routingRelation = NonblockingVirtualSubnetworksRouting(Mesh2DDimensionOrderedRouting(), 2, 1)), + beDivision = 4 + )) ++ + new freechips.rocketchip.subsystem.WithNBigCores(12) ++ + new freechips.rocketchip.subsystem.WithNBanks(4) ++ + new chipyard.config.WithSystemBusWidth(128) ++ + new chipyard.config.AbstractConfig +) + diff --git a/generators/chipyard/src/main/scala/config/TutorialConfigs.scala b/generators/chipyard/src/main/scala/config/TutorialConfigs.scala index daa08265..9803c935 100644 --- a/generators/chipyard/src/main/scala/config/TutorialConfigs.scala +++ b/generators/chipyard/src/main/scala/config/TutorialConfigs.scala @@ -90,14 +90,14 @@ class TutorialNoCConfig extends Config( // The inNodeMapping and outNodeMapping values are the physical identifiers of // routers on the topology to map the agents to. Try changing these to any // value within the range [0, topology.nNodes) - new constellation.soc.WithPbusNoC(constellation.protocol.TLNoCParams( + new constellation.soc.WithPbusNoC(constellation.protocol.GlobalTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap("Core" -> 7), outNodeMapping = ListMap( "pbus" -> 8, "uart" -> 9, "control" -> 10, "gcd" -> 11, "writeQueue[0]" -> 0, "writeQueue[1]" -> 1, "tailChain[0]" -> 2)) - ), true) ++ - new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( + )) ++ + new constellation.soc.WithSbusNoC(constellation.protocol.GlobalTLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( "Core 0" -> 0, "Core 1" -> 1, @@ -105,7 +105,7 @@ class TutorialNoCConfig extends Config( outNodeMapping = ListMap( "system[0]" -> 3, "system[1]" -> 4, "system[2]" -> 5, "system[3]" -> 6, "pbus" -> 7)) - ), true) ++ + )) ++ new chipyard.example.WithGCD ++ new chipyard.harness.WithLoopbackNIC ++ new icenet.WithIceNIC ++ diff --git a/generators/constellation b/generators/constellation index 03ed9e4e..4eb05203 160000 --- a/generators/constellation +++ b/generators/constellation @@ -1 +1 @@ -Subproject commit 03ed9e4ecd31d71d4bd48f02b0e806bc2b8a7e6b +Subproject commit 4eb052037d00606f9642b8341f051a73b3e84aa0 From 68f7c90938644c1f9f6889a29a5e4813ab9aaeea Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 20 Oct 2023 15:42:16 -0700 Subject: [PATCH 03/35] Fix SharedNoC config --- .../src/main/scala/config/NoCConfigs.scala | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/generators/chipyard/src/main/scala/config/NoCConfigs.scala b/generators/chipyard/src/main/scala/config/NoCConfigs.scala index 0b6be558..2a5d2185 100644 --- a/generators/chipyard/src/main/scala/config/NoCConfigs.scala +++ b/generators/chipyard/src/main/scala/config/NoCConfigs.scala @@ -45,7 +45,7 @@ import scala.collection.immutable.ListMap * | SI:Core 2 | SO:system[0] | SO:system[1] | SI:Core 3 | * |(0)___________|(1)___________|(2)___________|(3)___________| * | FBus | Core 0 | Core 1 | Pbus | - * | SI:serial-tl | SI:Core 0 | SI:Core 1 | SO:pbus | + * | SI:serial_tl | SI:Core 0 | SI:Core 1 | SO:pbus | * |______________|______________|______________|______________| * * |(0)___________|(1)___________|(2)___________|(3)___________| @@ -65,7 +65,7 @@ class MultiNoCConfig extends Config( new constellation.soc.WithCbusNoC(constellation.protocol.TLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( - "serial-tl" -> 0), + "serial_tl" -> 0), outNodeMapping = ListMap( "error" -> 1, "l2[0]" -> 2, "pbus" -> 3, "plic" -> 4, "clint" -> 5, "dmInner" -> 6, "bootrom" -> 7, "clock" -> 8)), @@ -81,7 +81,7 @@ class MultiNoCConfig extends Config( "L2 InclusiveCache[2]" -> 5, "L2 InclusiveCache[3]" -> 6), outNodeMapping = ListMap( "system[0]" -> 0, "system[1]" -> 3, "system[2]" -> 4 , "system[3]" -> 7, - "serdesser" -> 0)), + "serial_tl_0" -> 0)), NoCParams( topology = TerminalRouter(BidirectionalTorus1D(8)), channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }), @@ -92,7 +92,7 @@ class MultiNoCConfig extends Config( inNodeMapping = ListMap( "Core 0" -> 1, "Core 1" -> 2, "Core 2" -> 4 , "Core 3" -> 7, "Core 4" -> 8, "Core 5" -> 11, "Core 6" -> 13, "Core 7" -> 14, - "serial-tl" -> 0), + "serial_tl" -> 0), outNodeMapping = ListMap( "system[0]" -> 5, "system[1]" -> 6, "system[2]" -> 9, "system[3]" -> 10, "pbus" -> 3)), @@ -133,7 +133,7 @@ class MultiNoCConfig extends Config( * Core 6 | SI | Core 6 | 16 * Core 7 | SI | Core 7 | 18 * Core 8 | SI | Core 8 | 19 - * fbus | SI | serial-tl | 9 + * fbus | SI | serial_tl | 9 * pbus | SO | pbus | 4 * L2 0 | SO | system[0] | 0 * L2 1 | SO | system[1] | 2 @@ -145,7 +145,7 @@ class MultiNoCConfig extends Config( * L2 3 | MI | Cache[3] | 6 * DRAM 0 | MO | system[0] | 3 * DRAM 1 | MO | system[1] | 5 - * extram | MO | serdesser | 9 + * extram | MO | serial_tl_0 | 9 */ // DOC include start: SharedNoCConfig class SharedNoCConfig extends Config( @@ -168,12 +168,12 @@ class SharedNoCConfig extends Config( "Cache[0]" -> 0, "Cache[1]" -> 2, "Cache[2]" -> 8, "Cache[3]" -> 6), outNodeMapping = ListMap( "system[0]" -> 3, "system[1]" -> 5, - "serdesser" -> 9)) + "serial_tl_0" -> 9)) ), true) ++ new constellation.soc.WithSbusNoC(constellation.protocol.TLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( inNodeMapping = ListMap( - "serial-tl" -> 9, "Core 0" -> 2, + "serial_tl" -> 9, "Core 0" -> 2, "Core 1" -> 10, "Core 2" -> 11, "Core 3" -> 13, "Core 4" -> 14, "Core 5" -> 15, "Core 6" -> 16, "Core 7" -> 18, "Core 8" -> 19), outNodeMapping = ListMap( @@ -199,13 +199,13 @@ class SbusRingNoCConfig extends Config( "Core 5" -> 5, "Core 6" -> 6, "Core 7" -> 7, - "serial-tl" -> 8), + "serial_tl" -> 8), outNodeMapping = ListMap( "system[0]" -> 9, "system[1]" -> 10, "system[2]" -> 11, "system[3]" -> 12, - "pbus" -> 8)), // TSI is on the pbus, so serial-tl and pbus should be on the same node + "pbus" -> 8)), // TSI is on the pbus, so serial_tl and pbus should be on the same node NoCParams( topology = UnidirectionalTorus1D(13), channelParamGen = (a, b) => UserChannelParams(Seq.fill(10) { UserVirtualChannelParams(4) }), From d83f39573842e2077db758b150d33e9a53c394a1 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 24 Oct 2023 18:42:27 -0700 Subject: [PATCH 04/35] Update firechip for new testchipip --- generators/firechip/src/main/scala/BridgeBinders.scala | 4 ++-- generators/firechip/src/main/scala/TargetConfigs.scala | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala index e4169ec2..ad643deb 100644 --- a/generators/firechip/src/main/scala/BridgeBinders.scala +++ b/generators/firechip/src/main/scala/BridgeBinders.scala @@ -69,7 +69,7 @@ class WithTSIBridgeAndHarnessRAMOverSerialTL extends HarnessBinder({ case (th: FireSim, port: SerialTLPort) => { val bits = port.io.bits port.io.clock := th.harnessBinderClock - val ram = LazyModule(new SerialRAM(port.serdesser)(Parameters.empty)) + val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)) Module(ram.module) ram.module.io.ser <> port.io.bits @@ -78,7 +78,7 @@ class WithTSIBridgeAndHarnessRAMOverSerialTL extends HarnessBinder({ // If FASED bridge is attached, loadmem widget is present val hasMainMemory = th.chipParameters(th.p(MultiChipIdx))(ExtMem).isDefined val mainMemoryName = Option.when(hasMainMemory)(MainMemoryConsts.globalName(th.p(MultiChipIdx))) - TSIBridge(th.harnessBinderClock, ram.module.io.tsi, mainMemoryName, th.harnessBinderReset.asBool)(th.p) + TSIBridge(th.harnessBinderClock, ram.module.io.tsi.get, mainMemoryName, th.harnessBinderReset.asBool)(th.p) } }) diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index 6f2a0291..49e85c27 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -129,8 +129,7 @@ class WithFireSimHighPerfClocking extends Config( // 1 GHz matches the FASED default, using some other frequency will require // runnings the FASED runtime configuration generator to generate faithful DDR3 timing values. new chipyard.config.WithMemoryBusFrequency(1000.0) ++ - new chipyard.config.WithAsynchrousMemoryBusCrossing ++ - new testchipip.WithAsynchronousSerialSlaveCrossing + new chipyard.config.WithAsynchrousMemoryBusCrossing ) // Tweaks that are generally applied to all firesim configs setting a single clock domain at 1000 MHz @@ -192,7 +191,6 @@ class WithFireSimTestChipConfigTweaks extends Config( new chipyard.config.WithSbusToMbusCrossingType(AsynchronousCrossing()) ++ // Add Async crossings between backside of L2 and MBUS new freechips.rocketchip.subsystem.WithRationalRocketTiles ++ // Add rational crossings between RocketTile and uncore new boom.common.WithRationalBoomTiles ++ // Add rational crossings between BoomTile and uncore - new testchipip.WithAsynchronousSerialSlaveCrossing ++ // Add Async crossing between serial and MBUS. Its master-side is tied to the FBUS new WithFireSimDesignTweaks ) @@ -250,7 +248,10 @@ class FireSimSmallSystemConfig extends Config( new WithoutClockGating ++ new WithoutTLMonitors ++ new freechips.rocketchip.subsystem.WithExtMemSize(1 << 28) ++ - new testchipip.WithDefaultSerialTL ++ + new testchipip.WithSerialTL(Seq(testchipip.SerialTLParams( + client = Some(testchipip.SerialTLClientParams(idBits = 4)), + width = 32 + ))) ++ new testchipip.WithBlockDevice ++ new chipyard.config.WithUARTInitBaudRate(BigInt(3686400L)) ++ new freechips.rocketchip.subsystem.WithInclusiveCache(nWays = 2, capacityKB = 64) ++ From 228d9351f87aaf00609a267ccd19559ae3846053 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 25 Oct 2023 17:18:24 -0700 Subject: [PATCH 05/35] Bump testchipip --- generators/testchipip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/testchipip b/generators/testchipip index e1e1ee02..d023a317 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit e1e1ee02884f457f62785c41af23406a6cf7738a +Subproject commit d023a3175cbdb7343cdb26aa8450e86e978c591d From 6f17292e85c10b4bc42fd1c4924e29461a7c7f48 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 26 Oct 2023 11:27:03 -0700 Subject: [PATCH 06/35] Fix removal of axi4mem for ChipLikeRocketConfig --- generators/chipyard/src/main/scala/config/ChipConfigs.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/config/ChipConfigs.scala b/generators/chipyard/src/main/scala/config/ChipConfigs.scala index 95b0149b..b8b02dfa 100644 --- a/generators/chipyard/src/main/scala/config/ChipConfigs.scala +++ b/generators/chipyard/src/main/scala/config/ChipConfigs.scala @@ -24,7 +24,7 @@ class ChipLikeRocketConfig extends Config( //================================== new testchipip.WithSerialTLWidth(4) ++ // 4bit wide Serialized TL interface to minimize IO new testchipip.WithSerialTLMem(size = (1 << 30) * 4L) ++ // Configure the off-chip memory accessible over serial-tl as backing memory - new freechips.rocketchip.subsystem.WithExtMemSize((1 << 30) * 4L) ++ // 4GB max external memory + new freechips.rocketchip.subsystem.WithNoMemPort ++ // Remove axi4 mem port new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ // 1 memory channel //================================== From 59fd67df5735fad4d7e14fa383349a698e9049af Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 26 Oct 2023 11:27:39 -0700 Subject: [PATCH 07/35] Fix match statement --- generators/chipyard/src/main/scala/Subsystem.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala index d25d4fa3..5d2ba60c 100644 --- a/generators/chipyard/src/main/scala/Subsystem.scala +++ b/generators/chipyard/src/main/scala/Subsystem.scala @@ -29,7 +29,7 @@ import testchipip.{CanHavePeripheryTLSerial, SerialTLKey} trait CanHaveHTIF { this: BaseSubsystem => // Advertise HTIF if system can communicate with fesvr if (this match { - case _: CanHavePeripheryTLSerial if p(SerialTLKey).nonEmpty => true + case _: CanHavePeripheryTLSerial if (!p(SerialTLKey).isEmpty) => true case _: HasPeripheryDebug if (!p(DebugModuleKey).isEmpty && p(ExportDebug).dmi) => true case _ => false }) { From a8766ea8fc5fd46dcff115eb08bfb283d60e37cc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 31 Oct 2023 14:25:16 -0700 Subject: [PATCH 08/35] Precisely specify bus frequencies --- fpga/src/main/scala/arty/Configs.scala | 2 ++ fpga/src/main/scala/arty100t/Configs.scala | 1 + fpga/src/main/scala/nexysvideo/Configs.scala | 3 ++- fpga/src/main/scala/vc707/Configs.scala | 2 +- fpga/src/main/scala/vcu118/Configs.scala | 7 +++++-- generators/chipyard/src/main/scala/Subsystem.scala | 2 +- .../chipyard/src/main/scala/config/ChipConfigs.scala | 3 +++ generators/firechip/src/main/scala/TargetConfigs.scala | 9 +++++++++ 8 files changed, 24 insertions(+), 5 deletions(-) diff --git a/fpga/src/main/scala/arty/Configs.scala b/fpga/src/main/scala/arty/Configs.scala index 3e208060..1bf2b643 100644 --- a/fpga/src/main/scala/arty/Configs.scala +++ b/fpga/src/main/scala/arty/Configs.scala @@ -27,6 +27,8 @@ class WithArtyTweaks extends Config( new chipyard.harness.WithAllClocksFromHarnessClockInstantiator ++ new chipyard.config.WithDTSTimebase(32000) ++ new chipyard.config.WithSystemBusFrequency(32) ++ + new chipyard.config.WithFrontBusFrequency(32) ++ + new chipyard.config.WithControlBusFrequency(32) ++ new chipyard.config.WithPeripheryBusFrequency(32) ++ new testchipip.WithNoSerialTL ) diff --git a/fpga/src/main/scala/arty100t/Configs.scala b/fpga/src/main/scala/arty100t/Configs.scala index 4a0fb293..f4e25fd2 100644 --- a/fpga/src/main/scala/arty100t/Configs.scala +++ b/fpga/src/main/scala/arty100t/Configs.scala @@ -32,6 +32,7 @@ class WithArty100TTweaks extends Config( new chipyard.config.WithFrontBusFrequency(50.0) ++ new chipyard.config.WithSystemBusFrequency(50.0) ++ new chipyard.config.WithPeripheryBusFrequency(50.0) ++ + new chipyard.config.WithControlBusFrequency(50.0) ++ new chipyard.harness.WithAllClocksFromHarnessClockInstantiator ++ new chipyard.clocking.WithPassthroughClockGenerator ++ new chipyard.config.WithNoDebug ++ // no jtag diff --git a/fpga/src/main/scala/nexysvideo/Configs.scala b/fpga/src/main/scala/nexysvideo/Configs.scala index f31e38d1..01b095fa 100644 --- a/fpga/src/main/scala/nexysvideo/Configs.scala +++ b/fpga/src/main/scala/nexysvideo/Configs.scala @@ -33,6 +33,7 @@ class WithNexysVideoTweaks extends Config( new chipyard.config.WithFrontBusFrequency(50.0) ++ new chipyard.config.WithSystemBusFrequency(50.0) ++ new chipyard.config.WithPeripheryBusFrequency(50.0) ++ + new chipyard.config.WithControlBusFrequency(50.0) ++ new chipyard.harness.WithAllClocksFromHarnessClockInstantiator ++ new chipyard.clocking.WithPassthroughClockGenerator ++ new chipyard.config.WithNoDebug ++ // no jtag @@ -69,4 +70,4 @@ class TinyRocketNexysVideoConfig extends Config( new WithTinyNexysVideoTweaks ++ new chipyard.config.WithBroadcastManager ++ // no l2 new chipyard.TinyRocketConfig) - // DOC include end: WithTinyNexysVideoTweaks and Rocket \ No newline at end of file + // DOC include end: WithTinyNexysVideoTweaks and Rocket diff --git a/fpga/src/main/scala/vc707/Configs.scala b/fpga/src/main/scala/vc707/Configs.scala index b37064ac..1be812fa 100644 --- a/fpga/src/main/scala/vc707/Configs.scala +++ b/fpga/src/main/scala/vc707/Configs.scala @@ -35,7 +35,7 @@ class WithSystemModifications extends Config((site, here, up) => { p.copy(hang = 0x10000, contentFileName = s"./fpga/src/main/resources/vc707/sdboot/build/sdboot.bin") } case ExtMem => up(ExtMem, site).map(x => x.copy(master = x.master.copy(size = site(VC7074GDDRSize)))) // set extmem to DDR size (note the size) - case SerialTLKey => None // remove serialized tl port + case SerialTLKey => Nil // remove serialized tl port }) class WithVC707Tweaks extends Config ( diff --git a/fpga/src/main/scala/vcu118/Configs.scala b/fpga/src/main/scala/vcu118/Configs.scala index 35632961..32dc3c2c 100644 --- a/fpga/src/main/scala/vcu118/Configs.scala +++ b/fpga/src/main/scala/vcu118/Configs.scala @@ -36,7 +36,7 @@ class WithSystemModifications extends Config((site, here, up) => { p.copy(hang = 0x10000, contentFileName = s"./fpga/src/main/resources/vcu118/sdboot/build/sdboot.bin") } case ExtMem => up(ExtMem, site).map(x => x.copy(master = x.master.copy(size = site(VCU118DDRSize)))) // set extmem to DDR size - case SerialTLKey => None // remove serialized tl port + case SerialTLKey => Nil // remove serialized tl port }) // DOC include start: AbstractVCU118 and Rocket @@ -46,6 +46,7 @@ class WithVCU118Tweaks extends Config( new chipyard.clocking.WithPassthroughClockGenerator ++ new chipyard.config.WithMemoryBusFrequency(100) ++ new chipyard.config.WithSystemBusFrequency(100) ++ + new chipyard.config.WithControlBusFrequency(100) ++ new chipyard.config.WithPeripheryBusFrequency(100) ++ new WithFPGAFrequency(100) ++ // default 100MHz freq // harness binders @@ -76,7 +77,9 @@ class BoomVCU118Config extends Config( class WithFPGAFrequency(fMHz: Double) extends Config( new chipyard.harness.WithHarnessBinderClockFreqMHz(fMHz) ++ new chipyard.config.WithSystemBusFrequency(fMHz) ++ - new chipyard.config.WithPeripheryBusFrequency(fMHz) ++ // assumes using PBUS as default freq. + new chipyard.config.WithPeripheryBusFrequency(fMHz) ++ + new chipyard.config.WithControlBusFrequency(fMHz) ++ + new chipyard.config.WithFrontBusFrequency(fMHz) ++ new chipyard.config.WithMemoryBusFrequency(fMHz) ) diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala index 5d2ba60c..a3ba679e 100644 --- a/generators/chipyard/src/main/scala/Subsystem.scala +++ b/generators/chipyard/src/main/scala/Subsystem.scala @@ -29,7 +29,7 @@ import testchipip.{CanHavePeripheryTLSerial, SerialTLKey} trait CanHaveHTIF { this: BaseSubsystem => // Advertise HTIF if system can communicate with fesvr if (this match { - case _: CanHavePeripheryTLSerial if (!p(SerialTLKey).isEmpty) => true + case _: CanHavePeripheryTLSerial if (p(SerialTLKey).size != 0) => true case _: HasPeripheryDebug if (!p(DebugModuleKey).isEmpty && p(ExportDebug).dmi) => true case _ => false }) { diff --git a/generators/chipyard/src/main/scala/config/ChipConfigs.scala b/generators/chipyard/src/main/scala/config/ChipConfigs.scala index b8b02dfa..caf150ae 100644 --- a/generators/chipyard/src/main/scala/config/ChipConfigs.scala +++ b/generators/chipyard/src/main/scala/config/ChipConfigs.scala @@ -85,6 +85,9 @@ class ChipBringupHostConfig extends Config( new chipyard.config.WithFrontBusFrequency(75.0) ++ // run all buses of this system at 75 MHz new chipyard.config.WithMemoryBusFrequency(75.0) ++ new chipyard.config.WithPeripheryBusFrequency(75.0) ++ + new chipyard.config.WithSystemBusFrequency(75.0) ++ + new chipyard.config.WithControlBusFrequency(75.0) ++ + new chipyard.config.WithOffchipBusFrequency(75.0) ++ // Base is the no-cores config new chipyard.NoCoresConfig) diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index 49e85c27..0ceaea1c 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -123,6 +123,7 @@ class WithFireSimHighPerfClocking extends Config( new chipyard.config.WithPeripheryBusFrequency(3200.0) ++ new chipyard.config.WithSystemBusFrequency(3200.0) ++ new chipyard.config.WithFrontBusFrequency(3200.0) ++ + new chipyard.config.WithControlBusFrequency(3200.0) ++ // Optional: These three configs put the DRAM memory system in it's own clock domain. // Removing the first config will result in the FASED timing model running // at the pbus freq (above, 3.2 GHz), which is outside the range of valid DDR3 speedgrades. @@ -138,8 +139,10 @@ class WithFireSimConfigTweaks extends Config( // Using some other frequency will require runnings the FASED runtime configuration generator // to generate faithful DDR3 timing values. new chipyard.config.WithSystemBusFrequency(1000.0) ++ + new chipyard.config.WithControlBusFrequency(1000.0) ++ new chipyard.config.WithPeripheryBusFrequency(1000.0) ++ new chipyard.config.WithMemoryBusFrequency(1000.0) ++ + new chipyard.config.WithFrontBusFrequency(1000.0) ++ new WithFireSimDesignTweaks ) @@ -185,6 +188,8 @@ class WithFireSimTestChipConfigTweaks extends Config( new chipyard.config.WithSystemBusFrequency(500.0) ++ // Realistic system bus frequency new chipyard.config.WithMemoryBusFrequency(1000.0) ++ // Needs to be 1000 MHz to model DDR performance accurately new chipyard.config.WithPeripheryBusFrequency(500.0) ++ // Match the sbus and pbus frequency + new chipyard.config.WithFrontBusFrequency(500.0) ++ // Match the sbus and fbus frequency + new chipyard.config.WithControlBusFrequency(500.0) ++ // Match the sbus and cbus frequency new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "pbus", "fbus", "cbus", "implicit"), Seq("tile"))) ++ // Crossing specifications new chipyard.config.WithCbusToPbusCrossingType(AsynchronousCrossing()) ++ // Add Async crossing between PBUS and CBUS @@ -245,6 +250,10 @@ class FireSimSmallSystemConfig extends Config( new WithDefaultMemModel ++ new WithBootROM ++ new chipyard.config.WithPeripheryBusFrequency(3200.0) ++ + new chipyard.config.WithControlBusFrequency(3200.0) ++ + new chipyard.config.WithSystemBusFrequency(3200.0) ++ + new chipyard.config.WithFrontBusFrequency(3200.0) ++ + new chipyard.config.WithMemoryBusFrequency(3200.0) ++ new WithoutClockGating ++ new WithoutTLMonitors ++ new freechips.rocketchip.subsystem.WithExtMemSize(1 << 28) ++ From 52215f3d40a0f493506d6b1e09b7d1d2af0c66bc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 31 Oct 2023 18:46:15 -0700 Subject: [PATCH 09/35] Bump testchipip --- generators/testchipip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/testchipip b/generators/testchipip index d023a317..23d6a380 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit d023a3175cbdb7343cdb26aa8450e86e978c591d +Subproject commit 23d6a3805f8f5081a8ec8cb5a9392fde3204772c From 6bb173bd219e8cb14fd5a3f0471f0d57f9644464 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 31 Oct 2023 21:40:45 -0700 Subject: [PATCH 10/35] Fix vc707 clock freqs --- fpga/src/main/scala/vc707/Configs.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fpga/src/main/scala/vc707/Configs.scala b/fpga/src/main/scala/vc707/Configs.scala index 1be812fa..124920d7 100644 --- a/fpga/src/main/scala/vc707/Configs.scala +++ b/fpga/src/main/scala/vc707/Configs.scala @@ -45,6 +45,8 @@ class WithVC707Tweaks extends Config ( new chipyard.config.WithMemoryBusFrequency(50.0) ++ new chipyard.config.WithSystemBusFrequency(50.0) ++ new chipyard.config.WithPeripheryBusFrequency(50.0) ++ + new chipyard.config.WithControlBusFrequency(50.0) ++ + new chipyard.config.WithFrontBusFrequency(50.0) ++ new chipyard.harness.WithHarnessBinderClockFreqMHz(50) ++ new WithFPGAFrequency(50) ++ // default 50MHz freq @@ -74,8 +76,11 @@ class BoomVC707Config extends Config ( ) class WithFPGAFrequency(fMHz: Double) extends Config ( - new chipyard.config.WithPeripheryBusFrequency(fMHz) ++ // assumes using PBUS as default freq. - new chipyard.config.WithMemoryBusFrequency(fMHz) + new chipyard.config.WithPeripheryBusFrequency(fMHz) ++ + new chipyard.config.WithMemoryBusFrequency(fMHz) ++ + new chipyard.config.WithSystemBusFrequency(fMHz) ++ + new chipyard.config.WithControlBusFrequency(fMHz) ++ + new chipyard.config.WithFrontBusFrequency(fMHz) ) class WithFPGAFreq25MHz extends WithFPGAFrequency(25) From 9e7fcc0f4e36fa64cfad35fa6c4b81466b6bc0dd Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 10:12:52 -0800 Subject: [PATCH 11/35] Add HasHarnessInstantiators into MultiHarnessBinder --- .../main/scala/harness/MultiHarnessBinders.scala | 16 ++++++++-------- .../src/main/scala/harness/package.scala | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala index 1200208c..c4e96a3e 100644 --- a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala +++ b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala @@ -24,18 +24,18 @@ object ApplyMultiHarnessBinders { Seq.tabulate(chips.size, chips.size) { case (i, j) => if (i != j) { (chips(i), chips(j)) match { case (l0: HasChipyardPorts, l1: HasChipyardPorts) => p(MultiHarnessBinders(i, j)).foreach { f => - f(l0.ports, l1.ports) + f(th, l0.ports, l1.ports) } } }} } } -class MultiHarnessBinder[T <: Port[_]]( +class MultiHarnessBinder[T <: Port[_], S <: HasHarnessInstantiators]( chip0: Int, chip1: Int, chip0portFn: T => Boolean, chip1portFn: T => Boolean, - connectFn: (T, T) => Unit -)(implicit tag: ClassTag[T]) extends Config((site, here, up) => { + connectFn: (S, T, T) => Unit +)(implicit tag0: ClassTag[T], tag1: ClassTag[S]) extends Config((site, here, up) => { // Override any HarnessBinders for chip0/chip1 case MultiChipParameters(`chip0`) => new Config( new HarnessBinder({case (th, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0)) @@ -45,21 +45,21 @@ class MultiHarnessBinder[T <: Port[_]]( ) // Set the multiharnessbinder key case MultiHarnessBinders(`chip0`, `chip1`) => up(MultiHarnessBinders(chip0, chip1)) :+ { - ((chip0Ports: Seq[Port[_]], chip1Ports: Seq[Port[_]]) => { + ((th: S, chip0Ports: Seq[Port[_]], chip1Ports: Seq[Port[_]]) => { val chip0Port: Seq[T] = chip0Ports.collect { case (p: T) if chip0portFn(p) => p } val chip1Port: Seq[T] = chip1Ports.collect { case (p: T) if chip1portFn(p) => p } require(chip0Port.size == 1 && chip1Port.size == 1) - connectFn(chip0Port(0), chip1Port(0)) + connectFn(th, chip0Port(0), chip1Port(0)) }) } }) -class WithMultiChipSerialTL(chip0: Int, chip1: Int, chip0portId: Int = 0, chip1portId: Int = 0) extends MultiHarnessBinder[SerialTLPort]( +class WithMultiChipSerialTL(chip0: Int, chip1: Int, chip0portId: Int = 0, chip1portId: Int = 0) extends MultiHarnessBinder( chip0, chip1, (p0: SerialTLPort) => p0.portId == chip0portId, (p1: SerialTLPort) => p1.portId == chip1portId, - (p0: SerialTLPort, p1: SerialTLPort) => { + (th: HasHarnessInstantiators, p0: SerialTLPort, p1: SerialTLPort) => { (DataMirror.directionOf(p0.io.clock), DataMirror.directionOf(p1.io.clock)) match { case (Direction.Input, Direction.Output) => p0.io.clock := p1.io.clock case (Direction.Output, Direction.Input) => p1.io.clock := p0.io.clock diff --git a/generators/chipyard/src/main/scala/harness/package.scala b/generators/chipyard/src/main/scala/harness/package.scala index 258655a7..7586e8c6 100644 --- a/generators/chipyard/src/main/scala/harness/package.scala +++ b/generators/chipyard/src/main/scala/harness/package.scala @@ -7,5 +7,5 @@ package object harness { import chipyard.iobinders.Port type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_]), Unit] - type MultiHarnessBinderFunction = (Seq[Port[_]], Seq[Port[_]]) => Unit + type MultiHarnessBinderFunction = (HasHarnessInstantiator, Seq[Port[_]], Seq[Port[_]]) => Unit } From 53b33d56d4ee6240b63bc94c760b17cc2e5cf5ad Mon Sep 17 00:00:00 2001 From: Abraham Gonzalez Date: Thu, 30 Nov 2023 10:32:12 -0800 Subject: [PATCH 12/35] Update generators/chipyard/src/main/scala/harness/package.scala --- generators/chipyard/src/main/scala/harness/package.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/harness/package.scala b/generators/chipyard/src/main/scala/harness/package.scala index 7586e8c6..d0366c55 100644 --- a/generators/chipyard/src/main/scala/harness/package.scala +++ b/generators/chipyard/src/main/scala/harness/package.scala @@ -7,5 +7,5 @@ package object harness { import chipyard.iobinders.Port type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_]), Unit] - type MultiHarnessBinderFunction = (HasHarnessInstantiator, Seq[Port[_]], Seq[Port[_]]) => Unit + type MultiHarnessBinderFunction = (HasHarnessInstantiators, Seq[Port[_]], Seq[Port[_]]) => Unit } From ab1b77f3a44e74f76265021a76d3738f0dfc4583 Mon Sep 17 00:00:00 2001 From: Abraham Gonzalez Date: Thu, 30 Nov 2023 10:33:26 -0800 Subject: [PATCH 13/35] Update generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala --- .../chipyard/src/main/scala/harness/MultiHarnessBinders.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala index c4e96a3e..f60ec418 100644 --- a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala +++ b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala @@ -38,7 +38,7 @@ class MultiHarnessBinder[T <: Port[_], S <: HasHarnessInstantiators]( )(implicit tag0: ClassTag[T], tag1: ClassTag[S]) extends Config((site, here, up) => { // Override any HarnessBinders for chip0/chip1 case MultiChipParameters(`chip0`) => new Config( - new HarnessBinder({case (th, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0)) + new HarnessBinder({case (th: S, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0)) ) case MultiChipParameters(`chip1`) => new Config( new HarnessBinder({case (th, port: T) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1)) From ebf0c7452700fb4fa232dfe7e5677e95aa8b5476 Mon Sep 17 00:00:00 2001 From: Abraham Gonzalez Date: Thu, 30 Nov 2023 10:33:44 -0800 Subject: [PATCH 14/35] Update generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala --- .../chipyard/src/main/scala/harness/MultiHarnessBinders.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala index f60ec418..d3371dfd 100644 --- a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala +++ b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala @@ -41,7 +41,7 @@ class MultiHarnessBinder[T <: Port[_], S <: HasHarnessInstantiators]( new HarnessBinder({case (th: S, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0)) ) case MultiChipParameters(`chip1`) => new Config( - new HarnessBinder({case (th, port: T) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1)) + new HarnessBinder({case (th: S, port: T) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1)) ) // Set the multiharnessbinder key case MultiHarnessBinders(`chip0`, `chip1`) => up(MultiHarnessBinders(chip0, chip1)) :+ { From b9e504411a0e13b0c4014a4ba3beeaa48c786aff Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 15:47:14 -0800 Subject: [PATCH 15/35] Install CIRCT outside of conda (add CI to auto-update) --- .github/workflows/update-circt.yml | 24 +++++++++++++ .gitignore | 1 + .gitmodules | 3 ++ conda-reqs/chipyard.yaml | 2 +- conda-reqs/circt.json | 3 ++ conda-reqs/install-circt | 1 + scripts/build-setup.sh | 58 +++++++++++++++++++----------- 7 files changed, 71 insertions(+), 21 deletions(-) create mode 100644 .github/workflows/update-circt.yml create mode 100644 conda-reqs/circt.json create mode 160000 conda-reqs/install-circt diff --git a/.github/workflows/update-circt.yml b/.github/workflows/update-circt.yml new file mode 100644 index 00000000..3487838f --- /dev/null +++ b/.github/workflows/update-circt.yml @@ -0,0 +1,24 @@ +name: update-circt + +# run weekly +on: push +# schedule: +# - cron: 0 0 * * 1 + +defaults: + run: + shell: bash -leo pipefail {0} + +jobs: + update-circt: + name: update-circt + runs-on: ubuntu-latest + steps: + - name: Update CIRCT + uses: circt/update-circt@v1.0.0 + with: + user: 'bartender' + email: 'firesimchipyard@gmail.com' + pr-reviewers: '' + pr-labels: 'changelog:changed' + circt-config: './conda-reqs/circt.json' diff --git a/.gitignore b/.gitignore index 5dd75bec..78147280 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ tags *~ .bsp/ .conda-env/ +.circt/ .#* first-clone-setup-fast-log .bloop/ diff --git a/.gitmodules b/.gitmodules index 622c5f68..3e12c05a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -139,3 +139,6 @@ [submodule "generators/rocc-acc-utils"] path = generators/rocc-acc-utils url = https://github.com/ucb-bar/rocc-acc-utils +[submodule "conda-reqs/install-circt"] + path = conda-reqs/install-circt + url = https://github.com/circt/install-circt/ diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 92e0843b..cc63f613 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -29,7 +29,7 @@ dependencies: - conda-gcc-specs - binutils - - firtool==1.58.0 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock + # firtool handled outside of conda # misc - autoconf diff --git a/conda-reqs/circt.json b/conda-reqs/circt.json new file mode 100644 index 00000000..1109fac4 --- /dev/null +++ b/conda-reqs/circt.json @@ -0,0 +1,3 @@ +{ + "version": "firtool-1.58.0" +} diff --git a/conda-reqs/install-circt b/conda-reqs/install-circt new file mode 160000 index 00000000..3f8dda6e --- /dev/null +++ b/conda-reqs/install-circt @@ -0,0 +1 @@ +Subproject commit 3f8dda6e1c1965537b5801a43c81c287bac4eae4 diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index 2c682514..c312c155 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -152,6 +152,44 @@ if run_step "1"; then source $CYDIR/.conda-env/etc/profile.d/conda.sh && conda activate $CYDIR/.conda-env exit_if_last_command_failed + + # Conda Setup + # Provide a sourceable snippet that can be used in subshells that may not have + # inhereted conda functions that would be brought in under a login shell that + # has run conda init (e.g., VSCode, CI) + read -r -d '\0' CONDA_ACTIVATE_PREAMBLE <<'END_CONDA_ACTIVATE' +if ! type conda >& /dev/null; then + echo "::ERROR:: you must have conda in your environment first" + return 1 # don't want to exit here because this file is sourced +fi + +# if we're sourcing this in a sub process that has conda in the PATH but not as a function, init it again +conda activate --help >& /dev/null || source $(conda info --base)/etc/profile.d/conda.sh +\0 +END_CONDA_ACTIVATE + + replace_content env.sh build-setup-conda "# line auto-generated by $0 +$CONDA_ACTIVATE_PREAMBLE +conda activate $CYDIR/.conda-env +source $CYDIR/scripts/fix-open-files.sh" + + # install circt + CIRCT_INSTALL_DIR=$CYDIR/.circt + rm -rf $CIRCT_INSTALL_DIR + $CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + -f circt-full-shared-linux-x64.tar.gz \ + -i $CIRCT_INSTALL_DIR \ + -x $CYDIR/conda-reqs/circt.json \ + -g null + + replace_content env.sh build-setup-circt "# line auto-generated by $0 +if [ -d "${CIRCT_INSTALL_DIR}/bin" ] && [[ ":$PATH:" != *":${CIRCT_INSTALL_DIR}/bin:"* ]]; then + PATH="${PATH:+"$PATH:"}${CIRCT_INSTALL_DIR}/bin" +fi +if [ -d "${CIRCT_INSTALL_DIR}/lib" ] && [[ ":$LD_LIBRARY_PATH:" != *":${CIRCT_INSTALL_DIR}/lib:"* ]]; then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+"$LD_LIBRARY_PATH:"}${CIRCT_INSTALL_DIR}/lib" +fi +" fi if [ -z "$FORCE_FLAG" ]; then @@ -250,26 +288,6 @@ if run_step "10"; then exit_if_last_command_failed fi -# Conda Setup -# Provide a sourceable snippet that can be used in subshells that may not have -# inhereted conda functions that would be brought in under a login shell that -# has run conda init (e.g., VSCode, CI) -read -r -d '\0' CONDA_ACTIVATE_PREAMBLE <<'END_CONDA_ACTIVATE' -if ! type conda >& /dev/null; then - echo "::ERROR:: you must have conda in your environment first" - return 1 # don't want to exit here because this file is sourced -fi - -# if we're sourcing this in a sub process that has conda in the PATH but not as a function, init it again -conda activate --help >& /dev/null || source $(conda info --base)/etc/profile.d/conda.sh -\0 -END_CONDA_ACTIVATE - -replace_content env.sh build-setup "# line auto-generated by $0 -$CONDA_ACTIVATE_PREAMBLE -conda activate $CYDIR/.conda-env -source $CYDIR/scripts/fix-open-files.sh" - echo "Setup complete!" } 2>&1 | tee build-setup.log From 990cea9c8ec572dbc4e625d18f9d43250a139ff2 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 16:04:38 -0800 Subject: [PATCH 16/35] Update conda-lock --- ...irements-esp-tools-linux-64.conda-lock.yml | 851 +++++++++--------- ...ements-riscv-tools-linux-64.conda-lock.yml | 851 +++++++++--------- 2 files changed, 824 insertions(+), 878 deletions(-) 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 b932c3e4..f5fc3fbf 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 /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/chipyard.yaml -f /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -21,12 +21,12 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 4352e035d7bb90946e06331a177d5f78586ad26885d9505a73f901d3c7a3f138 + linux-64: db7fdb1eff05509c5804999acd40af2d5f212a2f7d2eca69702241bfbebef70d platforms: - linux-64 sources: - - /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/chipyard.yaml - - /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/esp-tools.yaml + - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml + - /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml package: - category: main dependencies: {} @@ -64,25 +64,25 @@ package: - category: main dependencies: {} hash: - md5: a73ecd2988327ad4c8f2c331482917f2 - sha256: 525b7b6b5135b952ec1808de84e5eca57c7c7ff144e29ef3e96ae4040ff432c1 + md5: 01ffc8d36f9eba0ce0b3c1955fa780ee + sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6 manager: conda name: ca-certificates optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.7.22-hbcca054_0.conda - version: 2023.7.22 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda + version: 2023.11.17 - category: main dependencies: {} hash: - md5: c0c0febec28f66bc333a24d97b1d1242 - sha256: c82fc09d29115df65bea000da3f6c982db1d4f67e1d2a89759825a13c1dc8a7b + md5: 9936f9d4393c27069e6ee70338f955a5 + sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f manager: conda name: conda-standalone optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.9.0-ha770c72_0.conda - version: 23.9.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda + version: 23.10.0 - category: main dependencies: {} hash: @@ -119,13 +119,13 @@ package: - category: main dependencies: {} hash: - md5: 19410c3df09dfb12d1206132a1d357c5 - sha256: 470d5db54102bd51dbb0c5990324a2f4a0bc976faa493b22193338adb9882e2e + md5: 6185f640c43843e5ad6fd1c5372c3f80 + sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792 manager: conda name: font-ttf-ubuntu optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda version: '0.83' - category: main dependencies: {} @@ -174,14 +174,14 @@ package: - category: main dependencies: {} hash: - md5: 731008e7ad6e66cbc00ffe0ebbdd149f - sha256: 7c8277700bf1cdac0cf20f3eafd5d79f371d63face6d517d8af7c7e72f7f4ca3 + md5: 5b874a5f133b1bd0c5f227eed4758fdb + sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f manager: conda name: open_pdks.sky130a optional: false platform: linux-64 - url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.457_0_g32e8f23-20231104_052339.tar.bz2 - version: 1.0.457_0_g32e8f23 + url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2 + version: 1.0.458_0_g8c68aca - category: main dependencies: {} hash: @@ -323,14 +323,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 1fd5f2ae093f2dbf28dc4f18fca57309 - sha256: 09075cb426a0b903b7ca86e4f399eb0be02b6d24e403792a5f378064fcb7a08b + md5: 93729f7a54b25cb135ac2b67ea3a7603 + sha256: dba8a20acedc6bc3574e4068c196969881462ad831aae267d25fbc9409785a6b manager: conda name: aws-c-common optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.8-hd590300_0.conda - version: 0.9.8 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.10-hd590300_0.conda + version: 0.9.10 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -371,14 +371,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: c06fa0440048270817b9e3142cc661bf - sha256: dfe0e81d5462fced79fd0f99edeec94c9b27268cb04238638180981af2f889f1 + md5: d459949bc10f64dee1595c176c2e6291 + sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f manager: conda name: c-ares optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.21.0-hd590300_0.conda - version: 1.21.0 + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda + version: 1.23.0 - category: main dependencies: libgcc-ng: '>=12' @@ -834,14 +834,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 3cb2c7df59990bd37c2ce27fd906de68 - sha256: 49c569a69608eee784e815179a70c6ae4d088dac42b7df999044f68058d593bb + md5: 2bf1915cc107738811368afcb0993a59 + sha256: 1ef1b7efa69c7fb4e2a36a88316f307c115713698d1c12e19f55ae57c0482995 manager: conda name: nettle optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.8.1-hc379101_1.tar.bz2 - version: 3.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.9.1-h7ab15ed_0.conda + version: 3.9.1 - category: main dependencies: libgcc-ng: '>=12' @@ -859,14 +859,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 412ba6938c3e2abaca8b1129ea82e238 - sha256: d15b3e83ce66c6f6fbb4707f2f5c53337124c01fb03bfda1cf25c5b41123efc7 + md5: 603827b39ea2b835268adb8c821b8570 + sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87 manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.4-hd590300_0.conda - version: 3.1.4 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda + version: 3.2.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1098,56 +1098,56 @@ package: version: 0.2.5 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' - openssl: '>=3.1.4,<4.0a0' + openssl: '>=3.2.0,<4.0a0' hash: - md5: ab28ae62aa4738f7ca0622554aadc31b - sha256: 8bca41960971a2f6eea0d61a30e6d8b1bf80f520b5959aba92b87d1385d3d0cd + md5: 9e51dfd5da37c1817d2a850188861987 + sha256: ec56734a24eee51e2f89bec3d686dd2c4dbb09d0305248b1d14e4c748065dc23 manager: conda name: aws-c-cal optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.6.9-h3b91eb8_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.6.9-h5d48c4d_2.conda version: 0.6.9 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: aee687dcfcc2a75d77b6e6024273978a - sha256: d67e50aff37474eee393346d71c9e4bbb6d190f86722ac932b2837acfea33f76 + md5: c55a1a0c1419fcdfce6d21c41b0f92ab + sha256: ce508018c1109d4e5c6b65695639deaa2beea31edc39145bb810efb13ffed2c3 manager: conda name: aws-c-compression optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.17-hfd9eb17_6.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.17-h7f92143_7.conda version: 0.2.17 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: af2bccdb4cf6e9254969426fd53c7c65 - sha256: d109677012abbf7e062d2a64c0df55523b056e74e5895650841b49f7f94a48a1 + md5: fe9b3bb0a3961dfb12506d865d818c00 + sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56 manager: conda name: aws-c-sdkutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-hfd9eb17_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda version: 0.1.12 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: 92077b8c5f72e9b81f069b1eb492ab80 - sha256: fa197cea5d34038066ac743ffa3ae688c057152fff55226ec740c5f68a136282 + md5: 46bd4e9c2fd10de83bae22f0bb71139b + sha256: ac2082211e7d5fd3036f9abd7e398ef67d5327efb3808f17a30fcab59acacbfb manager: conda name: aws-checksums optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.17-hfd9eb17_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.17-h7f92143_6.conda version: 0.1.17 - category: main dependencies: @@ -1202,20 +1202,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h166bdaf_1001.tar.bz2 version: 4.6.0 -- category: main - dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - ncurses: '>=6.4,<7.0a0' - hash: - md5: 182d006cea9203d6023c354005506e7a - sha256: f2a81d08e73e1d40af8d00aaaa0fcb61e8648cf656f112d5c2705a0a1a651c43 - manager: conda - name: firtool - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.58.0-0_h1234567_gc1d84a851.conda - version: 1.58.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1250,17 +1236,17 @@ package: version: 12.3.0 - category: main dependencies: - libgcc-ng: '>=7.5.0' - oniguruma: '>=6.9.3,<6.10.0a0' + libgcc-ng: '>=12' + oniguruma: '>=6.9.9,<6.10.0a0' hash: - md5: 8578ae83310b8c9f5717f1aa65054f36 - sha256: 00e69aec19174e61c70b652bb62c77c0947a27d6720bda0cb8d5be654020804a + md5: c29cbd5ee663325f9bed9a2b2488ef3a + sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8 manager: conda name: jq optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.6-h36c2ea0_1000.tar.bz2 - version: '1.6' + url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda + version: '1.7' - category: main dependencies: libbrotlicommon: 1.1.0 hd590300_1 @@ -1376,27 +1362,27 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 5097789a2bc83e697d7509df57f25bfd - sha256: 911ad483f051d96c9f07ecd8177546763c2da601e26941b434c3a09fa9fcd8f8 + md5: 1a0287ab734591ad63603734f923016b + sha256: 3e0f6454190abb27edd2aeb724688ee440de133edb02cbb17d5609ba36aa8be0 manager: conda name: libprotobuf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.3-hf27288f_1.conda - version: 4.24.3 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.4-hf27288f_0.conda + version: 4.24.4 - category: main dependencies: libgcc-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: b58e6816d137f3aabf77d341dd5d732b - sha256: 74ef5dcb900c38bec53140036e5e2a9cc7ffcd806da479ea2305f962a358a259 + md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf + sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a manager: conda name: libsqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.0-h2797004_0.conda - version: 3.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda + version: 3.44.2 - category: main dependencies: libgcc-ng: '>=12' @@ -1486,16 +1472,16 @@ package: dependencies: bzip2: '>=1.0.8,<2.0a0' libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 69e2c796349cd9b273890bee0febfe1b - sha256: 7a29ec847556eed4faa1646010baae371ced69059a4ade43851367a076d6108a + md5: 679c8961826aa4b50653bce17ee52abe + sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380 manager: conda name: pcre2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2 - version: '10.40' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda + version: '10.42' - category: main dependencies: libgcc-ng: '>=12' @@ -1658,18 +1644,18 @@ package: - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' s2n: '>=1.3.56,<1.3.57.0a0' hash: - md5: 4cabe68190c1ff4c72154c0a7d2e980c - sha256: 89103265c27cb5ad67a0f6b67149532e7addae4b6ddfb704e77f0369f5520591 + md5: d15f4dfeef1d65de9a5283c984981776 + sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d manager: conda name: aws-c-io optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.35-hc23c90e_8.conda - version: 0.13.35 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda + version: 0.13.36 - category: main dependencies: libgcc-ng: '>=12' @@ -1782,17 +1768,17 @@ package: libidn2: '>=2,<3.0a0' libstdcxx-ng: '>=12' libtasn1: '>=4.19.0,<5.0a0' - nettle: '>=3.8.1,<3.9.0a0' + nettle: '>=3.9.1,<3.10.0a0' p11-kit: '>=0.24.1,<0.25.0a0' hash: - md5: cbe8e27140d67c3f30e01cfb642a6e7c - sha256: 4a47e4558395b98fff4c1c44ad358dade62b350a03b5a784d4bc589d6eb7ac9e + md5: 33eded89024f21659b1975886a4acf70 + sha256: 52d824a5d2b8a5566cd469cae6ad6920469b5a15b3e0ddc609dd29151be71be2 manager: conda name: gnutls optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.8-hf3e180e_0.tar.bz2 - version: 3.7.8 + url: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.9-hb077bed_0.conda + version: 3.7.9 - category: main dependencies: gcc_impl_linux-64: 12.3.0 he2b93b0_3 @@ -1851,15 +1837,15 @@ package: libiconv: '>=1.17,<2.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' - pcre2: '>=10.40,<10.41.0a0' + pcre2: '>=10.42,<10.43.0a0' hash: - md5: ddd09e8904fde46b85f41896621803e6 - sha256: 44c5f58593b074886436db7d13fdfcba2fe3731867ea52237f049b8400341a2b + md5: 70052d6c1e84643e30ffefb21ab6950f + sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b manager: conda name: libglib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-hebfc3b9_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda version: 2.78.1 - category: main dependencies: @@ -1883,14 +1869,14 @@ package: libgfortran-ng: '' libgfortran5: '>=12.3.0' hash: - md5: 6e4ef6ca28655124dcde9bd500e44c32 - sha256: c8e080ae4d57506238023e98869928ae93564e6407ef5b0c4d3a337e8c2b7662 + md5: d172b34a443b95f86089e8229ddc9a17 + sha256: 628564517895ee1b09cf72c817548bd80ef1acce6a8214a8520d9f7b44c4cfaf manager: conda name: libopenblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.24-pthreads_h413a1c8_0.conda - version: 0.3.24 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.25-pthreads_h413a1c8_0.conda + version: 0.3.25 - category: main dependencies: lerc: '>=4.0.0,<5.0a0' @@ -1914,20 +1900,20 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libprotobuf: '>=4.24.3,<4.24.4.0a0' + libprotobuf: '>=4.24.4,<4.24.5.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.4,<7.0a0' - openssl: '>=3.1.3,<4.0a0' + openssl: '>=3.2.0,<4.0a0' perl: '>=5.32.1,<5.33.0a0 *_perl5' hash: - md5: a362a501d2ea92506a96174ecf6b4b90 - sha256: 059f665865d1a8c1346a026ec4480ebae6edef839d465d90fe9ed6afa8b128c9 + md5: 194cc570b66f8726e92eaa58d141b935 + sha256: 30ac68088afe7568df797549a091556cf55ea28154a3f27cb524005ea4be6086 manager: conda name: mosh optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h4b98680_4.conda + url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h2f1bd5e_5.conda version: 1.4.0 - category: main dependencies: @@ -1990,19 +1976,19 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libsqlite: 3.44.0 h2797004_0 + libsqlite: 3.44.2 h2797004_0 libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.4,<7.0a0' readline: '>=8.2,<9.0a0' hash: - md5: df56c636df4a98990462d66ac7be2330 - sha256: ae7031a471868c7057cc16eded7bb58fa3723d9c1650c9d3eb8de1ff65d89dbb + md5: 4f2892c672829693fd978d065db4e8be + sha256: bae479520fe770fe11996b4c240923ed097f851fbd2401d55540e551c9dbbef7 manager: conda name: sqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.0-h2c6b66d_0.conda - version: 3.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.2-h2c6b66d_0.conda + version: 3.44.2 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -2111,62 +2097,50 @@ package: version: 23.1.0 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' hash: - md5: b4e69f0e7f832dc901bd585f353487f0 - sha256: b7b00593f4cd835780d3a4f61f6f77181b33b8e85cc0f78d9cb48dc1d84e8443 + md5: 21dafb60b5854f82b196f32e5857dec6 + sha256: d2855cd791a95648ac773aa6561c61f9e77450f123c8aa82eea1d66e90d5bfb1 manager: conda name: aws-c-event-stream optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.3.2-hae413d4_6.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.3.2-h0bcb0bb_8.conda version: 0.3.2 - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-compression: '>=0.2.17,<0.2.18.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' libgcc-ng: '>=12' hash: - md5: e1b49ef8ddc4faca06a63a7e25da644f - sha256: dc4cda9ffef3b5859c5943f010e947e082315e7d84eb1f5e0b3cd58565eaf405 + md5: 0b0f7174a0f94d2c9a02fb24f6fc0d00 + sha256: ff7e6252a299a59b7e6494723ef3043ba31643ec2a750b8593037bc757a2c4fa manager: conda name: aws-c-http optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.7.14-h162056d_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.7.14-hd268abd_3.conda version: 0.7.14 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: 54ca2e08b3220c148a1d8329c2678e02 - sha256: 711602276ae39276cb0faaca6fd0ac851fff0ca17151917569174841ef830bbd - manager: conda - name: backports - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_3.conda - version: '1.0' - category: main dependencies: libgcc-ng: '>=12' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 2b4dff8615211a9ed20a79a9f6d26df8 - sha256: 6e21b123757ca5579df40c970622c7a0c5c44474cd820c87402246e3d66a32b3 + md5: be773757df1f0a5f7c783d6c56666ee7 + sha256: 6c1ea83b3a9f7d7ae5681cbd2eb6d4cc770e103c86f303ab3c568a7249383561 manager: conda name: bcrypt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.0.1-py39h9fdd4d6_1.conda - version: 4.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py39h9fdd4d6_0.conda + version: 4.1.1 - category: main dependencies: python: '>=3.8' @@ -2181,7 +2155,7 @@ package: version: 1.7.0 - category: main dependencies: - python: 2.7.*|>=3.7 + python: ==2.7.*|>=3.7 hash: md5: 033eb25fffd222aceeca6d58cd953680 sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee @@ -2237,14 +2211,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 7f3dbc9179b4dde7da98dfb151d0ad22 - sha256: db66e31866ff4250c190788769e3a8a1709237c3e9c38d7143aae95ab75fcb31 + md5: 2011bcf45376341dd1d690263fdbc789 + sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96 manager: conda name: certifi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.7.22-pyhd8ed1ab_0.conda - version: 2023.7.22 + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda + version: 2023.11.17 - category: main dependencies: python: '>=3.6.1' @@ -2402,14 +2376,14 @@ package: dependencies: python: '>=3.7' hash: - md5: e6518222753f519e911e83136d2158d9 - sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + md5: f6c211fee3c98229652b60a9a42ef363 + sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08 manager: conda name: exceptiongroup optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda - version: 1.1.3 + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda + version: 1.2.0 - category: main dependencies: python: '>=3.7' @@ -2542,14 +2516,14 @@ package: dependencies: python: '>=3.6' hash: - md5: 34272b248891bddccc64479f9a7fffed - sha256: 9887c35c374ec1847f167292d3fde023cb4c994a4ceeec283072b95440131f09 + md5: 1a76f09108576397c41c0b0c5bd84134 + sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07 manager: conda name: idna optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2 - version: '3.4' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda + version: '3.6' - category: main dependencies: python: '>=3.4' @@ -2680,15 +2654,15 @@ package: version: '2.15' - category: main dependencies: - libopenblas: '>=0.3.24,<1.0a0' + libopenblas: '>=0.3.25,<1.0a0' hash: - md5: 420f4e9be59d0dc9133a0f43f7bab3f3 - sha256: b1311b9414559c5760b08a32e0382ca27fa302c967968aa6f78e042519f728ce + md5: 2b7bb4f7562c8cf334fc2e20c2d28abc + sha256: 8a0ee1de693a9b3da4a11b95ec81b40dd434bd01fa1f5f38f8268cd2146bf8f0 manager: conda name: libblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -2838,14 +2812,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: e39816a8abd539079a9d0b3c9045b2cb - sha256: ec1775ee47127f6ffcda5ed177280cf21a6b1e2e466cb8ab911a54cf40370961 + md5: f668e146a2ed03a4e62ffbb98b3115fb + sha256: a47f46861f206043602b5f8b176e3957dd4a59876b819a2e089d63d52e312412 manager: conda name: msgpack-python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.6-py39h7633fee_0.conda - version: 1.0.6 + url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py39h7633fee_0.conda + version: 1.0.7 - category: main dependencies: libgcc-ng: '>=12' @@ -3015,14 +2989,14 @@ package: dependencies: python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5' hash: - md5: 4b1c0db24e212190be1969b0aa490ad8 - sha256: 259b1107ae7d6983a8fdebe1717b67005fdf5328e827f33d38a9df43dee5ef82 + md5: fb1a800972b072aa4d16450983c81418 + sha256: 8b116da9acbb471e107203c11acaffcb259aca2367aa7e83e796e43ed5d381b3 manager: conda name: pyasn1 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.5.0-pyhd8ed1ab_0.conda - version: 0.5.0 + url: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.5.1-pyhd8ed1ab_0.conda + version: 0.5.1 - category: main dependencies: libgcc-ng: '>=12' @@ -3039,7 +3013,7 @@ package: version: 0.6.6 - category: main dependencies: - python: 2.7.*|>=3.4 + python: ==2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3053,14 +3027,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 40e5cb18165466773619e5c963f00a7b - sha256: 3f0f0fadc6084960ec8cc00a32a03529c562ffea3b527eb73b1653183daad389 + md5: 140a7f159396547e9799aa98f9f0742e + sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257 manager: conda name: pygments optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.16.1-pyhd8ed1ab_0.conda - version: 2.16.1 + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda + version: 2.17.2 - category: main dependencies: python: '>=3.6' @@ -3182,14 +3156,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 6db337e18a061e407cd34e6520d62a8b - sha256: fbb990dc109b77c2e9a431fc237245f1f1c8ea35fa53630bd0c1f5655c198f6c + md5: 75f11bc5ee4f3cf1d12bc17066b6a367 + sha256: f7e4dc74a7c8928edd8bf63316f09443943faf723487310c0f4ab76a5c62a5e6 manager: conda name: rpds-py optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.12.0-py39h9fdd4d6_0.conda - version: 0.12.0 + url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py39h9fdd4d6_0.conda + version: 0.13.2 - category: main dependencies: libgcc-ng: '>=12' @@ -3292,14 +3266,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 495ddad84b81dde4ee1138dd59ef5805 - sha256: 2db2564e0332f051f46670fb7c430b53d3d596f102f7d9994e84cf8afae2a12f + md5: 074d0ce7a6261ab8b497c3518796ef3e + sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117 manager: conda name: tomlkit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.2-pyha770c72_0.conda - version: 0.12.2 + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda + version: 0.12.3 - category: main dependencies: python: '>=3.5' @@ -3407,6 +3381,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda version: '5.008' +- category: main + dependencies: + python: '>=3.8' + hash: + md5: bf4a1d1a97ca27b0b65bacd9e238b484 + sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7 + manager: conda + name: wcwidth + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda + version: 0.2.12 - category: main dependencies: python: '>=2.6' @@ -3435,14 +3421,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 3fc026b9c87d091c4b34a6c997324ae8 - sha256: 84c3b57fba778add2bd47b7cc70e86f746d2c55549ffd2ccb6f3d6bf7c94d21d + md5: 1cdea58981c5cbc17b51973bcaddcea7 + sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01 manager: conda name: wheel optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.3-pyhd8ed1ab_0.conda - version: 0.41.3 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda + version: 0.42.0 - category: main dependencies: libgcc-ng: '>=12' @@ -3556,35 +3542,35 @@ package: - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0' libgcc-ng: '>=12' hash: - md5: 31836ccf72bc70ce2ec38a2ec2c8b504 - sha256: 6f44ef79e2ab5005961847cdefd2a71aa3a33c741adc77e774ac9dbedd9a2f81 + md5: 65d47e98af07d5e361707dda2ce44f3a + sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76 manager: conda name: aws-c-auth optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.6-h37ad1db_0.conda - version: 0.7.6 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda + version: 0.7.8 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' libgcc-ng: '>=12' hash: - md5: d03181571be036cfbe7accf52256efe7 - sha256: 1df6ad0f5db319090718f5d4575b8829ff5aa5b663c8580e191fa9005e71072d + md5: 0cca0a3d7dc82f219ac46635478952f6 + sha256: 246276b22393302b4e9acb934ec40bb78d3be74e7bd2c110272b46c5370a60ee manager: conda name: aws-c-mqtt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.9.9-h1387108_0.conda - version: 0.9.9 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.9.10-h35285c7_2.conda + version: 0.9.10 - category: main dependencies: python: '>=3.7' @@ -3599,20 +3585,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda version: 2.13.1 -- category: main - dependencies: - backports: '' - python: '>=3.6' - setuptools: '' - hash: - md5: 6b1b907661838a75d067a22f87996b2e - sha256: 7027bb689dd4ca4a08e3b25805de9d04239be6b31125993558f21f102a9d2700 - manager: conda - name: backports.functools_lru_cache - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/backports.functools_lru_cache-1.6.5-pyhd8ed1ab_0.conda - version: 1.6.5 - category: main dependencies: fontconfig: '>=2.14.2,<3.0a0' @@ -3784,14 +3756,14 @@ package: python_abi: 3.9.* *_cp39 unicodedata2: '>=14.0.0' hash: - md5: bbfd1e3ef6f66b07e025fe872e854b0d - sha256: 874b66537828d2c0c1586a46b60f57bdec99b7df11f4a6343cd2cb381168f1b1 + md5: 616bc0b442acefebdbe97c7b885d771e + sha256: f908a09abb6c53e65dcd36d6c269fae3f9d6fa41ddb90bd8382e9e8da18005a1 manager: conda name: fonttools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.44.0-py39hd1e30aa_0.conda - version: 4.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py39hd1e30aa_0.conda + version: 4.45.1 - category: main dependencies: python: '>=3.7' @@ -3912,15 +3884,15 @@ package: version: '1.9' - category: main dependencies: - libblas: 3.9.0 19_linux64_openblas + libblas: 3.9.0 20_linux64_openblas hash: - md5: d12374af44575413fbbd4a217d46ea33 - sha256: 84fddccaf58f42b07af7fb42512bd617efcb072f17bdef27f4c1884dbd33c86a + md5: 36d486d72ab64ffea932329a1d3729a3 + sha256: 0e34fb0f82262f02fcb279ab4a1db8d50875dc98e3019452f8f387e6bf3c0247 manager: conda name: libcblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -3948,15 +3920,15 @@ package: version: 2.3.3 - category: main dependencies: - libblas: 3.9.0 19_linux64_openblas + libblas: 3.9.0 20_linux64_openblas hash: - md5: 9f100edf65436e3eabc2a51fc00b2c37 - sha256: 58f402aae605ebd0932e1cbbf855cd49dcdfa2fcb6aab790a4f6068ec5937878 + md5: 6fabc51f5e647d09cc010c40061557e0 + sha256: ad7745b8d0f2ccb9c3ba7aaa7167d62fc9f02e45eb67172ae5f0dfb5a3b1a2cc manager: conda name: liblapack optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -3983,14 +3955,14 @@ package: tomli: '>=1.1.0' typing_extensions: '>=4.1.0' hash: - md5: 302c2f64bdf5c828254e4259c122b7fa - sha256: 47f05c1fc7ea7883f69ebe296969fe3a94dfe90f9c50a5df519fd2d1601954e2 + md5: aa252e335aa572e5052c4bb54519f1b9 + sha256: e2ccf9efb93065d65337199d6aca1f1ee94f583d3cf78d5998ac3b261b080d1e manager: conda name: mypy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.0-py39hd1e30aa_0.conda - version: 1.7.0 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py39hd1e30aa_0.conda + version: 1.7.1 - category: main dependencies: python: 2.7|>=3.7 @@ -4041,6 +4013,32 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda version: 23.3.1 +- category: main + dependencies: + python: '>=3.7' + typing_extensions: '>=4.7.1' + hash: + md5: 6bb4ee32cd435deaeac72776c001e7ac + sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937 + manager: conda + name: platformdirs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda + version: 4.0.0 +- category: main + dependencies: + python: '>=3.7' + wcwidth: '' + hash: + md5: 59ba1bf8ea558751a0d391249a248765 + sha256: 78c2f3c6195ec350d7d6e5fa3e43274ca8191c181c97a867e2920faaeec0e9bc + manager: conda + name: prompt-toolkit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.38-pyha770c72_0.conda + version: 3.0.38 - category: main dependencies: colorama: '' @@ -4271,14 +4269,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 8af6047a95775009261c0a896da31e2f - sha256: c7b2be7a3cf2f31f1adb0ea3276ea4d21918e0769a5c3f9e1b9ec387965beb1f + md5: c8654dea9ff4b633fbdfddff7e321bb9 + sha256: 871782b22363b3fb449e2a29a3620045a1c40643e3726767f5b9cd4455ec36c7 manager: conda name: yarl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.2-py39hd1e30aa_1.conda - version: 1.9.2 + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py39hd1e30aa_0.conda + version: 1.9.3 - category: main dependencies: python: '>=3.7' @@ -4307,23 +4305,23 @@ package: version: 4.0.3 - category: main dependencies: - aws-c-auth: '>=0.7.6,<0.7.7.0a0' + aws-c-auth: '>=0.7.8,<0.7.9.0a0' aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' - openssl: '>=3.1.4,<4.0a0' + openssl: '>=3.2.0,<4.0a0' hash: - md5: 76eebe9871477c883d04042758493b98 - sha256: a145f456f0a47f8f7482ce6c23f4bfc3b71cb013598d4e1294930dcc8db56c65 + md5: d193ad6b5c2d47c679202afe5b69b371 + sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf manager: conda name: aws-c-s3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.3.23-h7630044_1.conda - version: 0.3.23 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda + version: 0.4.3 - category: main dependencies: jmespath: '>=0.7.1,<2.0.0' @@ -4331,14 +4329,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: e6d5b6f6e9920c48eddcc8228d7cfacc - sha256: 74a6d6051bea01f4b68d5bb7397d8805432dbb4e74fa1bc889d05e34e3b9e367 + md5: 352c39ba5cd9ea01996358f0748e102e + sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.31.84-pyhd8ed1ab_0.conda - version: 1.31.84 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: clang-format-16: 16.0.3 default_h1cdf331_2 @@ -4411,18 +4409,18 @@ package: libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' libzlib: '>=1.2.13,<1.3.0a0' - openssl: '>=3.1.2,<4.0a0' - pcre2: '>=10.40,<10.41.0a0' + openssl: '>=3.2.0,<4.0a0' + pcre2: '>=10.42,<10.43.0a0' perl: 5.* hash: - md5: 96ad24c67e0056d171385859c43218a2 - sha256: 6f6b3d60da46f53f1e1708a63d6ce5f119e6aba0f5243326b7ecaf3b0cdbc6d4 + md5: 851970792301b407ba4c35e75e796791 + sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765 manager: conda name: git optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.42.0-pl5321h86e50cf_0.conda - version: 2.42.0 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda + version: 2.43.0 - category: main dependencies: gitdb: '>=4.0.1,<5' @@ -4517,14 +4515,14 @@ package: python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 hash: - md5: 62f1d2e05327bf62728afa448f2a9261 - sha256: 11efc6545e2f9a1d2c298e188c4f929930c87423f40c7c91e93bb21bba80ce5e + md5: 459a58eda3e74dd5e3d596c618e7f20a + sha256: da2439d911005c9c83e7586f72014f58958ff0b0dbc7a3c38c14fbbe2841b455 manager: conda name: numpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.0-py39h474f0d3_0.conda - version: 1.26.0 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py39h474f0d3_0.conda + version: 1.26.2 - category: main dependencies: pip: '' @@ -4540,17 +4538,16 @@ package: version: 6.0.0 - category: main dependencies: - python: '>=3.7' - typing-extensions: '>=4.6.3' + prompt-toolkit: '>=3.0.38,<3.0.39.0a0' hash: - md5: 8f567c0a74aa44cf732f15773b4083b0 - sha256: b3d809ff5a18ee8514bba8bc05a23b4cdf1758090a18a2cf742af38aed405144 + md5: 45b74f64d8808eda7e6f6e6b1d641fd2 + sha256: c0f24a75d27918eb33f86902aa6024783d128a89eb3a169bcb22f24163a422b3 manager: conda - name: platformdirs + name: prompt_toolkit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.11.0-pyhd8ed1ab_0.conda - version: 3.11.0 + url: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.38-hd8ed1ab_0.conda + version: 3.0.38 - category: main dependencies: libgcc-ng: '>=12' @@ -4558,14 +4555,14 @@ package: python_abi: 3.9.* *_cp39 typing-extensions: '>=4.6.0' hash: - md5: 4f91c76f0449ef911f13862d97bb9a25 - sha256: 412653aa555032ad318e629b2ff8731eb2a439fd2d13bb39deab868634b769d9 + md5: edfef0feb17faf35c3d7b6665cf30343 + sha256: 90162f949a7008c8f018e34c2a5e88add11c7c802727b2fd38a53d6e03cce7ab manager: conda name: pydantic-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.10.1-py39h9fdd4d6_0.conda - version: 2.10.1 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py39h9fdd4d6_0.conda + version: 2.14.5 - category: main dependencies: cffi: '>=1.4.1' @@ -4630,14 +4627,14 @@ package: pip: '' python: '>=3.7,<4.0' hash: - md5: aca8818a70e54b3763d8eb13ea4cfca0 - sha256: b2ebcf97c7db95fd5ca8b1cf6766d4e467fd4c07de0039c134e14f8e4179df91 + md5: 1205762a36a808c0976f959caf389e8e + sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a manager: conda name: types-awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.10-pyhd8ed1ab_0.conda - version: 0.19.10 + url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda + version: 0.19.19 - category: main dependencies: cffi: '' @@ -4656,17 +4653,19 @@ package: version: 1.0.1 - category: main dependencies: - backports.functools_lru_cache: '' - python: '>=3.6' + distlib: <1,>=0.3.7 + filelock: <4,>=3.12.2 + platformdirs: <5,>=3.9.1 + python: '>=3.8' hash: - md5: 8e8280dec091763dfdc29e066de52270 - sha256: 7552f6545ed212b9ae5d023870481fc377c7f18b4854b63160699b95a420c42e + md5: db990278c2c00b268eed778de44f6057 + sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a manager: conda - name: wcwidth + name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.9-pyhd8ed1ab_0.conda - version: 0.2.9 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda + version: 20.24.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4703,9 +4702,8 @@ package: - category: main dependencies: aiosignal: '>=1.1.2' - async-timeout: <5.0,>=4.0.0a3 + async-timeout: '>=4.0,<5.0' attrs: '>=17.3.0' - charset-normalizer: '>=2.0,<4.0' frozenlist: '>=1.1.1' libgcc-ng: '>=12' multidict: '>=4.5,<7.0' @@ -4713,14 +4711,14 @@ package: python_abi: 3.9.* *_cp39 yarl: '>=1.0,<2.0' hash: - md5: 1cd442d38b3a6f5a54ce57ab156a5e59 - sha256: 3bd784458b30fe5fd1867508d76c95a70021ed2bb943d74e3c5ed2d7133f1a08 + md5: c94f6e40db7d4828430ac0d8efe6a3d7 + sha256: 9ef3be4aed65d22f29a03a1bbc5b36ecab14b279efbe729241270831ff5f17b4 manager: conda name: aiohttp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.8.6-py39hd1e30aa_1.conda - version: 3.8.6 + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.1-py39hd1e30aa_0.conda + version: 3.9.1 - category: main dependencies: botocore: '>=1.11.3' @@ -4737,28 +4735,28 @@ package: version: 2.12.1 - category: main dependencies: - aws-c-auth: '>=0.7.6,<0.7.7.0a0' + aws-c-auth: '>=0.7.8,<0.7.9.0a0' aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-event-stream: '>=0.3.2,<0.3.3.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' - aws-c-mqtt: '>=0.9.9,<0.9.10.0a0' - aws-c-s3: '>=0.3.23,<0.3.24.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' + aws-c-mqtt: '>=0.9.10,<0.9.11.0a0' + aws-c-s3: '>=0.4.3,<0.4.4.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' python: '>=3.9,<3.10.0a0' python_abi: 3.9.* *_cp39 s2n: '>=1.3.56,<1.3.57.0a0' hash: - md5: 08cc5d2eadcfc8d1f32e17dff5de2e92 - sha256: 4712939532aa861f0884abb2dfcc94b8e0854a5604d2f9e49ddceca42d0fa810 + md5: b06d5b1342885fa70ce1371b695cc038 + sha256: b30260ea6484450ad8f5e2ad0cc342302ef199d6ee55f57c1c78fbb8c8b7dad6 manager: conda name: awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.10-py39hb0d4f8a_2.conda - version: 0.19.10 + url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py39h13f1633_0.conda + version: 0.19.18 - category: main dependencies: python: '>=3.6' @@ -4780,14 +4778,14 @@ package: types-awscrt: '' typing_extensions: '>=4.1.0' hash: - md5: 362237c4d50dc1e4465e749d002bec95 - sha256: bb613a1ad8a5722504b7240bba4e8bf4773b07f3acfb9a6235c6120aea19c430 + md5: 3e24267b0fce04a61f7532f3096c45a5 + sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.31.84-pyhd8ed1ab_0.conda - version: 1.31.84 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: msgpack-python: '>=0.5.2' @@ -4883,14 +4881,14 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: fea10604a45e974b110ea15a88913ebc - sha256: a56ec678a4e58d0a450174fd813581e961829def274453e093c9dae836b80cee + md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c + sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546 manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.31-pyhd8ed1ab_0.conda - version: 2.5.31 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda + version: 2.5.32 - category: main dependencies: importlib_metadata: '' @@ -4914,14 +4912,14 @@ package: referencing: '>=0.28.4' rpds-py: '>=0.7.1' hash: - md5: 24d41c2f9cc199d0a180ecf7ef54739c - sha256: 07e5d395d83c4b12a7abe3989fb42abdcd3b1c51cd27549e5eab390bb8c7bf0f + md5: 1116d79def5268414fb0917520b2bbf1 + sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296 manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.2-pyhd8ed1ab_0.conda - version: 4.19.2 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda + version: 4.20.0 - category: main dependencies: pathable: '>=0.4.1,<0.5.0' @@ -4930,14 +4928,14 @@ package: referencing: '>=0.28.0,<0.31.0' requests: '>=2.31.0,<3.0.0' hash: - md5: 4faa0a9ec46b2849c87b569799b78e0f - sha256: b6153bdaa0875ef3c30a093a7c45321f4e877558b9cffc6b2221325a652ccdd3 + md5: 397d8d6ea406285f184534976f5bc9ae + sha256: 37d650a156a086a113be9ae917ba9737000be54e8939edd25e8d9f6fdd208bf2 manager: conda name: jsonschema-path optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-path-0.3.1-pyhd8ed1ab_0.conda - version: 0.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-path-0.3.2-pyhd8ed1ab_0.conda + version: 0.3.2 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -5051,34 +5049,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda version: 3.3.1 -- category: main - dependencies: - python: '>=3.7' - wcwidth: '' - hash: - md5: 59ba1bf8ea558751a0d391249a248765 - sha256: 78c2f3c6195ec350d7d6e5fa3e43274ca8191c181c97a867e2920faaeec0e9bc - manager: conda - name: prompt-toolkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.38-pyha770c72_0.conda - version: 3.0.38 - category: main dependencies: annotated-types: '>=0.4.0' - pydantic-core: 2.10.1 + pydantic-core: 2.14.5 python: '>=3.7' typing-extensions: '>=4.6.1' hash: - md5: aad1d187156725d52e1f8ee7756c20f6 - sha256: dc6330364f92de95a315a19e842a26605d6ca5c7d346e77811d42ad0438e32d8 + md5: 3f908ebfccbfd09946961862d26bb9af + sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de manager: conda name: pydantic optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.4.2-pyhd8ed1ab_1.conda - version: 2.4.2 + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda + version: 2.5.2 - category: main dependencies: cryptography: '>=38.0.0,<41' @@ -5117,27 +5102,27 @@ package: typing_extensions: '' urllib3: '>=1.25.10,<3.0' hash: - md5: 3b9575392a494595648f1abe295bd5a5 - sha256: e38de0da8c9cfff976a0a6bbc98d5da771a79f0a86a88f54b4081b26bfaa88fe + md5: b1b80aaa77d5e83183cd0c9e9025b1fa + sha256: 35a1cc20beca329bfa2b17feeb5ca66a2741bdccf39621dfe386f48206e73d67 manager: conda name: responses optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.0-pyhd8ed1ab_0.conda - version: 0.24.0 + url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.1-pyhd8ed1ab_0.conda + version: 0.24.1 - category: main dependencies: - botocore: '>=1.12.36,<2.0a.0' + botocore: '>=1.33.2,<2.0a.0' python: '>=3.7' hash: - md5: 5fe335cb1420d13a818fe01310af2b80 - sha256: 5ed09d013ad7f2c2f65d1637c04ee19da242ef9bed0d86aa9faae2c48aaa255d + md5: 75e12933f4bf755c9cdd37072bcb6203 + sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79 manager: conda name: s3transfer optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.7.0-pyhd8ed1ab_0.conda - version: 0.7.0 + url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda + version: 0.8.2 - category: main dependencies: attrs: '' @@ -5184,34 +5169,44 @@ package: version: 3.3.1 - category: main dependencies: - distlib: <1,>=0.3.7 - filelock: <4,>=3.12.2 - platformdirs: <4,>=3.9.1 - python: '>=3.8' + awscrt: 0.19.18 + colorama: '>=0.2.5,<0.4.7' + cryptography: '>=3.3.2,<=40.0.2' + distro: '>=1.5.0,<1.9.0' + docutils: '>=0.10,<0.20' + jmespath: '>=0.7.1,<1.1.0' + prompt_toolkit: '>=3.0.24,<3.0.39' + pyopenssl: <23.2 + python: '>=3.9,<3.10.0a0' + python-dateutil: '>=2.1,<3.0.0' + python_abi: 3.9.* *_cp39 + ruamel.yaml: '>=0.15.0,<=0.17.21' + ruamel.yaml.clib: '>=0.2.0,<=0.2.7' + urllib3: '>=1.25.4,<1.27' hash: - md5: fb1fc875719e217ed799a7aae11d3be4 - sha256: 09492f89a22dc17d9b32f2a791deee93d06e99fb312c3d47430fe35343b7fbde + md5: 5ffefcaa01088d683a89ed416cee51be + sha256: 272e0c846b7288e179e1a58ce18a5ec1d8bd4f3a0829df27dbe4ebe799ec3f3f manager: conda - name: virtualenv + name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.6-pyhd8ed1ab_0.conda - version: 20.24.6 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py39hf3d152e_0.conda + version: 2.14.4 - category: main dependencies: - botocore: '>=1.31.84,<1.32.0' + botocore: '>=1.33.4,<1.34.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' - s3transfer: '>=0.7.0,<0.8.0' + s3transfer: '>=0.8.2,<0.9.0' hash: - md5: a9bfc60aeab9081481db109399739a0e - sha256: 22a8b32548ea3bff700a5dc2c5d52ea59b3ed2776c557c47ee929c10acf50f5b + md5: 914d59cf685448451de9ac736cb0fb2a + sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda + version: 1.33.4 - category: main dependencies: cachecontrol: 0.13.1 pyhd8ed1ab_0 @@ -5300,14 +5295,14 @@ package: python_abi: 3.9.* *_cp39 secretstorage: '>=3.2' hash: - md5: b3d20489af92d28bf9b952529e95a425 - sha256: fbe9e8a0e2377a7607d29b49981fe556710e6da0a34c340b0b357b0549c1f798 + md5: 1426c4f9994cb7e55859b44b98bc7b3e + sha256: a7538a914feb54dc3e7ee46431af5f0a40e668b29224998e6d3be044a1a7606e manager: conda name: keyring optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.2.0-py39hf3d152e_1.conda - version: 24.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py39hf3d152e_0.conda + version: 24.3.0 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -5346,14 +5341,14 @@ package: python_abi: 3.9.* *_cp39 tk: '>=8.6.13,<8.7.0a0' hash: - md5: 89615b866cb3b0d8ad4e2a11e2bcf9a0 - sha256: 757714b23660b4627465cb640e2e8102a22b54aa3b961d475e2baa085180ad77 + md5: 6085411aa2f0b2b801d3b46e1d3b83c5 + sha256: f5e1275e1e7f644d5c91780c08f9868153b8b1a00703e7b03f4b171be02879e1 manager: conda name: matplotlib-base optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.1-py39he9076e7_0.conda - version: 3.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.2-py39he9076e7_0.conda + version: 3.8.2 - category: main dependencies: msal: '>=0.4.1,<2.0' @@ -5400,18 +5395,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda version: 3.5.0 -- category: main - dependencies: - prompt-toolkit: '>=3.0.38,<3.0.39.0a0' - hash: - md5: 45b74f64d8808eda7e6f6e6b1d641fd2 - sha256: c0f24a75d27918eb33f86902aa6024783d128a89eb3a169bcb22f24163a422b3 - manager: conda - name: prompt_toolkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.38-hd8ed1ab_0.conda - version: 3.0.38 - category: main dependencies: __unix: '' @@ -5433,39 +5416,14 @@ package: python: '>=3.7,<4.0' typing-extensions: <5,>=4.4 hash: - md5: af59efdd26e86fac14c2746c66cb706c - sha256: ea26d8d828b4e5c8796db950f8b8e8428c95376a536c541b8f0bf937b17ea8b3 + md5: d9f3ca99e7d10b05ead04edcdcb7e0cb + sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08 manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.79.0-pyhd8ed1ab_0.conda - version: 1.79.0 -- category: main - dependencies: - awscrt: '>=0.16.4,<=0.19.10' - colorama: '>=0.2.5,<0.4.7' - cryptography: '>=3.3.2,<=40.0.2' - distro: '>=1.5.0,<1.9.0' - docutils: '>=0.10,<0.20' - jmespath: '>=0.7.1,<1.1.0' - prompt_toolkit: '>=3.0.24,<3.0.39' - pyopenssl: <23.2 - python: '>=3.9,<3.10.0a0' - python-dateutil: '>=2.1,<3.0.0' - python_abi: 3.9.* *_cp39 - ruamel.yaml: '>=0.15.0,<=0.17.21' - ruamel.yaml.clib: '>=0.2.0,<=0.2.7' - urllib3: '>=1.25.4,<1.27' - hash: - md5: 4aaf89b9a988b7c058ccf03a20ac125b - sha256: 27b02a7a180786fa3cd6e2d1c57311c3c48a0b529624f3d2027369c0568eaa0d - manager: conda - name: awscli - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.13.34-py39hf3d152e_0.conda - version: 2.13.34 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda + version: 1.81.0 - category: main dependencies: azure-core: <2.0.0,>=1.23.0 @@ -5488,14 +5446,14 @@ package: python: '' typing_extensions: '' hash: - md5: ed34395e930881e637ff3972b14a8cb8 - sha256: e03ff2ce7a063f7511bf1f69f23c3f85e692cd0c154929136e44403da69fd758 + md5: 23cf1bb1fb33251d3f0caf4198a90782 + sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: archspec: '' @@ -5591,28 +5549,28 @@ package: python: '>=3.6' typing-extensions: '' hash: - md5: e4613bd862e1d98d361028fc4c971ff8 - sha256: dffba76e4bc56360fa5657b45d0f976f39cc3f271efc73e4f51041ce195574a3 + md5: 01f46d3078f21041719d2c5fb83200de + sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a manager: conda name: mypy-boto3-s3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.28.55-pyhd8ed1ab_0.conda - version: 1.28.55 + url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda + version: 1.33.2 - category: main dependencies: boto3: '' python: '>=3.6' typing-extensions: '' hash: - md5: 058b95d63b780eaaf07ec142f409f42e - sha256: c744e0354b04aedd724d3046ba34cc931d20e6817c86f5d77e20359d48a5ca44 + md5: 687d78daf8e04f4c5e5cfa92ead666c4 + sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67 manager: conda name: mypy_boto3_ec2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda + version: 1.33.0 - category: main dependencies: importlib_resources: '>=5.8,<7.0' @@ -5646,7 +5604,7 @@ package: version: 0.4.2 - category: main dependencies: - aws-sam-translator: '>=1.77.0' + aws-sam-translator: '>=1.79.0' jschema-to-python: '>=1.2.3,<1.3.dev0' jsonpatch: '' jsonschema: '>=3.0,<5' @@ -5658,14 +5616,14 @@ package: sarif-om: '>=1.0.4,<1.1.dev0' sympy: '>=1.0.0' hash: - md5: bd38b7f9983057b8c28d718dbda22e61 - sha256: 36a7f4c7623eed2f0987ae7b716a3f39caee1a865be30aeb7c46bc0091b29835 + md5: 8fa5ac9497fc51cb02377e38500ce964 + sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4 manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.1-pyhd8ed1ab_0.conda - version: 0.83.1 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda + version: 0.83.3 - category: main dependencies: colorama: '' @@ -5741,14 +5699,14 @@ package: werkzeug: '>=0.5,!=2.2.0,!=2.2.1' xmltodict: '' hash: - md5: 5c83e6282026138d61086e1f6a689349 - sha256: cd1c6f4386002a7bb4a3debdb331c5a8eeaed7d237b806b3ff481a57f3a3726e + md5: cd76850f625a821bd553380913baf5d6 + sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb manager: conda name: moto optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.8-pyhd8ed1ab_0.conda - version: 4.2.8 + url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda + version: 4.2.10 - category: main dependencies: livereload: '>=2.3.0' @@ -5763,19 +5721,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2 version: 2021.3.14 -- category: main - dependencies: - python: '>=2.7' - sphinx: <6 - hash: - md5: 231a6798e540439299666e2eae31751e - sha256: 3b80b31fe1298c04c28285e3c2b1acb019be726acdc76fcd24d0123dc97bee6d - manager: conda - name: sphinx_rtd_theme - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-0.5.2-pyhd8ed1ab_0.tar.bz2 - version: 0.5.2 - category: main dependencies: python: '>=3.9' @@ -5815,6 +5760,34 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda version: 2.0.4 +- category: main + dependencies: + python: '>=2.7' + sphinx: '>=1.8' + hash: + md5: 914897066d5873acfb13e75705276ad1 + sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca + manager: conda + name: sphinxcontrib-jquery + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda + version: '4.1' +- category: main + dependencies: + docutils: <0.21 + python: '>=3.6' + sphinx: '>=5,<8' + sphinxcontrib-jquery: '>=4,<5' + hash: + md5: baf6d9a33df1a789ca55e3b404c7ea28 + sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a + manager: conda + name: sphinx_rtd_theme + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda + version: 2.0.0 - category: main dependencies: python: '>=3.9' @@ -5833,30 +5806,30 @@ package: alabaster: '>=0.7,<0.8' babel: '>=2.9' colorama: '>=0.4.5' - docutils: '>=0.14,<0.20' + docutils: '>=0.18.1,<0.21' imagesize: '>=1.3' importlib-metadata: '>=4.8' jinja2: '>=3.0' packaging: '>=21.0' - pygments: '>=2.12' - python: '>=3.7' - requests: '>=2.5.0' + pygments: '>=2.14' + python: '>=3.9' + requests: '>=2.25.0' snowballstemmer: '>=2.0' sphinxcontrib-applehelp: '' sphinxcontrib-devhelp: '' sphinxcontrib-htmlhelp: '>=2.0.0' sphinxcontrib-jsmath: '' sphinxcontrib-qthelp: '' - sphinxcontrib-serializinghtml: '>=1.1.5' + sphinxcontrib-serializinghtml: '>=1.1.9' hash: - md5: f9e1fcfe235d655900bfeb6aee426472 - sha256: f11fd5fb4ae2c65f41ae86e7408e3ab44844898d928264aa9e89929fffc685c8 + md5: bbfd1120d1824d2d073bc65935f0e4c0 + sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42 manager: conda name: sphinx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-5.3.0-pyhd8ed1ab_0.tar.bz2 - version: 5.3.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda + version: 7.2.6 - category: main dependencies: python: '>=3.9' @@ -5978,13 +5951,13 @@ package: asttokens: '>=2,<3' typing-extensions: '*' hash: - sha256: f1479ed931cf17f6e27aa36c548e16ecea832919890c4240e76b0c1ff14b664e + sha256: 1ba4e88f909d3a4b97a565e1ea1199e5b050aa4bdad190c69086bfaed9680cc2 manager: pip name: icontract optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/1f/a6/aed79965cd83f1ec358b2d37d5e5456e0f03ae5b19ebbed76708e976939f/icontract-2.6.5-py3-none-any.whl - version: 2.6.5 + url: https://files.pythonhosted.org/packages/49/6f/92ae156eb6afd94ad4ecd38adadff16c83caa4c6d52bd4503a583cf054ab/icontract-2.6.6-py3-none-any.whl + version: 2.6.6 - category: main dependencies: icontract: '>=2.0.1,<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 93bde7bf..760a7911 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 /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/chipyard.yaml -f /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar @@ -21,12 +21,12 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: ad6312b18b2993786fb78ba82f84ec194b56d171665578c08543be2f7cf7bc15 + linux-64: f1bcd6ae2c33f314a2957b51c4689ea4e99a5ea5a2bf7e6d199abfb9f6ae65c4 platforms: - linux-64 sources: - - /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/chipyard.yaml - - /nscratch/nayiri/chipyard-pr-nov23/conda-reqs/riscv-tools.yaml + - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml + - /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml package: - category: main dependencies: {} @@ -64,25 +64,25 @@ package: - category: main dependencies: {} hash: - md5: a73ecd2988327ad4c8f2c331482917f2 - sha256: 525b7b6b5135b952ec1808de84e5eca57c7c7ff144e29ef3e96ae4040ff432c1 + md5: 01ffc8d36f9eba0ce0b3c1955fa780ee + sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6 manager: conda name: ca-certificates optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.7.22-hbcca054_0.conda - version: 2023.7.22 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda + version: 2023.11.17 - category: main dependencies: {} hash: - md5: c0c0febec28f66bc333a24d97b1d1242 - sha256: c82fc09d29115df65bea000da3f6c982db1d4f67e1d2a89759825a13c1dc8a7b + md5: 9936f9d4393c27069e6ee70338f955a5 + sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f manager: conda name: conda-standalone optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.9.0-ha770c72_0.conda - version: 23.9.0 + url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda + version: 23.10.0 - category: main dependencies: {} hash: @@ -119,13 +119,13 @@ package: - category: main dependencies: {} hash: - md5: 19410c3df09dfb12d1206132a1d357c5 - sha256: 470d5db54102bd51dbb0c5990324a2f4a0bc976faa493b22193338adb9882e2e + md5: 6185f640c43843e5ad6fd1c5372c3f80 + sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792 manager: conda name: font-ttf-ubuntu optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda version: '0.83' - category: main dependencies: {} @@ -174,14 +174,14 @@ package: - category: main dependencies: {} hash: - md5: 731008e7ad6e66cbc00ffe0ebbdd149f - sha256: 7c8277700bf1cdac0cf20f3eafd5d79f371d63face6d517d8af7c7e72f7f4ca3 + md5: 5b874a5f133b1bd0c5f227eed4758fdb + sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f manager: conda name: open_pdks.sky130a optional: false platform: linux-64 - url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.457_0_g32e8f23-20231104_052339.tar.bz2 - version: 1.0.457_0_g32e8f23 + url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2 + version: 1.0.458_0_g8c68aca - category: main dependencies: {} hash: @@ -323,14 +323,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 1fd5f2ae093f2dbf28dc4f18fca57309 - sha256: 09075cb426a0b903b7ca86e4f399eb0be02b6d24e403792a5f378064fcb7a08b + md5: 93729f7a54b25cb135ac2b67ea3a7603 + sha256: dba8a20acedc6bc3574e4068c196969881462ad831aae267d25fbc9409785a6b manager: conda name: aws-c-common optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.8-hd590300_0.conda - version: 0.9.8 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-common-0.9.10-hd590300_0.conda + version: 0.9.10 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -371,14 +371,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: c06fa0440048270817b9e3142cc661bf - sha256: dfe0e81d5462fced79fd0f99edeec94c9b27268cb04238638180981af2f889f1 + md5: d459949bc10f64dee1595c176c2e6291 + sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f manager: conda name: c-ares optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.21.0-hd590300_0.conda - version: 1.21.0 + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda + version: 1.23.0 - category: main dependencies: libgcc-ng: '>=12' @@ -834,14 +834,14 @@ package: dependencies: libgcc-ng: '>=12' hash: - md5: 3cb2c7df59990bd37c2ce27fd906de68 - sha256: 49c569a69608eee784e815179a70c6ae4d088dac42b7df999044f68058d593bb + md5: 2bf1915cc107738811368afcb0993a59 + sha256: 1ef1b7efa69c7fb4e2a36a88316f307c115713698d1c12e19f55ae57c0482995 manager: conda name: nettle optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.8.1-hc379101_1.tar.bz2 - version: 3.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.9.1-h7ab15ed_0.conda + version: 3.9.1 - category: main dependencies: libgcc-ng: '>=12' @@ -859,14 +859,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: 412ba6938c3e2abaca8b1129ea82e238 - sha256: d15b3e83ce66c6f6fbb4707f2f5c53337124c01fb03bfda1cf25c5b41123efc7 + md5: 603827b39ea2b835268adb8c821b8570 + sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87 manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.4-hd590300_0.conda - version: 3.1.4 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda + version: 3.2.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1098,56 +1098,56 @@ package: version: 0.2.5 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' - openssl: '>=3.1.4,<4.0a0' + openssl: '>=3.2.0,<4.0a0' hash: - md5: ab28ae62aa4738f7ca0622554aadc31b - sha256: 8bca41960971a2f6eea0d61a30e6d8b1bf80f520b5959aba92b87d1385d3d0cd + md5: 9e51dfd5da37c1817d2a850188861987 + sha256: ec56734a24eee51e2f89bec3d686dd2c4dbb09d0305248b1d14e4c748065dc23 manager: conda name: aws-c-cal optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.6.9-h3b91eb8_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-cal-0.6.9-h5d48c4d_2.conda version: 0.6.9 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: aee687dcfcc2a75d77b6e6024273978a - sha256: d67e50aff37474eee393346d71c9e4bbb6d190f86722ac932b2837acfea33f76 + md5: c55a1a0c1419fcdfce6d21c41b0f92ab + sha256: ce508018c1109d4e5c6b65695639deaa2beea31edc39145bb810efb13ffed2c3 manager: conda name: aws-c-compression optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.17-hfd9eb17_6.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-compression-0.2.17-h7f92143_7.conda version: 0.2.17 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: af2bccdb4cf6e9254969426fd53c7c65 - sha256: d109677012abbf7e062d2a64c0df55523b056e74e5895650841b49f7f94a48a1 + md5: fe9b3bb0a3961dfb12506d865d818c00 + sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56 manager: conda name: aws-c-sdkutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-hfd9eb17_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda version: 0.1.12 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' hash: - md5: 92077b8c5f72e9b81f069b1eb492ab80 - sha256: fa197cea5d34038066ac743ffa3ae688c057152fff55226ec740c5f68a136282 + md5: 46bd4e9c2fd10de83bae22f0bb71139b + sha256: ac2082211e7d5fd3036f9abd7e398ef67d5327efb3808f17a30fcab59acacbfb manager: conda name: aws-checksums optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.17-hfd9eb17_5.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-checksums-0.1.17-h7f92143_6.conda version: 0.1.17 - category: main dependencies: @@ -1202,20 +1202,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/findutils-4.6.0-h166bdaf_1001.tar.bz2 version: 4.6.0 -- category: main - dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - ncurses: '>=6.4,<7.0a0' - hash: - md5: 182d006cea9203d6023c354005506e7a - sha256: f2a81d08e73e1d40af8d00aaaa0fcb61e8648cf656f112d5c2705a0a1a651c43 - manager: conda - name: firtool - optional: false - platform: linux-64 - url: https://conda.anaconda.org/ucb-bar/linux-64/firtool-1.58.0-0_h1234567_gc1d84a851.conda - version: 1.58.0 - category: main dependencies: libgcc-ng: '>=7.5.0' @@ -1250,17 +1236,17 @@ package: version: 12.3.0 - category: main dependencies: - libgcc-ng: '>=7.5.0' - oniguruma: '>=6.9.3,<6.10.0a0' + libgcc-ng: '>=12' + oniguruma: '>=6.9.9,<6.10.0a0' hash: - md5: 8578ae83310b8c9f5717f1aa65054f36 - sha256: 00e69aec19174e61c70b652bb62c77c0947a27d6720bda0cb8d5be654020804a + md5: c29cbd5ee663325f9bed9a2b2488ef3a + sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8 manager: conda name: jq optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.6-h36c2ea0_1000.tar.bz2 - version: '1.6' + url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda + version: '1.7' - category: main dependencies: libbrotlicommon: 1.1.0 hd590300_1 @@ -1376,27 +1362,27 @@ package: libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 5097789a2bc83e697d7509df57f25bfd - sha256: 911ad483f051d96c9f07ecd8177546763c2da601e26941b434c3a09fa9fcd8f8 + md5: 1a0287ab734591ad63603734f923016b + sha256: 3e0f6454190abb27edd2aeb724688ee440de133edb02cbb17d5609ba36aa8be0 manager: conda name: libprotobuf optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.3-hf27288f_1.conda - version: 4.24.3 + url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.4-hf27288f_0.conda + version: 4.24.4 - category: main dependencies: libgcc-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: b58e6816d137f3aabf77d341dd5d732b - sha256: 74ef5dcb900c38bec53140036e5e2a9cc7ffcd806da479ea2305f962a358a259 + md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf + sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a manager: conda name: libsqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.0-h2797004_0.conda - version: 3.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda + version: 3.44.2 - category: main dependencies: libgcc-ng: '>=12' @@ -1486,16 +1472,16 @@ package: dependencies: bzip2: '>=1.0.8,<2.0a0' libgcc-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' hash: - md5: 69e2c796349cd9b273890bee0febfe1b - sha256: 7a29ec847556eed4faa1646010baae371ced69059a4ade43851367a076d6108a + md5: 679c8961826aa4b50653bce17ee52abe + sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380 manager: conda name: pcre2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2 - version: '10.40' + url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda + version: '10.42' - category: main dependencies: libgcc-ng: '>=12' @@ -1658,18 +1644,18 @@ package: - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' libgcc-ng: '>=12' s2n: '>=1.3.56,<1.3.57.0a0' hash: - md5: 4cabe68190c1ff4c72154c0a7d2e980c - sha256: 89103265c27cb5ad67a0f6b67149532e7addae4b6ddfb704e77f0369f5520591 + md5: d15f4dfeef1d65de9a5283c984981776 + sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d manager: conda name: aws-c-io optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.35-hc23c90e_8.conda - version: 0.13.35 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda + version: 0.13.36 - category: main dependencies: libgcc-ng: '>=12' @@ -1782,17 +1768,17 @@ package: libidn2: '>=2,<3.0a0' libstdcxx-ng: '>=12' libtasn1: '>=4.19.0,<5.0a0' - nettle: '>=3.8.1,<3.9.0a0' + nettle: '>=3.9.1,<3.10.0a0' p11-kit: '>=0.24.1,<0.25.0a0' hash: - md5: cbe8e27140d67c3f30e01cfb642a6e7c - sha256: 4a47e4558395b98fff4c1c44ad358dade62b350a03b5a784d4bc589d6eb7ac9e + md5: 33eded89024f21659b1975886a4acf70 + sha256: 52d824a5d2b8a5566cd469cae6ad6920469b5a15b3e0ddc609dd29151be71be2 manager: conda name: gnutls optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.8-hf3e180e_0.tar.bz2 - version: 3.7.8 + url: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.7.9-hb077bed_0.conda + version: 3.7.9 - category: main dependencies: gcc_impl_linux-64: 12.3.0 he2b93b0_3 @@ -1851,15 +1837,15 @@ package: libiconv: '>=1.17,<2.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' - pcre2: '>=10.40,<10.41.0a0' + pcre2: '>=10.42,<10.43.0a0' hash: - md5: ddd09e8904fde46b85f41896621803e6 - sha256: 44c5f58593b074886436db7d13fdfcba2fe3731867ea52237f049b8400341a2b + md5: 70052d6c1e84643e30ffefb21ab6950f + sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b manager: conda name: libglib optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-hebfc3b9_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda version: 2.78.1 - category: main dependencies: @@ -1883,14 +1869,14 @@ package: libgfortran-ng: '' libgfortran5: '>=12.3.0' hash: - md5: 6e4ef6ca28655124dcde9bd500e44c32 - sha256: c8e080ae4d57506238023e98869928ae93564e6407ef5b0c4d3a337e8c2b7662 + md5: d172b34a443b95f86089e8229ddc9a17 + sha256: 628564517895ee1b09cf72c817548bd80ef1acce6a8214a8520d9f7b44c4cfaf manager: conda name: libopenblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.24-pthreads_h413a1c8_0.conda - version: 0.3.24 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.25-pthreads_h413a1c8_0.conda + version: 0.3.25 - category: main dependencies: lerc: '>=4.0.0,<5.0a0' @@ -1914,20 +1900,20 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libprotobuf: '>=4.24.3,<4.24.4.0a0' + libprotobuf: '>=4.24.4,<4.24.5.0a0' libstdcxx-ng: '>=12' libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.4,<7.0a0' - openssl: '>=3.1.3,<4.0a0' + openssl: '>=3.2.0,<4.0a0' perl: '>=5.32.1,<5.33.0a0 *_perl5' hash: - md5: a362a501d2ea92506a96174ecf6b4b90 - sha256: 059f665865d1a8c1346a026ec4480ebae6edef839d465d90fe9ed6afa8b128c9 + md5: 194cc570b66f8726e92eaa58d141b935 + sha256: 30ac68088afe7568df797549a091556cf55ea28154a3f27cb524005ea4be6086 manager: conda name: mosh optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h4b98680_4.conda + url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h2f1bd5e_5.conda version: 1.4.0 - category: main dependencies: @@ -1990,19 +1976,19 @@ package: - category: main dependencies: libgcc-ng: '>=12' - libsqlite: 3.44.0 h2797004_0 + libsqlite: 3.44.2 h2797004_0 libzlib: '>=1.2.13,<1.3.0a0' ncurses: '>=6.4,<7.0a0' readline: '>=8.2,<9.0a0' hash: - md5: df56c636df4a98990462d66ac7be2330 - sha256: ae7031a471868c7057cc16eded7bb58fa3723d9c1650c9d3eb8de1ff65d89dbb + md5: 4f2892c672829693fd978d065db4e8be + sha256: bae479520fe770fe11996b4c240923ed097f851fbd2401d55540e551c9dbbef7 manager: conda name: sqlite optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.0-h2c6b66d_0.conda - version: 3.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.2-h2c6b66d_0.conda + version: 3.44.2 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -2111,62 +2097,50 @@ package: version: 23.1.0 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' libstdcxx-ng: '>=12' hash: - md5: b4e69f0e7f832dc901bd585f353487f0 - sha256: b7b00593f4cd835780d3a4f61f6f77181b33b8e85cc0f78d9cb48dc1d84e8443 + md5: 21dafb60b5854f82b196f32e5857dec6 + sha256: d2855cd791a95648ac773aa6561c61f9e77450f123c8aa82eea1d66e90d5bfb1 manager: conda name: aws-c-event-stream optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.3.2-hae413d4_6.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-event-stream-0.3.2-h0bcb0bb_8.conda version: 0.3.2 - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-compression: '>=0.2.17,<0.2.18.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' libgcc-ng: '>=12' hash: - md5: e1b49ef8ddc4faca06a63a7e25da644f - sha256: dc4cda9ffef3b5859c5943f010e947e082315e7d84eb1f5e0b3cd58565eaf405 + md5: 0b0f7174a0f94d2c9a02fb24f6fc0d00 + sha256: ff7e6252a299a59b7e6494723ef3043ba31643ec2a750b8593037bc757a2c4fa manager: conda name: aws-c-http optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.7.14-h162056d_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-http-0.7.14-hd268abd_3.conda version: 0.7.14 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: 54ca2e08b3220c148a1d8329c2678e02 - sha256: 711602276ae39276cb0faaca6fd0ac851fff0ca17151917569174841ef830bbd - manager: conda - name: backports - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/backports-1.0-pyhd8ed1ab_3.conda - version: '1.0' - category: main dependencies: libgcc-ng: '>=12' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 hash: - md5: 88243004051d2acbe4391c8477636bfd - sha256: fa39a0ca8e9d7a0748dabea86c3273c0c224b75eec1a4817b523ec6945eeb6c8 + md5: e6792675103087f822f9705a22e4845d + sha256: 070fdd2e887a0b898764bfd6aa603365cf79dda30b1161ae06c607d510920f7d manager: conda name: bcrypt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.0.1-py310hcb5633a_1.conda - version: 4.0.1 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py310hcb5633a_0.conda + version: 4.1.1 - category: main dependencies: python: '>=3.8' @@ -2181,7 +2155,7 @@ package: version: 1.7.0 - category: main dependencies: - python: 2.7.*|>=3.7 + python: ==2.7.*|>=3.7 hash: md5: 033eb25fffd222aceeca6d58cd953680 sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee @@ -2237,14 +2211,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 7f3dbc9179b4dde7da98dfb151d0ad22 - sha256: db66e31866ff4250c190788769e3a8a1709237c3e9c38d7143aae95ab75fcb31 + md5: 2011bcf45376341dd1d690263fdbc789 + sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96 manager: conda name: certifi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.7.22-pyhd8ed1ab_0.conda - version: 2023.7.22 + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda + version: 2023.11.17 - category: main dependencies: python: '>=3.6.1' @@ -2385,14 +2359,14 @@ package: dependencies: python: '>=3.7' hash: - md5: e6518222753f519e911e83136d2158d9 - sha256: c28f715e049fe0f09785660bcbffa175ffb438720e5bc5a60d56d4b08364b315 + md5: f6c211fee3c98229652b60a9a42ef363 + sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08 manager: conda name: exceptiongroup optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.3-pyhd8ed1ab_0.conda - version: 1.1.3 + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda + version: 1.2.0 - category: main dependencies: python: '>=3.7' @@ -2525,14 +2499,14 @@ package: dependencies: python: '>=3.6' hash: - md5: 34272b248891bddccc64479f9a7fffed - sha256: 9887c35c374ec1847f167292d3fde023cb4c994a4ceeec283072b95440131f09 + md5: 1a76f09108576397c41c0b0c5bd84134 + sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07 manager: conda name: idna optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2 - version: '3.4' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda + version: '3.6' - category: main dependencies: python: '>=3.4' @@ -2663,15 +2637,15 @@ package: version: '2.15' - category: main dependencies: - libopenblas: '>=0.3.24,<1.0a0' + libopenblas: '>=0.3.25,<1.0a0' hash: - md5: 420f4e9be59d0dc9133a0f43f7bab3f3 - sha256: b1311b9414559c5760b08a32e0382ca27fa302c967968aa6f78e042519f728ce + md5: 2b7bb4f7562c8cf334fc2e20c2d28abc + sha256: 8a0ee1de693a9b3da4a11b95ec81b40dd434bd01fa1f5f38f8268cd2146bf8f0 manager: conda name: libblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -2821,14 +2795,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 hash: - md5: 03255e1437f31f25ad95bb45c8b398bb - sha256: cf37ee99132533005db95b611377d99f3cf4cb6feed494806d53aa7101768cd4 + md5: dc5263dcaa1347e5a456ead3537be27d + sha256: a5c7612029e3871b0af0bd69e8ee1545d3deb93b5bec29cf1bf72522375fda31 manager: conda name: msgpack-python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.6-py310hd41b1e2_0.conda - version: 1.0.6 + url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py310hd41b1e2_0.conda + version: 1.0.7 - category: main dependencies: libgcc-ng: '>=12' @@ -2998,14 +2972,14 @@ package: dependencies: python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5' hash: - md5: 4b1c0db24e212190be1969b0aa490ad8 - sha256: 259b1107ae7d6983a8fdebe1717b67005fdf5328e827f33d38a9df43dee5ef82 + md5: fb1a800972b072aa4d16450983c81418 + sha256: 8b116da9acbb471e107203c11acaffcb259aca2367aa7e83e796e43ed5d381b3 manager: conda name: pyasn1 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.5.0-pyhd8ed1ab_0.conda - version: 0.5.0 + url: https://conda.anaconda.org/conda-forge/noarch/pyasn1-0.5.1-pyhd8ed1ab_0.conda + version: 0.5.1 - category: main dependencies: libgcc-ng: '>=12' @@ -3022,7 +2996,7 @@ package: version: 0.6.6 - category: main dependencies: - python: 2.7.*|>=3.4 + python: ==2.7.*|>=3.4 hash: md5: 076becd9e05608f8dc72757d5f3a91ff sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc @@ -3036,14 +3010,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 40e5cb18165466773619e5c963f00a7b - sha256: 3f0f0fadc6084960ec8cc00a32a03529c562ffea3b527eb73b1653183daad389 + md5: 140a7f159396547e9799aa98f9f0742e + sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257 manager: conda name: pygments optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.16.1-pyhd8ed1ab_0.conda - version: 2.16.1 + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda + version: 2.17.2 - category: main dependencies: python: '>=3.6' @@ -3184,14 +3158,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 hash: - md5: 559e61c9a0a1b0a905965a60e5243cee - sha256: 7364e531276bdcad8e805685684a542f046b5693cf9cd20fa6804b01bda09200 + md5: 99b553d12fe320478b5b094cc1558f5a + sha256: af3b44e6e9ef8b18292c4854cf07edce6051efce06b75367bf0fc0599ba2cdf7 manager: conda name: rpds-py optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.12.0-py310hcb5633a_0.conda - version: 0.12.0 + url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py310hcb5633a_0.conda + version: 0.13.2 - category: main dependencies: libgcc-ng: '>=12' @@ -3294,14 +3268,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 495ddad84b81dde4ee1138dd59ef5805 - sha256: 2db2564e0332f051f46670fb7c430b53d3d596f102f7d9994e84cf8afae2a12f + md5: 074d0ce7a6261ab8b497c3518796ef3e + sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117 manager: conda name: tomlkit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.2-pyha770c72_0.conda - version: 0.12.2 + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda + version: 0.12.3 - category: main dependencies: python: '>=3.5' @@ -3421,6 +3395,18 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda version: '5.008' +- category: main + dependencies: + python: '>=3.8' + hash: + md5: bf4a1d1a97ca27b0b65bacd9e238b484 + sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7 + manager: conda + name: wcwidth + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda + version: 0.2.12 - category: main dependencies: python: '>=2.6' @@ -3449,14 +3435,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 3fc026b9c87d091c4b34a6c997324ae8 - sha256: 84c3b57fba778add2bd47b7cc70e86f746d2c55549ffd2ccb6f3d6bf7c94d21d + md5: 1cdea58981c5cbc17b51973bcaddcea7 + sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01 manager: conda name: wheel optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.41.3-pyhd8ed1ab_0.conda - version: 0.41.3 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda + version: 0.42.0 - category: main dependencies: libgcc-ng: '>=12' @@ -3570,35 +3556,35 @@ package: - category: main dependencies: aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0' libgcc-ng: '>=12' hash: - md5: 31836ccf72bc70ce2ec38a2ec2c8b504 - sha256: 6f44ef79e2ab5005961847cdefd2a71aa3a33c741adc77e774ac9dbedd9a2f81 + md5: 65d47e98af07d5e361707dda2ce44f3a + sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76 manager: conda name: aws-c-auth optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.6-h37ad1db_0.conda - version: 0.7.6 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda + version: 0.7.8 - category: main dependencies: - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' libgcc-ng: '>=12' hash: - md5: d03181571be036cfbe7accf52256efe7 - sha256: 1df6ad0f5db319090718f5d4575b8829ff5aa5b663c8580e191fa9005e71072d + md5: 0cca0a3d7dc82f219ac46635478952f6 + sha256: 246276b22393302b4e9acb934ec40bb78d3be74e7bd2c110272b46c5370a60ee manager: conda name: aws-c-mqtt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.9.9-h1387108_0.conda - version: 0.9.9 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-mqtt-0.9.10-h35285c7_2.conda + version: 0.9.10 - category: main dependencies: python: '>=3.7' @@ -3613,20 +3599,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda version: 2.13.1 -- category: main - dependencies: - backports: '' - python: '>=3.6' - setuptools: '' - hash: - md5: 6b1b907661838a75d067a22f87996b2e - sha256: 7027bb689dd4ca4a08e3b25805de9d04239be6b31125993558f21f102a9d2700 - manager: conda - name: backports.functools_lru_cache - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/backports.functools_lru_cache-1.6.5-pyhd8ed1ab_0.conda - version: 1.6.5 - category: main dependencies: fontconfig: '>=2.14.2,<3.0a0' @@ -3798,14 +3770,14 @@ package: python_abi: 3.10.* *_cp310 unicodedata2: '>=14.0.0' hash: - md5: 3d1677945147b2d6eb0fef35e98e650f - sha256: 7db0b07b04562531bc27df8a19674b4879ee3efe576d929335e159e2459e5018 + md5: c2dcff257e040bcda00e2a30a9d85333 + sha256: 65239757b26d95fe4d4368a9892d68baad555f3f62b405c3a58309db7747f929 manager: conda name: fonttools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.44.0-py310h2372a71_0.conda - version: 4.44.0 + url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py310h2372a71_0.conda + version: 4.45.1 - category: main dependencies: python: '>=3.7' @@ -3926,15 +3898,15 @@ package: version: '1.9' - category: main dependencies: - libblas: 3.9.0 19_linux64_openblas + libblas: 3.9.0 20_linux64_openblas hash: - md5: d12374af44575413fbbd4a217d46ea33 - sha256: 84fddccaf58f42b07af7fb42512bd617efcb072f17bdef27f4c1884dbd33c86a + md5: 36d486d72ab64ffea932329a1d3729a3 + sha256: 0e34fb0f82262f02fcb279ab4a1db8d50875dc98e3019452f8f387e6bf3c0247 manager: conda name: libcblas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -3962,15 +3934,15 @@ package: version: 2.3.3 - category: main dependencies: - libblas: 3.9.0 19_linux64_openblas + libblas: 3.9.0 20_linux64_openblas hash: - md5: 9f100edf65436e3eabc2a51fc00b2c37 - sha256: 58f402aae605ebd0932e1cbbf855cd49dcdfa2fcb6aab790a4f6068ec5937878 + md5: 6fabc51f5e647d09cc010c40061557e0 + sha256: ad7745b8d0f2ccb9c3ba7aaa7167d62fc9f02e45eb67172ae5f0dfb5a3b1a2cc manager: conda name: liblapack optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-19_linux64_openblas.conda + url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-20_linux64_openblas.conda version: 3.9.0 - category: main dependencies: @@ -3997,14 +3969,14 @@ package: tomli: '>=1.1.0' typing_extensions: '>=4.1.0' hash: - md5: ae6a9aaa6528278cf589741c67fb88ed - sha256: 9414d8d19ac5b51c16f96284cb6a33d9e3b74368099eada8497f975f8f552549 + md5: 0d60b1efdb10a07411570305e9e9421d + sha256: d15de464eb41a105bd381779e6bf8311f72346afc9e7d6a79165d505403d4d54 manager: conda name: mypy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.0-py310h2372a71_0.conda - version: 1.7.0 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py310h2372a71_0.conda + version: 1.7.1 - category: main dependencies: python: 2.7|>=3.7 @@ -4055,6 +4027,32 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda version: 23.3.1 +- category: main + dependencies: + python: '>=3.7' + typing_extensions: '>=4.7.1' + hash: + md5: 6bb4ee32cd435deaeac72776c001e7ac + sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937 + manager: conda + name: platformdirs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda + version: 4.0.0 +- category: main + dependencies: + python: '>=3.7' + wcwidth: '' + hash: + md5: 59ba1bf8ea558751a0d391249a248765 + sha256: 78c2f3c6195ec350d7d6e5fa3e43274ca8191c181c97a867e2920faaeec0e9bc + manager: conda + name: prompt-toolkit + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.38-pyha770c72_0.conda + version: 3.0.38 - category: main dependencies: colorama: '' @@ -4285,14 +4283,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 hash: - md5: 30ae8a8f248b4e7cd2622cff41cb05a7 - sha256: 0a9aeb8cf885ef6dd0a737693823a4e4d27b2ee724fa3af317d8ccd925fa4258 + md5: 10246f66639d9ca55e790410f0dbb465 + sha256: 159e9e292f841477dd1e4c897c055d364472720c79b16fa329faee1e7b878564 manager: conda name: yarl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.2-py310h2372a71_1.conda - version: 1.9.2 + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py310h2372a71_0.conda + version: 1.9.3 - category: main dependencies: python: '>=3.7' @@ -4321,23 +4319,23 @@ package: version: 4.0.3 - category: main dependencies: - aws-c-auth: '>=0.7.6,<0.7.7.0a0' + aws-c-auth: '>=0.7.8,<0.7.9.0a0' aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' - openssl: '>=3.1.4,<4.0a0' + openssl: '>=3.2.0,<4.0a0' hash: - md5: 76eebe9871477c883d04042758493b98 - sha256: a145f456f0a47f8f7482ce6c23f4bfc3b71cb013598d4e1294930dcc8db56c65 + md5: d193ad6b5c2d47c679202afe5b69b371 + sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf manager: conda name: aws-c-s3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.3.23-h7630044_1.conda - version: 0.3.23 + url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda + version: 0.4.3 - category: main dependencies: jmespath: '>=0.7.1,<2.0.0' @@ -4345,14 +4343,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: e6d5b6f6e9920c48eddcc8228d7cfacc - sha256: 74a6d6051bea01f4b68d5bb7397d8805432dbb4e74fa1bc889d05e34e3b9e367 + md5: 352c39ba5cd9ea01996358f0748e102e + sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.31.84-pyhd8ed1ab_0.conda - version: 1.31.84 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: clang-format-16: 16.0.3 default_h1cdf331_2 @@ -4425,18 +4423,18 @@ package: libgcc-ng: '>=12' libiconv: '>=1.17,<2.0a0' libzlib: '>=1.2.13,<1.3.0a0' - openssl: '>=3.1.2,<4.0a0' - pcre2: '>=10.40,<10.41.0a0' + openssl: '>=3.2.0,<4.0a0' + pcre2: '>=10.42,<10.43.0a0' perl: 5.* hash: - md5: 96ad24c67e0056d171385859c43218a2 - sha256: 6f6b3d60da46f53f1e1708a63d6ce5f119e6aba0f5243326b7ecaf3b0cdbc6d4 + md5: 851970792301b407ba4c35e75e796791 + sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765 manager: conda name: git optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.42.0-pl5321h86e50cf_0.conda - version: 2.42.0 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda + version: 2.43.0 - category: main dependencies: gitdb: '>=4.0.1,<5' @@ -4518,14 +4516,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 hash: - md5: ac3b67e928cc71548efad9b522d42fef - sha256: d4671e365c2ed30bf8a376bdc65afcbeeae440ca2091c8712ff8f23678f64973 + md5: d3147cfbf72d6ae7bba10562208f6def + sha256: f5ea7769beb7827f4f5858d28bbdbc814c01649cb8cb81cccbba476ebe3798cd manager: conda name: numpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.0-py310hb13e2d6_0.conda - version: 1.26.0 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py310hb13e2d6_0.conda + version: 1.26.2 - category: main dependencies: pip: '' @@ -4541,17 +4539,16 @@ package: version: 6.0.0 - category: main dependencies: - python: '>=3.7' - typing-extensions: '>=4.6.3' + prompt-toolkit: '>=3.0.38,<3.0.39.0a0' hash: - md5: 8f567c0a74aa44cf732f15773b4083b0 - sha256: b3d809ff5a18ee8514bba8bc05a23b4cdf1758090a18a2cf742af38aed405144 + md5: 45b74f64d8808eda7e6f6e6b1d641fd2 + sha256: c0f24a75d27918eb33f86902aa6024783d128a89eb3a169bcb22f24163a422b3 manager: conda - name: platformdirs + name: prompt_toolkit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.11.0-pyhd8ed1ab_0.conda - version: 3.11.0 + url: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.38-hd8ed1ab_0.conda + version: 3.0.38 - category: main dependencies: libgcc-ng: '>=12' @@ -4559,14 +4556,14 @@ package: python_abi: 3.10.* *_cp310 typing-extensions: '>=4.6.0' hash: - md5: 166a33403c767f760c07ceae7fe2d0f9 - sha256: 3c02b3589dab5ad9cf593d1cf9d380ca21ad552fd8a1d424591b52119da31714 + md5: a47e1b53da51f577ee44e79f7589c388 + sha256: 58ce2738657c5b3c5539465fa54eb499361df836034501c4bf03b1fc0ba9a1b7 manager: conda name: pydantic-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.10.1-py310hcb5633a_0.conda - version: 2.10.1 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py310hcb5633a_0.conda + version: 2.14.5 - category: main dependencies: cffi: '>=1.4.1' @@ -4631,14 +4628,14 @@ package: pip: '' python: '>=3.7,<4.0' hash: - md5: aca8818a70e54b3763d8eb13ea4cfca0 - sha256: b2ebcf97c7db95fd5ca8b1cf6766d4e467fd4c07de0039c134e14f8e4179df91 + md5: 1205762a36a808c0976f959caf389e8e + sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a manager: conda name: types-awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.10-pyhd8ed1ab_0.conda - version: 0.19.10 + url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda + version: 0.19.19 - category: main dependencies: cffi: '' @@ -4657,17 +4654,19 @@ package: version: 1.0.1 - category: main dependencies: - backports.functools_lru_cache: '' - python: '>=3.6' + distlib: <1,>=0.3.7 + filelock: <4,>=3.12.2 + platformdirs: <5,>=3.9.1 + python: '>=3.8' hash: - md5: 8e8280dec091763dfdc29e066de52270 - sha256: 7552f6545ed212b9ae5d023870481fc377c7f18b4854b63160699b95a420c42e + md5: db990278c2c00b268eed778de44f6057 + sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a manager: conda - name: wcwidth + name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.9-pyhd8ed1ab_0.conda - version: 0.2.9 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda + version: 20.24.7 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4704,9 +4703,8 @@ package: - category: main dependencies: aiosignal: '>=1.1.2' - async-timeout: <5.0,>=4.0.0a3 + async-timeout: '>=4.0,<5.0' attrs: '>=17.3.0' - charset-normalizer: '>=2.0,<4.0' frozenlist: '>=1.1.1' libgcc-ng: '>=12' multidict: '>=4.5,<7.0' @@ -4714,14 +4712,14 @@ package: python_abi: 3.10.* *_cp310 yarl: '>=1.0,<2.0' hash: - md5: d265a71480afd9479c9333ba86375d04 - sha256: e32892fd786dc4ba150701ffd0981c8e942fc77e52754f6f1c331392004bd6f1 + md5: f367877549376e985a3df1dc430692ae + sha256: 6a3983f2ee81308ae0716790ae780f63915f47fcd6a1038d3c75a78fcb675f23 manager: conda name: aiohttp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.8.6-py310h2372a71_1.conda - version: 3.8.6 + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.1-py310h2372a71_0.conda + version: 3.9.1 - category: main dependencies: botocore: '>=1.11.3' @@ -4738,28 +4736,28 @@ package: version: 2.12.1 - category: main dependencies: - aws-c-auth: '>=0.7.6,<0.7.7.0a0' + aws-c-auth: '>=0.7.8,<0.7.9.0a0' aws-c-cal: '>=0.6.9,<0.6.10.0a0' - aws-c-common: '>=0.9.8,<0.9.9.0a0' + aws-c-common: '>=0.9.10,<0.9.11.0a0' aws-c-event-stream: '>=0.3.2,<0.3.3.0a0' aws-c-http: '>=0.7.14,<0.7.15.0a0' - aws-c-io: '>=0.13.35,<0.13.36.0a0' - aws-c-mqtt: '>=0.9.9,<0.9.10.0a0' - aws-c-s3: '>=0.3.23,<0.3.24.0a0' + aws-c-io: '>=0.13.36,<0.13.37.0a0' + aws-c-mqtt: '>=0.9.10,<0.9.11.0a0' + aws-c-s3: '>=0.4.3,<0.4.4.0a0' aws-checksums: '>=0.1.17,<0.1.18.0a0' libgcc-ng: '>=12' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* *_cp310 s2n: '>=1.3.56,<1.3.57.0a0' hash: - md5: a0440a8f71220fdcef4105199b3e6660 - sha256: c46284b44e1119aa58be99e4d9c37409d79fd29aac2b00d8b4d8f0873e12d418 + md5: 7fe0965c0d18613708e4b9793c0ac0c4 + sha256: 532660a9498d4c5728b803fb5476f2a327cb81ab832b9bf36fadeb4ed4d1b09f manager: conda name: awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.10-py310h63da47a_2.conda - version: 0.19.10 + url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py310h9381138_0.conda + version: 0.19.18 - category: main dependencies: python: '>=3.6' @@ -4781,14 +4779,14 @@ package: types-awscrt: '' typing_extensions: '>=4.1.0' hash: - md5: 362237c4d50dc1e4465e749d002bec95 - sha256: bb613a1ad8a5722504b7240bba4e8bf4773b07f3acfb9a6235c6120aea19c430 + md5: 3e24267b0fce04a61f7532f3096c45a5 + sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.31.84-pyhd8ed1ab_0.conda - version: 1.31.84 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: msgpack-python: '>=0.5.2' @@ -4884,14 +4882,14 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: fea10604a45e974b110ea15a88913ebc - sha256: a56ec678a4e58d0a450174fd813581e961829def274453e093c9dae836b80cee + md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c + sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546 manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.31-pyhd8ed1ab_0.conda - version: 2.5.31 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda + version: 2.5.32 - category: main dependencies: importlib_metadata: '' @@ -4915,14 +4913,14 @@ package: referencing: '>=0.28.4' rpds-py: '>=0.7.1' hash: - md5: 24d41c2f9cc199d0a180ecf7ef54739c - sha256: 07e5d395d83c4b12a7abe3989fb42abdcd3b1c51cd27549e5eab390bb8c7bf0f + md5: 1116d79def5268414fb0917520b2bbf1 + sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296 manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.19.2-pyhd8ed1ab_0.conda - version: 4.19.2 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda + version: 4.20.0 - category: main dependencies: pathable: '>=0.4.1,<0.5.0' @@ -4931,14 +4929,14 @@ package: referencing: '>=0.28.0,<0.31.0' requests: '>=2.31.0,<3.0.0' hash: - md5: 4faa0a9ec46b2849c87b569799b78e0f - sha256: b6153bdaa0875ef3c30a093a7c45321f4e877558b9cffc6b2221325a652ccdd3 + md5: 397d8d6ea406285f184534976f5bc9ae + sha256: 37d650a156a086a113be9ae917ba9737000be54e8939edd25e8d9f6fdd208bf2 manager: conda name: jsonschema-path optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-path-0.3.1-pyhd8ed1ab_0.conda - version: 0.3.1 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-path-0.3.2-pyhd8ed1ab_0.conda + version: 0.3.2 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -5052,34 +5050,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda version: 3.3.1 -- category: main - dependencies: - python: '>=3.7' - wcwidth: '' - hash: - md5: 59ba1bf8ea558751a0d391249a248765 - sha256: 78c2f3c6195ec350d7d6e5fa3e43274ca8191c181c97a867e2920faaeec0e9bc - manager: conda - name: prompt-toolkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.38-pyha770c72_0.conda - version: 3.0.38 - category: main dependencies: annotated-types: '>=0.4.0' - pydantic-core: 2.10.1 + pydantic-core: 2.14.5 python: '>=3.7' typing-extensions: '>=4.6.1' hash: - md5: aad1d187156725d52e1f8ee7756c20f6 - sha256: dc6330364f92de95a315a19e842a26605d6ca5c7d346e77811d42ad0438e32d8 + md5: 3f908ebfccbfd09946961862d26bb9af + sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de manager: conda name: pydantic optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.4.2-pyhd8ed1ab_1.conda - version: 2.4.2 + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda + version: 2.5.2 - category: main dependencies: cryptography: '>=38.0.0,<41' @@ -5118,27 +5103,27 @@ package: typing_extensions: '' urllib3: '>=1.25.10,<3.0' hash: - md5: 3b9575392a494595648f1abe295bd5a5 - sha256: e38de0da8c9cfff976a0a6bbc98d5da771a79f0a86a88f54b4081b26bfaa88fe + md5: b1b80aaa77d5e83183cd0c9e9025b1fa + sha256: 35a1cc20beca329bfa2b17feeb5ca66a2741bdccf39621dfe386f48206e73d67 manager: conda name: responses optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.0-pyhd8ed1ab_0.conda - version: 0.24.0 + url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.1-pyhd8ed1ab_0.conda + version: 0.24.1 - category: main dependencies: - botocore: '>=1.12.36,<2.0a.0' + botocore: '>=1.33.2,<2.0a.0' python: '>=3.7' hash: - md5: 5fe335cb1420d13a818fe01310af2b80 - sha256: 5ed09d013ad7f2c2f65d1637c04ee19da242ef9bed0d86aa9faae2c48aaa255d + md5: 75e12933f4bf755c9cdd37072bcb6203 + sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79 manager: conda name: s3transfer optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.7.0-pyhd8ed1ab_0.conda - version: 0.7.0 + url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda + version: 0.8.2 - category: main dependencies: attrs: '' @@ -5185,34 +5170,44 @@ package: version: 3.3.1 - category: main dependencies: - distlib: <1,>=0.3.7 - filelock: <4,>=3.12.2 - platformdirs: <4,>=3.9.1 - python: '>=3.8' + awscrt: 0.19.18 + colorama: '>=0.2.5,<0.4.7' + cryptography: '>=3.3.2,<=40.0.2' + distro: '>=1.5.0,<1.9.0' + docutils: '>=0.10,<0.20' + jmespath: '>=0.7.1,<1.1.0' + prompt_toolkit: '>=3.0.24,<3.0.39' + pyopenssl: <23.2 + python: '>=3.10,<3.11.0a0' + python-dateutil: '>=2.1,<3.0.0' + python_abi: 3.10.* *_cp310 + ruamel.yaml: '>=0.15.0,<=0.17.21' + ruamel.yaml.clib: '>=0.2.0,<=0.2.7' + urllib3: '>=1.25.4,<1.27' hash: - md5: fb1fc875719e217ed799a7aae11d3be4 - sha256: 09492f89a22dc17d9b32f2a791deee93d06e99fb312c3d47430fe35343b7fbde + md5: 83b614ffebf970bc4c848a34be1afe2d + sha256: 85b91372b3343c70a52ac76eab1878b0ac41a2446778b2379c725c614a2c41be manager: conda - name: virtualenv + name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.6-pyhd8ed1ab_0.conda - version: 20.24.6 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py310hff52083_0.conda + version: 2.14.4 - category: main dependencies: - botocore: '>=1.31.84,<1.32.0' + botocore: '>=1.33.4,<1.34.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' - s3transfer: '>=0.7.0,<0.8.0' + s3transfer: '>=0.8.2,<0.9.0' hash: - md5: a9bfc60aeab9081481db109399739a0e - sha256: 22a8b32548ea3bff700a5dc2c5d52ea59b3ed2776c557c47ee929c10acf50f5b + md5: 914d59cf685448451de9ac736cb0fb2a + sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda + version: 1.33.4 - category: main dependencies: cachecontrol: 0.13.1 pyhd8ed1ab_0 @@ -5301,14 +5296,14 @@ package: python_abi: 3.10.* *_cp310 secretstorage: '>=3.2' hash: - md5: 8992b7970e6996fef7fbd3e890d8c552 - sha256: 53b008f165b677b492dfb67bd1459329260ba21338858f20dd3ed6c9a70b3ea7 + md5: e710fd8e57356a64cace034413da9cb3 + sha256: 886a764e4bc2cfaabf2ea0a98461fbd526affd99c984a2789770eca43dd17c9b manager: conda name: keyring optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.2.0-py310hff52083_1.conda - version: 24.2.0 + url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py310hff52083_0.conda + version: 24.3.0 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -5346,14 +5341,14 @@ package: python_abi: 3.10.* *_cp310 tk: '>=8.6.13,<8.7.0a0' hash: - md5: e650bd952e5618050ccb088bc0c6dfb4 - sha256: 615197c8b2b816aa1f7874319bd41acb134fcb9cd55e7337563295c8ced0a30e + md5: 3cbbc7d0b54df02c9a006d3de14911d9 + sha256: 078f5f1ece533a03710dd6d644555f1f2f4cbe18f1412d695ffb304e3d8c9381 manager: conda name: matplotlib-base optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.1-py310h62c0568_0.conda - version: 3.8.1 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.2-py310h62c0568_0.conda + version: 3.8.2 - category: main dependencies: msal: '>=0.4.1,<2.0' @@ -5400,18 +5395,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda version: 3.5.0 -- category: main - dependencies: - prompt-toolkit: '>=3.0.38,<3.0.39.0a0' - hash: - md5: 45b74f64d8808eda7e6f6e6b1d641fd2 - sha256: c0f24a75d27918eb33f86902aa6024783d128a89eb3a169bcb22f24163a422b3 - manager: conda - name: prompt_toolkit - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.38-hd8ed1ab_0.conda - version: 3.0.38 - category: main dependencies: __unix: '' @@ -5433,39 +5416,14 @@ package: python: '>=3.7,<4.0' typing-extensions: <5,>=4.4 hash: - md5: af59efdd26e86fac14c2746c66cb706c - sha256: ea26d8d828b4e5c8796db950f8b8e8428c95376a536c541b8f0bf937b17ea8b3 + md5: d9f3ca99e7d10b05ead04edcdcb7e0cb + sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08 manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.79.0-pyhd8ed1ab_0.conda - version: 1.79.0 -- category: main - dependencies: - awscrt: '>=0.16.4,<=0.19.10' - colorama: '>=0.2.5,<0.4.7' - cryptography: '>=3.3.2,<=40.0.2' - distro: '>=1.5.0,<1.9.0' - docutils: '>=0.10,<0.20' - jmespath: '>=0.7.1,<1.1.0' - prompt_toolkit: '>=3.0.24,<3.0.39' - pyopenssl: <23.2 - python: '>=3.10,<3.11.0a0' - python-dateutil: '>=2.1,<3.0.0' - python_abi: 3.10.* *_cp310 - ruamel.yaml: '>=0.15.0,<=0.17.21' - ruamel.yaml.clib: '>=0.2.0,<=0.2.7' - urllib3: '>=1.25.4,<1.27' - hash: - md5: 84165c3fdcbb81cfac32d8e31f9bb212 - sha256: d05fcb2547625bb3262eeb91d8686eb728b179f54020f17dcea0c683161e98ef - manager: conda - name: awscli - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.13.34-py310hff52083_0.conda - version: 2.13.34 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda + version: 1.81.0 - category: main dependencies: azure-core: <2.0.0,>=1.23.0 @@ -5488,14 +5446,14 @@ package: python: '' typing_extensions: '' hash: - md5: ed34395e930881e637ff3972b14a8cb8 - sha256: e03ff2ce7a063f7511bf1f69f23c3f85e692cd0c154929136e44403da69fd758 + md5: 23cf1bb1fb33251d3f0caf4198a90782 + sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda + version: 1.33.5 - category: main dependencies: archspec: '' @@ -5592,28 +5550,28 @@ package: python: '>=3.6' typing-extensions: '' hash: - md5: e4613bd862e1d98d361028fc4c971ff8 - sha256: dffba76e4bc56360fa5657b45d0f976f39cc3f271efc73e4f51041ce195574a3 + md5: 01f46d3078f21041719d2c5fb83200de + sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a manager: conda name: mypy-boto3-s3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.28.55-pyhd8ed1ab_0.conda - version: 1.28.55 + url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda + version: 1.33.2 - category: main dependencies: boto3: '' python: '>=3.6' typing-extensions: '' hash: - md5: 058b95d63b780eaaf07ec142f409f42e - sha256: c744e0354b04aedd724d3046ba34cc931d20e6817c86f5d77e20359d48a5ca44 + md5: 687d78daf8e04f4c5e5cfa92ead666c4 + sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67 manager: conda name: mypy_boto3_ec2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.28.84-pyhd8ed1ab_0.conda - version: 1.28.84 + url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda + version: 1.33.0 - category: main dependencies: importlib_resources: '>=5.8,<7.0' @@ -5647,7 +5605,7 @@ package: version: 0.4.2 - category: main dependencies: - aws-sam-translator: '>=1.77.0' + aws-sam-translator: '>=1.79.0' jschema-to-python: '>=1.2.3,<1.3.dev0' jsonpatch: '' jsonschema: '>=3.0,<5' @@ -5659,14 +5617,14 @@ package: sarif-om: '>=1.0.4,<1.1.dev0' sympy: '>=1.0.0' hash: - md5: bd38b7f9983057b8c28d718dbda22e61 - sha256: 36a7f4c7623eed2f0987ae7b716a3f39caee1a865be30aeb7c46bc0091b29835 + md5: 8fa5ac9497fc51cb02377e38500ce964 + sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4 manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.1-pyhd8ed1ab_0.conda - version: 0.83.1 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda + version: 0.83.3 - category: main dependencies: colorama: '' @@ -5742,14 +5700,14 @@ package: werkzeug: '>=0.5,!=2.2.0,!=2.2.1' xmltodict: '' hash: - md5: 5c83e6282026138d61086e1f6a689349 - sha256: cd1c6f4386002a7bb4a3debdb331c5a8eeaed7d237b806b3ff481a57f3a3726e + md5: cd76850f625a821bd553380913baf5d6 + sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb manager: conda name: moto optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.8-pyhd8ed1ab_0.conda - version: 4.2.8 + url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda + version: 4.2.10 - category: main dependencies: livereload: '>=2.3.0' @@ -5764,19 +5722,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2 version: 2021.3.14 -- category: main - dependencies: - python: '>=2.7' - sphinx: <6 - hash: - md5: 231a6798e540439299666e2eae31751e - sha256: 3b80b31fe1298c04c28285e3c2b1acb019be726acdc76fcd24d0123dc97bee6d - manager: conda - name: sphinx_rtd_theme - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-0.5.2-pyhd8ed1ab_0.tar.bz2 - version: 0.5.2 - category: main dependencies: python: '>=3.9' @@ -5816,6 +5761,34 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda version: 2.0.4 +- category: main + dependencies: + python: '>=2.7' + sphinx: '>=1.8' + hash: + md5: 914897066d5873acfb13e75705276ad1 + sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca + manager: conda + name: sphinxcontrib-jquery + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda + version: '4.1' +- category: main + dependencies: + docutils: <0.21 + python: '>=3.6' + sphinx: '>=5,<8' + sphinxcontrib-jquery: '>=4,<5' + hash: + md5: baf6d9a33df1a789ca55e3b404c7ea28 + sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a + manager: conda + name: sphinx_rtd_theme + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda + version: 2.0.0 - category: main dependencies: python: '>=3.9' @@ -5834,30 +5807,30 @@ package: alabaster: '>=0.7,<0.8' babel: '>=2.9' colorama: '>=0.4.5' - docutils: '>=0.14,<0.20' + docutils: '>=0.18.1,<0.21' imagesize: '>=1.3' importlib-metadata: '>=4.8' jinja2: '>=3.0' packaging: '>=21.0' - pygments: '>=2.12' - python: '>=3.7' - requests: '>=2.5.0' + pygments: '>=2.14' + python: '>=3.9' + requests: '>=2.25.0' snowballstemmer: '>=2.0' sphinxcontrib-applehelp: '' sphinxcontrib-devhelp: '' sphinxcontrib-htmlhelp: '>=2.0.0' sphinxcontrib-jsmath: '' sphinxcontrib-qthelp: '' - sphinxcontrib-serializinghtml: '>=1.1.5' + sphinxcontrib-serializinghtml: '>=1.1.9' hash: - md5: f9e1fcfe235d655900bfeb6aee426472 - sha256: f11fd5fb4ae2c65f41ae86e7408e3ab44844898d928264aa9e89929fffc685c8 + md5: bbfd1120d1824d2d073bc65935f0e4c0 + sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42 manager: conda name: sphinx optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-5.3.0-pyhd8ed1ab_0.tar.bz2 - version: 5.3.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda + version: 7.2.6 - category: main dependencies: python: '>=3.9' @@ -5979,13 +5952,13 @@ package: asttokens: '>=2,<3' typing-extensions: '*' hash: - sha256: f1479ed931cf17f6e27aa36c548e16ecea832919890c4240e76b0c1ff14b664e + sha256: 1ba4e88f909d3a4b97a565e1ea1199e5b050aa4bdad190c69086bfaed9680cc2 manager: pip name: icontract optional: false platform: linux-64 - url: https://files.pythonhosted.org/packages/1f/a6/aed79965cd83f1ec358b2d37d5e5456e0f03ae5b19ebbed76708e976939f/icontract-2.6.5-py3-none-any.whl - version: 2.6.5 + url: https://files.pythonhosted.org/packages/49/6f/92ae156eb6afd94ad4ecd38adadff16c83caa4c6d52bd4503a583cf054ab/icontract-2.6.6-py3-none-any.whl + version: 2.6.6 - category: main dependencies: icontract: '>=2.0.1,<3' From d2b3181e483cce06e4b96c5ad2f1b8ed777c8385 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 16:09:42 -0800 Subject: [PATCH 17/35] Update CI to install circt | Update every day --- .github/actions/create-conda-env/action.yml | 8 ++++++ .github/workflows/update-circt.yml | 8 +++--- scripts/build-setup.sh | 27 +++++++-------------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml index 1c302764..a711e658 100644 --- a/.github/actions/create-conda-env/action.yml +++ b/.github/actions/create-conda-env/action.yml @@ -21,5 +21,13 @@ runs: conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools conda deactivate + + echo "Installing CIRCT to conda area" + $REMOTE_CHIPYARD_DIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + -f circt-full-shared-linux-x64.tar.gz \ + -i $CONDA_PREFIX \ + -v version-file \ + -x ./conda-reqs/circt.json \ + -g null fi shell: bash -leo pipefail {0} diff --git a/.github/workflows/update-circt.yml b/.github/workflows/update-circt.yml index 3487838f..173f1901 100644 --- a/.github/workflows/update-circt.yml +++ b/.github/workflows/update-circt.yml @@ -1,9 +1,9 @@ name: update-circt -# run weekly -on: push -# schedule: -# - cron: 0 0 * * 1 +# run daily +on: + schedule: + - cron: 0 8 * * * defaults: run: diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index c312c155..c2243969 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -153,6 +153,15 @@ if run_step "1"; then conda activate $CYDIR/.conda-env exit_if_last_command_failed + # install circt into conda + $CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + -f circt-full-shared-linux-x64.tar.gz \ + -i $CONDA_PREFIX \ + -v version-file \ + -x $CYDIR/conda-reqs/circt.json \ + -g null + exit_if_last_command_failed + # Conda Setup # Provide a sourceable snippet that can be used in subshells that may not have # inhereted conda functions that would be brought in under a login shell that @@ -172,24 +181,6 @@ END_CONDA_ACTIVATE $CONDA_ACTIVATE_PREAMBLE conda activate $CYDIR/.conda-env source $CYDIR/scripts/fix-open-files.sh" - - # install circt - CIRCT_INSTALL_DIR=$CYDIR/.circt - rm -rf $CIRCT_INSTALL_DIR - $CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ - -f circt-full-shared-linux-x64.tar.gz \ - -i $CIRCT_INSTALL_DIR \ - -x $CYDIR/conda-reqs/circt.json \ - -g null - - replace_content env.sh build-setup-circt "# line auto-generated by $0 -if [ -d "${CIRCT_INSTALL_DIR}/bin" ] && [[ ":$PATH:" != *":${CIRCT_INSTALL_DIR}/bin:"* ]]; then - PATH="${PATH:+"$PATH:"}${CIRCT_INSTALL_DIR}/bin" -fi -if [ -d "${CIRCT_INSTALL_DIR}/lib" ] && [[ ":$LD_LIBRARY_PATH:" != *":${CIRCT_INSTALL_DIR}/lib:"* ]]; then - LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+"$LD_LIBRARY_PATH:"}${CIRCT_INSTALL_DIR}/lib" -fi -" fi if [ -z "$FORCE_FLAG" ]; then From 6d5b506d80da5400a367bc94c0cd6584d7ee9b5b Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 16:10:28 -0800 Subject: [PATCH 18/35] Remove circt specific area --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 78147280..5dd75bec 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ tags *~ .bsp/ .conda-env/ -.circt/ .#* first-clone-setup-fast-log .bloop/ From 543d6834ac1f0b5c0cf310e1e00f09cdfc22c86d Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 17:17:25 -0800 Subject: [PATCH 19/35] Fix path --- .github/actions/create-conda-env/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml index a711e658..02f190e2 100644 --- a/.github/actions/create-conda-env/action.yml +++ b/.github/actions/create-conda-env/action.yml @@ -23,7 +23,7 @@ runs: conda deactivate echo "Installing CIRCT to conda area" - $REMOTE_CHIPYARD_DIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ -v version-file \ From dae66b0d564a4edf23fccdabfb37f1638ed436cf Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 30 Nov 2023 17:30:36 -0800 Subject: [PATCH 20/35] Bump --- .github/actions/create-conda-env/action.yml | 1 + scripts/build-setup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml index 02f190e2..a0637176 100644 --- a/.github/actions/create-conda-env/action.yml +++ b/.github/actions/create-conda-env/action.yml @@ -23,6 +23,7 @@ runs: conda deactivate echo "Installing CIRCT to conda area" + git submodule update --init ./conda-reqs/install-circt ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index c2243969..d3644b26 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -154,6 +154,7 @@ if run_step "1"; then exit_if_last_command_failed # install circt into conda + git submodule update --init $CYDIR/conda-reqs/install-circt && $CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ From dd6cff58a6f1a9a936ccacf38bfc97cc6fe6c73f Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Fri, 1 Dec 2023 10:11:13 -0800 Subject: [PATCH 21/35] Fix CI (proper use of CONDA_PREFIX + GH token) --- .github/actions/create-conda-env/action.yml | 22 ++++++++++++--------- scripts/build-setup.sh | 1 - 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml index a0637176..cc9031e9 100644 --- a/.github/actions/create-conda-env/action.yml +++ b/.github/actions/create-conda-env/action.yml @@ -14,21 +14,25 @@ runs: conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml conda deactivate - echo "Add extra toolchain collateral to RISC-V install area" + echo "Add extra toolchain collateral + CIRCT to RISC-V install area" + git submodule update --init ./conda-reqs/install-circt conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./scripts/build-toolchain-extra.sh riscv-tools -p $CONDA_PREFIX/riscv-tools - conda deactivate - conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools - ./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools - conda deactivate - - echo "Installing CIRCT to conda area" - git submodule update --init ./conda-reqs/install-circt ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ -v version-file \ -x ./conda-reqs/circt.json \ - -g null + -g ${{ github.token }} + conda deactivate + conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools + ./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools + ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + -f circt-full-shared-linux-x64.tar.gz \ + -i $CONDA_PREFIX \ + -v version-file \ + -x ./conda-reqs/circt.json \ + -g ${{ github.token }} + conda deactivate fi shell: bash -leo pipefail {0} diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index d3644b26..763e98b1 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -148,7 +148,6 @@ if run_step "1"; then # use conda-lock to create env conda-lock install --conda $(which conda) -p $CYDIR/.conda-env $LOCKFILE && - source $CYDIR/.conda-env/etc/profile.d/conda.sh && conda activate $CYDIR/.conda-env exit_if_last_command_failed From 10e3192404abfcde911a49021c3a86b9a9f2b98b Mon Sep 17 00:00:00 2001 From: joey0320 Date: Fri, 1 Dec 2023 15:50:14 -0800 Subject: [PATCH 22/35] fix blkdev test --- tests/blkdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/blkdev.c b/tests/blkdev.c index 994a341b..b740617c 100644 --- a/tests/blkdev.c +++ b/tests/blkdev.c @@ -59,8 +59,8 @@ void blkdev_write(unsigned long offset, void *addr, size_t nsectors) #define TEST_NSECTORS 4 #define TEST_SIZE (TEST_NSECTORS * BLKDEV_SECTOR_SIZE / sizeof(int)) -unsigned int test_data[TEST_SIZE]; -unsigned int res_data[TEST_SIZE]; +unsigned int test_data[TEST_SIZE] __attribute__ ((aligned (64))); +unsigned int res_data[TEST_SIZE] __attribute__ ((aligned (64))); int main(void) { From e078fcba49eea6a5bfa61c3587130a07fbce1a05 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Mon, 4 Dec 2023 01:54:59 -0800 Subject: [PATCH 23/35] REFACTOR: rename arty35t explicitly --- fpga/Makefile | 6 +++--- fpga/src/main/scala/arty/HarnessBinders.scala | 8 ++++---- fpga/src/main/scala/arty/TestHarness.scala | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fpga/Makefile b/fpga/Makefile index 3d3caf1c..cfe760f4 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -72,11 +72,11 @@ ifeq ($(SUB_PROJECT),nexysvideo) FPGA_BRAND ?= xilinx endif -ifeq ($(SUB_PROJECT),arty) +ifeq ($(SUB_PROJECT),arty35t) # TODO: Fix with Arty SBT_PROJECT ?= fpga_platforms - MODEL ?= ArtyFPGATestHarness - VLOG_MODEL ?= ArtyFPGATestHarness + MODEL ?= Arty35THarness + VLOG_MODEL ?= Arty35THarness MODEL_PACKAGE ?= chipyard.fpga.arty CONFIG ?= TinyRocketArtyConfig CONFIG_PACKAGE ?= chipyard.fpga.arty diff --git a/fpga/src/main/scala/arty/HarnessBinders.scala b/fpga/src/main/scala/arty/HarnessBinders.scala index 5cef5f80..d2ce5489 100644 --- a/fpga/src/main/scala/arty/HarnessBinders.scala +++ b/fpga/src/main/scala/arty/HarnessBinders.scala @@ -15,19 +15,19 @@ import chipyard.harness.{HarnessBinder} import chipyard.iobinders._ class WithArtyDebugResetHarnessBinder extends HarnessBinder({ - case (th: ArtyFPGATestHarness, port: DebugResetPort) => { + case (th: Arty35THarness, port: DebugResetPort) => { th.dut_ndreset := port.io // Debug module reset } }) class WithArtyJTAGResetHarnessBinder extends HarnessBinder({ - case (th: ArtyFPGATestHarness, port: JTAGResetPort) => { + case (th: Arty35THarness, port: JTAGResetPort) => { port.io := PowerOnResetFPGAOnly(th.clock_32MHz) // JTAG module reset } }) class WithArtyJTAGHarnessBinder extends HarnessBinder({ - case (th: ArtyFPGATestHarness, port: JTAGPort) => { + case (th: Arty35THarness, port: JTAGPort) => { val jtag_wire = Wire(new JTAGIO) jtag_wire.TDO.data := port.io.TDO jtag_wire.TDO.driven := true.B @@ -62,7 +62,7 @@ class WithArtyJTAGHarnessBinder extends HarnessBinder({ }) class WithArtyUARTHarnessBinder extends HarnessBinder({ - case (th: ArtyFPGATestHarness, port: UARTPort) => { + case (th: Arty35THarness, port: UARTPort) => { withClockAndReset(th.clock_32MHz, th.ck_rst) { IOBUF(th.uart_rxd_out, port.io.txd) port.io.rxd := IOBUF(th.uart_txd_in) diff --git a/fpga/src/main/scala/arty/TestHarness.scala b/fpga/src/main/scala/arty/TestHarness.scala index 0a81740a..cdb1d4e4 100644 --- a/fpga/src/main/scala/arty/TestHarness.scala +++ b/fpga/src/main/scala/arty/TestHarness.scala @@ -10,7 +10,7 @@ import sifive.fpgashells.shell.xilinx.artyshell.{ArtyShell} import chipyard.harness.{HasHarnessInstantiators} -class ArtyFPGATestHarness(override implicit val p: Parameters) extends ArtyShell with HasHarnessInstantiators { +class Arty35THarness(override implicit val p: Parameters) extends ArtyShell with HasHarnessInstantiators { // Convert harness resets from Bool to Reset type. val hReset = Wire(Reset()) hReset := ~ck_rst From 00c4992842e35e77bc327d152025298a4d24c6a3 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Mon, 4 Dec 2023 02:43:49 -0800 Subject: [PATCH 24/35] FIX: update github CI --- .github/scripts/defaults.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 5d98ad2b..d4eb7b56 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -34,7 +34,7 @@ grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipya grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar" -grouping["group-fpga"]="arty arty100t nexysvideo vc707 vcu118" +grouping["group-fpga"]="arty35t arty100t nexysvideo vc707 vcu118" # key value store to get the build strings declare -A mapping @@ -79,7 +79,7 @@ mapping["rocketchip-tlsimple"]="SUB_PROJECT=rocketchip CONFIG=TLSimpleUnitTestCo mapping["rocketchip-tlwidth"]="SUB_PROJECT=rocketchip CONFIG=TLWidthUnitTestConfig" mapping["rocketchip-tlxbar"]="SUB_PROJECT=rocketchip CONFIG=TLXbarUnitTestConfig" -mapping["arty"]="SUB_PROJECT=arty verilog" +mapping["arty35t"]="SUB_PROJECT=arty35t verilog" mapping["arty100t"]="SUB_PROJECT=arty100t verilog" mapping["nexysvideo"]="SUB_PROJECT=nexysvideo verilog" mapping["vc707"]="SUB_PROJECT=vc707 verilog" From f3c3ecf1496be7f47baedf415cc2027059c19f23 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 7 Dec 2023 10:55:19 -0800 Subject: [PATCH 25/35] Move install-circt submodule --- .gitmodules | 2 +- {conda-reqs => tools}/install-circt | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {conda-reqs => tools}/install-circt (100%) diff --git a/.gitmodules b/.gitmodules index 3e12c05a..561102fc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -140,5 +140,5 @@ path = generators/rocc-acc-utils url = https://github.com/ucb-bar/rocc-acc-utils [submodule "conda-reqs/install-circt"] - path = conda-reqs/install-circt + path = tools/install-circt url = https://github.com/circt/install-circt/ diff --git a/conda-reqs/install-circt b/tools/install-circt similarity index 100% rename from conda-reqs/install-circt rename to tools/install-circt From 551c096bc931e053ade212bd8cf029922b92d86f Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Thu, 7 Dec 2023 11:00:59 -0800 Subject: [PATCH 26/35] Fix CIRCT installer path | Run CRON every 15m --- .github/actions/create-conda-env/action.yml | 6 +++--- .github/workflows/update-circt.yml | 3 ++- .gitmodules | 2 +- scripts/build-setup.sh | 5 +++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml index cc9031e9..e29a06e9 100644 --- a/.github/actions/create-conda-env/action.yml +++ b/.github/actions/create-conda-env/action.yml @@ -15,10 +15,10 @@ runs: conda deactivate echo "Add extra toolchain collateral + CIRCT to RISC-V install area" - git submodule update --init ./conda-reqs/install-circt + git submodule update --init ./tools/install-circt conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./scripts/build-toolchain-extra.sh riscv-tools -p $CONDA_PREFIX/riscv-tools - ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + ./tools/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ -v version-file \ @@ -27,7 +27,7 @@ runs: conda deactivate conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools - ./conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + ./tools/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ -v version-file \ diff --git a/.github/workflows/update-circt.yml b/.github/workflows/update-circt.yml index 173f1901..2d52a155 100644 --- a/.github/workflows/update-circt.yml +++ b/.github/workflows/update-circt.yml @@ -3,7 +3,8 @@ name: update-circt # run daily on: schedule: - - cron: 0 8 * * * + - cron: 0,15,30,45 * * * * + #- cron: 0 8 * * * defaults: run: diff --git a/.gitmodules b/.gitmodules index 561102fc..db0837ec 100644 --- a/.gitmodules +++ b/.gitmodules @@ -139,6 +139,6 @@ [submodule "generators/rocc-acc-utils"] path = generators/rocc-acc-utils url = https://github.com/ucb-bar/rocc-acc-utils -[submodule "conda-reqs/install-circt"] +[submodule "tools/install-circt"] path = tools/install-circt url = https://github.com/circt/install-circt/ diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh index 763e98b1..9d79735a 100755 --- a/scripts/build-setup.sh +++ b/scripts/build-setup.sh @@ -153,8 +153,8 @@ if run_step "1"; then exit_if_last_command_failed # install circt into conda - git submodule update --init $CYDIR/conda-reqs/install-circt && - $CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \ + git submodule update --init $CYDIR/tools/install-circt && + $CYDIR/tools/install-circt/bin/download-release-or-nightly-circt.sh \ -f circt-full-shared-linux-x64.tar.gz \ -i $CONDA_PREFIX \ -v version-file \ @@ -181,6 +181,7 @@ END_CONDA_ACTIVATE $CONDA_ACTIVATE_PREAMBLE conda activate $CYDIR/.conda-env source $CYDIR/scripts/fix-open-files.sh" + fi if [ -z "$FORCE_FLAG" ]; then From 4937a1aff83c542f57e7798a89f06b47cf6c0eb2 Mon Sep 17 00:00:00 2001 From: bartender Date: Thu, 7 Dec 2023 21:33:27 +0000 Subject: [PATCH 27/35] [cd] Bump CIRCT from firtool-1.58.0 to firtool-1.60.0 This is an automated commit generated by the `circt/update-circt` GitHub Action. (cherry picked from commit 73e8bb2baece8abcb297747993c3b0d7a0cbc557) --- conda-reqs/circt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-reqs/circt.json b/conda-reqs/circt.json index 1109fac4..42d4fa09 100644 --- a/conda-reqs/circt.json +++ b/conda-reqs/circt.json @@ -1,3 +1,3 @@ { - "version": "firtool-1.58.0" + "version": "firtool-1.60.0" } From 088e9ea45a4c9d00555f4a1fe087a5cc11875ad9 Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Wed, 13 Dec 2023 10:07:14 -0800 Subject: [PATCH 28/35] Remove references to ENABLE_YOSYS --- common.mk | 1 - docs/VLSI/Sky130-Commercial-Tutorial.rst | 3 +-- docs/VLSI/Sky130-OpenROAD-Tutorial.rst | 8 +++----- vlsi/example-designs/sky130-openroad-rockettile.yml | 2 -- vlsi/example-designs/sky130-openroad.yml | 2 -- vlsi/tutorial.mk | 3 --- 6 files changed, 4 insertions(+), 15 deletions(-) diff --git a/common.mk b/common.mk index 5e0e2fcd..f525b526 100644 --- a/common.mk +++ b/common.mk @@ -28,7 +28,6 @@ EXTRA_SIM_CXXFLAGS ?= EXTRA_SIM_LDFLAGS ?= EXTRA_SIM_SOURCES ?= EXTRA_SIM_REQS ?= -ENABLE_CUSTOM_FIRRTL_PASS += $(ENABLE_YOSYS_FLOW) ifneq ($(ASPECTS), ) comma = , diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index 70be799e..92e4330c 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -123,8 +123,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e and (2) the mapping of memory instances in the design to SRAM macros; all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory. Note that the files in ``generated-src`` vary for each tool/technology flow. -This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows -(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate +This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows, so these flows should be run in separate chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly. diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index f9bbbffb..0c138d66 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -49,7 +49,7 @@ Prerequisites * OpenROAD flow tools (NOTE: tutorial may break with different tool versions): * **Yosys 0.27+3** (synthesis), install `using conda `__ or `from source `__ - * **OpenROAD v2.0-7070-g0264023b6** (place-and-route), install `using conda `__ (note that GUI is disabled in conda package) or + * **OpenROAD v2.0-7070-g0264023b6** (place-and-route), install `using conda `__ (note that GUI is disabled in conda package) or `from source `__ (git hash: 0264023b6c2a8ae803b8d440478d657387277d93) * **KLayout 0.28.5** (DEF to GDSII conversion, DRC), install `using conda `__ or `from source `__ * **Magic 8.3.376** (DRC), install `using conda `__ or `from source `__ @@ -161,8 +161,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e and (2) the mapping of memory instances in the design to SRAM macros; all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory. Note that the files in ``generated-src`` vary for each tool/technology flow. -This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows -(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate +This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows, so these flows should be run in separate chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly. @@ -175,7 +174,6 @@ 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_YOSYS_FLOW = 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 --------------------- @@ -275,7 +273,7 @@ This is because Magic and Netgen, as of the writing of this tutorial, do not hav so to view the DRC/LVS results for debugging you must launch the tool interactively, then run DRC/LVS checks, which is done by the ``generated-scripts/view_[drc|lvs]`` scripts. This is not the case for KLayout, which does have a loadable database format. -Below is the window you should see when loading the KLayout DRC results interactively. Note that most of these DRC errors are +Below is the window you should see when loading the KLayout DRC results interactively. Note that most of these DRC errors are from special rules relating to Sky130 SRAMs, which have been verified separately. In the future the KLayout tool plugin should blackbox these SRAM macros by default, but this feature does not exist yet. diff --git a/vlsi/example-designs/sky130-openroad-rockettile.yml b/vlsi/example-designs/sky130-openroad-rockettile.yml index c7300f9b..7db35c9b 100644 --- a/vlsi/example-designs/sky130-openroad-rockettile.yml +++ b/vlsi/example-designs/sky130-openroad-rockettile.yml @@ -22,8 +22,6 @@ vlsi.inputs.placement_constraints: bottom: 10 # Place SRAM memory instances - # SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag - # data cache - path: "RocketTile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 diff --git a/vlsi/example-designs/sky130-openroad.yml b/vlsi/example-designs/sky130-openroad.yml index 33f01cad..3b95d982 100644 --- a/vlsi/example-designs/sky130-openroad.yml +++ b/vlsi/example-designs/sky130-openroad.yml @@ -54,8 +54,6 @@ vlsi.inputs.placement_constraints: bottom: 10 # Place SRAM memory instances - # SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag - # data cache - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index 92ba0a98..ddafd80f 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -39,7 +39,4 @@ ifeq ($(tutorial),sky130-openroad) example-designs/sky130-openroad-rockettile.yml, ) VLSI_OBJ_DIR ?= build-sky130-openroad INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) - # Yosys compatibility for CIRCT-generated Verilog, at the expense of elaboration time. - ENABLE_YOSYS_FLOW = 1 endif - From 94b52baad1bfaaf38f6406edad4fb3be1a71161e Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 14 Dec 2023 11:20:02 -0800 Subject: [PATCH 29/35] Add comments on sbus noc-configs --- generators/chipyard/src/main/scala/config/NoCConfigs.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/generators/chipyard/src/main/scala/config/NoCConfigs.scala b/generators/chipyard/src/main/scala/config/NoCConfigs.scala index 166050c7..3e2f5541 100644 --- a/generators/chipyard/src/main/scala/config/NoCConfigs.scala +++ b/generators/chipyard/src/main/scala/config/NoCConfigs.scala @@ -188,6 +188,7 @@ class SharedNoCConfig extends Config( ) // DOC include end: SharedNoCConfig +// This Config implements a simple ring interconnect for the system bus class SbusRingNoCConfig extends Config( new constellation.soc.WithSbusNoC(constellation.protocol.SplitACDxBETLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( @@ -221,6 +222,8 @@ class SbusRingNoCConfig extends Config( new chipyard.config.AbstractConfig ) +// This config integrates a mesh interconnect for the system bus, and divides the system bus +// tilelink messages across two isolated interconnects class SbusMeshNoCConfig extends Config( new constellation.soc.WithSbusNoC(constellation.protocol.SplitACDxBETLNoCParams( constellation.protocol.DiplomaticNetworkNodeMapping( From cfa22d1a51da3732750b96ee41026e084191ddfc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 14 Dec 2023 11:20:56 -0800 Subject: [PATCH 30/35] Bump constellation --- generators/constellation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/constellation b/generators/constellation index 4eb05203..3632183f 160000 --- a/generators/constellation +++ b/generators/constellation @@ -1 +1 @@ -Subproject commit 4eb052037d00606f9642b8341f051a73b3e84aa0 +Subproject commit 3632183fd1171d00c7f78b32c305841d231031b7 From 42622919cd4833a20db2d36d1646a313a34fe966 Mon Sep 17 00:00:00 2001 From: Nayiri Date: Thu, 14 Dec 2023 18:02:32 -0800 Subject: [PATCH 31/35] fixing macro paths for yosys with circt generated verilog [skip ci] --- .../sky130-openroad-rockettile.yml | 19 +++++-------------- vlsi/example-sky130.yml | 5 +++++ vlsi/tutorial.mk | 2 ++ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/vlsi/example-designs/sky130-openroad-rockettile.yml b/vlsi/example-designs/sky130-openroad-rockettile.yml index 7db35c9b..4a6b664c 100644 --- a/vlsi/example-designs/sky130-openroad-rockettile.yml +++ b/vlsi/example-designs/sky130-openroad-rockettile.yml @@ -22,25 +22,16 @@ vlsi.inputs.placement_constraints: bottom: 10 # Place SRAM memory instances - - path: "RocketTile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" + # data cache + - path: "RocketTile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0" type: hardmacro x: 50 y: 50 orientation: r90 - - path: "RocketTile/dcache/data/data_arrays_0_1/data_arrays_0_0_ext/mem_0_0" + - path: "RocketTile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_1_0" type: hardmacro x: 50 - y: 450 - orientation: r90 - - path: "RocketTile/dcache/data/data_arrays_0_2/data_arrays_0_0_ext/mem_0_0" - type: hardmacro - x: 50 - y: 850 - orientation: r90 - - path: "RocketTile/dcache/data/data_arrays_0_3/data_arrays_0_0_ext/mem_0_0" - type: hardmacro - x: 50 - y: 1250 + y: 800 orientation: r90 # tag array @@ -51,7 +42,7 @@ vlsi.inputs.placement_constraints: orientation: r90 # instruction cache - - path: "RocketTile/frontend/icache/data_arrays_0_0/data_arrays_0_0_0_ext/mem_0_0" + - path: "RocketTile/frontend/icache/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 y: 2100 diff --git a/vlsi/example-sky130.yml b/vlsi/example-sky130.yml index 1cd281f7..1e3faf1c 100644 --- a/vlsi/example-sky130.yml +++ b/vlsi/example-sky130.yml @@ -48,6 +48,11 @@ vlsi.inputs.placement_constraints: x: 50 y: 50 orientation: r90 + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_1_0" + type: hardmacro + x: 50 + y: 800 + orientation: r90 # tag array - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0" diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index ddafd80f..5e57455f 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -39,4 +39,6 @@ ifeq ($(tutorial),sky130-openroad) example-designs/sky130-openroad-rockettile.yml, ) VLSI_OBJ_DIR ?= build-sky130-openroad INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS) + # Yosys compatibility for CIRCT-generated Verilog + ENABLE_YOSYS_FLOW = 1 endif From 93d7c511f90708c1f154b089e76f9d8e830cf61f Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 15 Dec 2023 16:10:46 -0800 Subject: [PATCH 32/35] replace-content.py should use python3 explicitly --- scripts/replace-content.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/replace-content.py b/scripts/replace-content.py index 4699ccca..a20acaa8 100755 --- a/scripts/replace-content.py +++ b/scripts/replace-content.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Replace text in a file given a key identifying a block to replace. # If the file doesn't exist, create it. From d1822c04e27aa2b1e5e5629eac4db7a5ce0f3fd2 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 11 Dec 2023 17:06:00 -0800 Subject: [PATCH 33/35] 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 5a499ef7..4d8651be 160000 --- a/toolchains/riscv-tools/riscv-isa-sim +++ b/toolchains/riscv-tools/riscv-isa-sim @@ -1 +1 @@ -Subproject commit 5a499ef718bba2fc323e9771ebd7545c66825ff6 +Subproject commit 4d8651be943ea706eb8dcb3443add2e7ccc117a6 From 6bf915a89c9861cba3fc965f47a58f6d1cb4d796 Mon Sep 17 00:00:00 2001 From: joey0320 Date: Mon, 11 Dec 2023 17:11:45 -0800 Subject: [PATCH 34/35] Add spike-devices as a submodule --- .gitmodules | 3 +++ docs/Software/Spike.rst | 21 ++++++++++++++++ .../src/main/resources/csrc/spiketile.cc | 25 ++++++++++--------- generators/testchipip | 2 +- scripts/build-toolchain-extra.sh | 6 +++++ toolchains/riscv-tools/riscv-spike-devices | 1 + 6 files changed, 45 insertions(+), 13 deletions(-) create mode 160000 toolchains/riscv-tools/riscv-spike-devices diff --git a/.gitmodules b/.gitmodules index db0837ec..e1768873 100644 --- a/.gitmodules +++ b/.gitmodules @@ -142,3 +142,6 @@ [submodule "tools/install-circt"] path = tools/install-circt url = https://github.com/circt/install-circt/ +[submodule "toolchains/riscv-tools/riscv-spike-devices"] + path = toolchains/riscv-tools/riscv-spike-devices + url = https://github.com/ucb-bar/spike-devices.git diff --git a/docs/Software/Spike.rst b/docs/Software/Spike.rst index e9abe0c0..10fa8429 100644 --- a/docs/Software/Spike.rst +++ b/docs/Software/Spike.rst @@ -50,3 +50,24 @@ Spike-as-a-Tile can be configured with custom IPC, commit logging, and other beh * ``+spike-fast-clint``: Enables fast-forwarding through WFI stalls by generating fake timer interrupts * ``+spike-debug``: Enables debug Spike logging * ``+spike-verbose``: Enables Spike commit-log generation + +Adding a new spike device model +------------------------------- + +Spike comes with a few functional device models such as UART, CLINT, and PLIC. +However, you may want to add custom device models into Spike such as a block device. +Example devices are in the ``toolchains/riscv-tools/riscv-spike-devices`` directory. +These devices are compiled as a shared library that can be dynamically linked to Spike. + +To compile these plugins, run ``make`` inside ``toolchains/riscv-tools/riscv-spike-devices``. This will generate a ``libspikedevices.so``. + +To hook up a block device to spike and provide a default image to initialize the block device, run + +.. code-block:: shell + + spike --extlib=libspikedevices.so --device="iceblk,img=" + +. + +The ``--device`` option consists of the device name and arguments. +In the above example ``iceblk`` is the device name and ``img=`` is the argument passed on to the plugin device. diff --git a/generators/chipyard/src/main/resources/csrc/spiketile.cc b/generators/chipyard/src/main/resources/csrc/spiketile.cc index 3b14079b..5483cf6b 100644 --- a/generators/chipyard/src/main/resources/csrc/spiketile.cc +++ b/generators/chipyard/src/main/resources/csrc/spiketile.cc @@ -447,18 +447,6 @@ chipyard_simif_t::chipyard_simif_t(size_t icache_ways, use_stq(false), htif(nullptr), fast_clint(false), - cfg(std::make_pair(0, 0), - nullptr, - isastr, - "MSU", - "vlen:128,elen:64", - false, - endianness_little, - pmpregions, - std::vector(), - std::vector(), - false, - 0), accessed_tofrom_host(false), icache_ways(icache_ways), icache_sets(icache_sets), @@ -470,6 +458,19 @@ chipyard_simif_t::chipyard_simif_t(size_t icache_ways, mmio_inflight(false) { + cfg.initrd_bounds = std::make_pair(0, 0); + cfg.bootargs = nullptr; + cfg.isa = isastr; + cfg.priv = "MSU"; + cfg.varch = "vlen:128,elen:64"; + cfg.misaligned = false; + cfg.endianness = endianness_little; + cfg.pmpregions = pmpregions; + cfg.mem_layout = std::vector(); + cfg.hartids = std::vector(); + cfg.explicit_hartids = false; + cfg.trigger_count = 0; + icache.resize(icache_ways); for (auto &w : icache) { w.resize(icache_sets); diff --git a/generators/testchipip b/generators/testchipip index c4c0774f..7e075b9c 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit c4c0774f5ff7a407dd81e5f0b4289a2fdd9e8d63 +Subproject commit 7e075b9cf63da626234dc22fda45ac9f1e82ffbc diff --git a/scripts/build-toolchain-extra.sh b/scripts/build-toolchain-extra.sh index cc69ae1d..28cc9dfa 100755 --- a/scripts/build-toolchain-extra.sh +++ b/scripts/build-toolchain-extra.sh @@ -125,4 +125,10 @@ cd generators/testchipip/uart_tsi make cp uart_tsi $RISCV/bin +echo '==> Installing spike-devices' +cd $RDIR +git submodule update --init toolchains/riscv-tools/riscv-spike-devices +cd toolchains/riscv-tools/riscv-spike-devices +make install + echo "Extra Toolchain Utilities/Tests Build Complete!" diff --git a/toolchains/riscv-tools/riscv-spike-devices b/toolchains/riscv-tools/riscv-spike-devices new file mode 160000 index 00000000..8b4836db --- /dev/null +++ b/toolchains/riscv-tools/riscv-spike-devices @@ -0,0 +1 @@ +Subproject commit 8b4836db0b5b4ed0a9bab34e7707fe40c7c014be From ba7f3c21c8d106fe19765029d32c273ec124cde2 Mon Sep 17 00:00:00 2001 From: "-T.K.-" Date: Sun, 17 Dec 2023 23:22:49 -0800 Subject: [PATCH 35/35] ADD: bump fpga-shell --- fpga/fpga-shells | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fpga/fpga-shells b/fpga/fpga-shells index 2ce3e6f3..a6cfb6f3 160000 --- a/fpga/fpga-shells +++ b/fpga/fpga-shells @@ -1 +1 @@ -Subproject commit 2ce3e6f3df06d64c858bc1073ba1c75e7eb71a07 +Subproject commit a6cfb6f36378de7b0fd760d79f5518af7d2bba66