diff --git a/flake.lock b/flake.lock index 1779ecd60..db2f93b78 100644 --- a/flake.lock +++ b/flake.lock @@ -36,11 +36,11 @@ }, "nixpkgs-for-circt": { "locked": { - "lastModified": 1710817074, - "narHash": "sha256-LeYqqFOre7AoHgGtAV6/7OSdaqu3S3sOFZtfsEQoA+o=", + "lastModified": 1713454724, + "narHash": "sha256-0Htjy5e/ELoFH9/r20/9MsGHLD9adqsPMF5ns8B0m74=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "afa65506cb0b4bed7191223bc693e6779c690a5b", + "rev": "bc279bbacf1f11a48e1f9cdf32228f27e28f0291", "type": "github" }, "original": { diff --git a/nix/overlay.nix b/nix/overlay.nix index 3664e9847..0ad89724d 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -14,7 +14,20 @@ in # Override "nixpkgs" circt with "nixpkgs-for-circt". # To update the "nixpkgs-for-circt" input, run `nix flake lock --update-input nixpkgs-for-circt`. - circt = self.inputs.nixpkgs-for-circt.legacyPackages."${final.system}".circt; + circt = self.inputs.nixpkgs-for-circt.legacyPackages."${final.system}".circt.overrideAttrs (old: rec { + version = "1.73.0"; + src = final.fetchFromGitHub { + owner = "llvm"; + repo = "circt"; + rev = "firtool-${version}"; + sha256 = "sha256-C50PiToXrKf94Vg1yv++3xVhIuCW/KVPs0yLv5Fg0dY="; + fetchSubmodules = true; + }; + preConfigure = '' + find ./test -name '*.mlir' -exec sed -i 's|/usr/bin/env|${final.coreutils}/bin/env|g' {} \; + substituteInPlace cmake/modules/GenVersionFile.cmake --replace "unknown git version" "nightly" + ''; + }); espresso = final.callPackage ./pkgs/espresso.nix { }; dramsim3 = final.callPackage ./pkgs/dramsim3.nix { }; libspike = final.callPackage ./pkgs/libspike.nix { }; diff --git a/nix/t1/_sources/generated.json b/nix/t1/_sources/generated.json index 95fa4c438..d42af9732 100644 --- a/nix/t1/_sources/generated.json +++ b/nix/t1/_sources/generated.json @@ -61,7 +61,7 @@ }, "chisel": { "cargoLocks": null, - "date": "2024-03-27", + "date": "2024-04-20", "extract": null, "name": "chisel", "passthru": null, @@ -73,11 +73,11 @@ "name": null, "owner": "chipsalliance", "repo": "chisel", - "rev": "9177535ff1be47ffd99034bf0154c0f1ec637419", - "sha256": "sha256-smqNuOnmz+MeVGyS7mdIzegniQ/6EJH4CFqK4JntvrI=", + "rev": "30ee35d7a4c3fd3d86b22a53ab60d6025a75c98e", + "sha256": "sha256-OXvENkPlkXvjDPsNNoBNSRSLVHNrHlm6+EqHqGyDRuQ=", "type": "github" }, - "version": "9177535ff1be47ffd99034bf0154c0f1ec637419" + "version": "30ee35d7a4c3fd3d86b22a53ab60d6025a75c98e" }, "diplomacy": { "cargoLocks": null, diff --git a/nix/t1/_sources/generated.nix b/nix/t1/_sources/generated.nix index c8f7bebc9..f27d64b44 100644 --- a/nix/t1/_sources/generated.nix +++ b/nix/t1/_sources/generated.nix @@ -39,15 +39,15 @@ }; chisel = { pname = "chisel"; - version = "9177535ff1be47ffd99034bf0154c0f1ec637419"; + version = "30ee35d7a4c3fd3d86b22a53ab60d6025a75c98e"; src = fetchFromGitHub { owner = "chipsalliance"; repo = "chisel"; - rev = "9177535ff1be47ffd99034bf0154c0f1ec637419"; + rev = "30ee35d7a4c3fd3d86b22a53ab60d6025a75c98e"; fetchSubmodules = false; - sha256 = "sha256-smqNuOnmz+MeVGyS7mdIzegniQ/6EJH4CFqK4JntvrI="; + sha256 = "sha256-OXvENkPlkXvjDPsNNoBNSRSLVHNrHlm6+EqHqGyDRuQ="; }; - date = "2024-03-27"; + date = "2024-04-20"; }; diplomacy = { pname = "diplomacy"; diff --git a/nix/t1/nvfetcher.toml b/nix/t1/nvfetcher.toml index f55d0a694..e0578b769 100644 --- a/nix/t1/nvfetcher.toml +++ b/nix/t1/nvfetcher.toml @@ -35,7 +35,7 @@ fetch.github = "chipsalliance/rocket-chip-inclusive-cache" [chisel] src.git = "https://github.com/chipsalliance/chisel" -src.branch = "main" +src.branch = "instantiate-class" fetch.github = "chipsalliance/chisel" [rvdecoderdb] diff --git a/nix/t1/t1.nix b/nix/t1/t1.nix index 5b1d7e069..96293f3ca 100644 --- a/nix/t1/t1.nix +++ b/nix/t1/t1.nix @@ -42,7 +42,7 @@ let ./../../common.sc ]; }; - millDepsHash = "sha256-Ri0aB4SxBdwuNOnBvvsTwVdAnvtiKIW5EMrulDX4sVo="; + millDepsHash = "sha256-rkS/bTDnjnyzdQyTIhfLj3e0mMdDn4fzv/660rO3qYg="; nativeBuildInputs = [ submodules.setupHook ]; }; diff --git a/t1/src/package.scala b/t1/src/package.scala index 4ed30b20d..292d5db53 100644 --- a/t1/src/package.scala +++ b/t1/src/package.scala @@ -217,8 +217,7 @@ package object rtl { // 处理vfu val vfuResponse: Seq[ValidIO[VFUResponseToSlot]] = parameter.genVec.zipWithIndex.map { case ((gen, slotVec), vfuIndex) => // vfu 模块 - // TODO: SerializableModuleGenerator should support D/I - val vfu: VFUModule = Module(gen.module()) + val vfu: Instance[VFUModule] = gen.instance() vfu.suggestName(gen.parameter.decodeField.name) // vfu request distributor val distributor: Option[Instance[Distributor[SlotRequestToVFU, VFUResponseToSlot]]] = Option.when(gen.parameter.NeedSplit)(