sifive / freedom

Source files for SiFive's Freedom platforms
Apache License 2.0
1.11k stars 284 forks source link

how to modify DefaultFreedomEConfig? #150

Open zhangliang1997 opened 4 years ago

zhangliang1997 commented 4 years ago

Hi freedom team :) I want to modify DefaultFreedomEConfig because i need fpu, the default config doesn't has fpu. This is a default config:

class DefaultFreedomEConfig extends Config ( new WithNBreakpoints(2) ++ new WithNExtTopInterrupts(0) ++ new WithJtagDTM ++ new WithL1ICacheWays(2) ++ new WithL1ICacheSets(128) ++ new WithDefaultBtb ++ new TinyConfig //no fpu )

This is a config modified by myself:

class DefaultFreedomEConfig extends Config ( new WithNBreakpoints(2) ++ new WithNExtTopInterrupts(0) ++ new WithJtagDTM ++ new WithL1ICacheWays(2) ++ new WithL1ICacheSets(128) ++ new WithDefaultBtb ++ new DefaultConfig //with fpu )

I just replace TinyConfig with DefaultConfig. (the two configs located in /freedom/rocket-chip/src/main/scala/system/Configs.scala) But when i run ' make -f Makefile.e300artydevkit verilog', there are some errors:

asc@ubuntu:~/freedom$ make -f Makefile.e300artydevkit verilog mkdir -p /home/asc/freedom/builds/e300artydevkit/ java -jar /home/asc/freedom/rocket-chip/sbt-launch.jar ++2.12.4 "runMain freechips.rocketchip.system.Generator /home/asc/freedom/builds/e300artydevkit sifive.freedom.everywhere.e300artydevkit E300ArtyDevKitFPGAChip sifive.freedom.everywhere.e300artydevkit E300ArtyDevKitConfig" [info] Loading global plugins from /home/asc/.sbt/1.0/plugins [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [info] Loading project definition from /home/asc/freedom/project [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [info] Loading settings for project freedomPlatforms from build.sbt ... [info] Loading settings for project rocket-chip-build from plugins.sbt ... [info] Loading project definition from /home/asc/freedom/rocket-chip/project [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [info] Loading settings for project rocketchip from build.sbt ... [info] Loading settings for project hardfloat from build.sbt ... [info] Loading settings for project chisel from build.sbt ... Using addons: [info] Set current project to freedom (in build file:/home/asc/freedom/) [info] Setting Scala version to 2.12.4 on 10 projects. [info] Reapplying settings... Using addons: [info] Set current project to freedom (in build file:/home/asc/freedom/) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'http://download.eclipse.org/jgit/maven'; switch to HTTPS or opt-in as ("jgit-repo" at "http://download.eclipse.org/jgit/maven").withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/ivy-releases/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("typesafe-ivy-releases", url(...)).withAllowInsecureProtocol(true) [warn] Multiple main classes detected. Run 'show discoveredMainClasses' to see the list [info] running freechips.rocketchip.system.Generator /home/asc/freedom/builds/e300artydevkit sifive.freedom.everywhere.e300artydevkit E300ArtyDevKitFPGAChip sifive.freedom.everywhere.e300artydevkit E300ArtyDevKitConfig **[info] [0.004] Elaborating design... [error] (run-main-0) java.lang.reflect.InvocationTargetException [error] java.lang.reflect.InvocationTargetException [error] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [error] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [error] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [error] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [error] at freechips.rocketchip.util.HasGeneratorUtilities.$anonfun$elaborate$1(GeneratorUtils.scala:52) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at chisel3.Driver$.$anonfun$elaborate$1(Driver.scala:93) [error] at chisel3.internal.Builder$.$anonfun$build$1(Builder.scala:298) [error] at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58) [error] at chisel3.internal.Builder$.build(Builder.scala:296) [error] at chisel3.Driver$.elaborate(Driver.scala:93) [error] at freechips.rocketchip.util.HasGeneratorUtilities.elaborate(GeneratorUtils.scala:57) [error] at freechips.rocketchip.util.HasGeneratorUtilities.elaborate$(GeneratorUtils.scala:48) [error] at freechips.rocketchip.system.Generator$.elaborate(Generator.scala:12) [error] at freechips.rocketchip.util.GeneratorApp.circuit(GeneratorUtils.scala:94) [error] at freechips.rocketchip.util.GeneratorApp.circuit$(GeneratorUtils.scala:94) [error] at freechips.rocketchip.system.Generator$.circuit$lzycompute(Generator.scala:12) [error] at freechips.rocketchip.system.Generator$.circuit(Generator.scala:12) [error] at freechips.rocketchip.util.GeneratorApp.generateFirrtl(GeneratorUtils.scala:100) [error] at freechips.rocketchip.util.GeneratorApp.generateFirrtl$(GeneratorUtils.scala:99) [error] at freechips.rocketchip.system.Generator$.generateFirrtl(Generator.scala:12) [error] at freechips.rocketchip.system.Generator$.delayedEndpoint$freechips$rocketchip$system$Generator$1(Generator.scala:88) [error] at freechips.rocketchip.system.Generator$delayedInit$body.apply(Generator.scala:12) [error] at scala.Function0.apply$mcV$sp(Function0.scala:34) [error] at scala.Function0.apply$mcV$sp$(Function0.scala:34) [error] at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) [error] at scala.App.$anonfun$main$1$adapted(App.scala:76) [error] at scala.collection.immutable.List.foreach(List.scala:389) [error] at scala.App.main(App.scala:76) [error] at scala.App.main$(App.scala:74) [error] at freechips.rocketchip.system.Generator$.main(Generator.scala:12) [error] at freechips.rocketchip.system.Generator.main(Generator.scala) [error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] at java.lang.reflect.Method.invoke(Method.java:498) [error] Caused by: java.lang.IllegalArgumentException: requirement failed: memory_bus_xbar.node (A nexus node with parent memory_bus_xbar inside mbus) has 1 required inputs and no possible outputs [error] at scala.Predef$.require(Predef.scala:277) [error] at freechips.rocketchip.diplomacy.MixedNexusNode.resolveStar(Nodes.scala:481) [error] at freechips.rocketchip.diplomacy.MixedNode.liftedTree1$1(Nodes.scala:270) [error] at freechips.rocketchip.diplomacy.MixedNode.x$26$lzycompute(Nodes.scala:255) [error] at freechips.rocketchip.diplomacy.MixedNode.x$26(Nodes.scala:254) [error] at freechips.rocketchip.diplomacy.MixedNode.iPortMapping$lzycompute(Nodes.scala:254) [error] at freechips.rocketchip.diplomacy.MixedNode.iPortMapping(Nodes.scala:254) [error] at freechips.rocketchip.diplomacy.MixedNode.iPortMapping(Nodes.scala:220) [error] at freechips.rocketchip.diplomacy.MixedNode.$anonfun$oPorts$1(Nodes.scala:290) [error] at scala.collection.immutable.List.flatMap(List.scala:335) [error] at freechips.rocketchip.diplomacy.MixedNode.oPorts$lzycompute(Nodes.scala:289) [error] at freechips.rocketchip.diplomacy.MixedNode.oPorts(Nodes.scala:289) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams$lzycompute(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.liftedTree3$1(Nodes.scala:318) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams$lzycompute(Nodes.scala:315) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams(Nodes.scala:314) [error] at freechips.rocketchip.diplomacy.MixedNode.$anonfun$uoParams$1(Nodes.scala:313) [error] at scala.collection.immutable.List.map(List.scala:283) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams$lzycompute(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.liftedTree3$1(Nodes.scala:318) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams$lzycompute(Nodes.scala:315) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams(Nodes.scala:314) [error] at freechips.rocketchip.diplomacy.MixedNode.$anonfun$uoParams$1(Nodes.scala:313) [error] at scala.collection.immutable.List.map(List.scala:283) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams$lzycompute(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.liftedTree3$1(Nodes.scala:318) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams$lzycompute(Nodes.scala:315) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams(Nodes.scala:314) [error] at freechips.rocketchip.diplomacy.MixedNode.$anonfun$uoParams$1(Nodes.scala:313) [error] at scala.collection.immutable.List.map(List.scala:287) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams$lzycompute(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.uoParams(Nodes.scala:313) [error] at freechips.rocketchip.diplomacy.MixedNode.liftedTree3$1(Nodes.scala:318) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams$lzycompute(Nodes.scala:315) [error] at freechips.rocketchip.diplomacy.MixedNode.uiParams(Nodes.scala:314) [error] at freechips.rocketchip.diplomacy.MixedNode.edgesIn$lzycompute(Nodes.scala:327) [error] at freechips.rocketchip.diplomacy.MixedNode.edgesIn(Nodes.scala:327) [error] at freechips.rocketchip.diplomacy.MixedNode.bundleIn$lzycompute(Nodes.scala:333) [error] at freechips.rocketchip.diplomacy.MixedNode.bundleIn(Nodes.scala:333) [error] at freechips.rocketchip.diplomacy.MixedNode.in(Nodes.scala:360) [error] at freechips.rocketchip.diplomacy.MixedNode.instantiate(Nodes.scala:368) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.$anonfun$instantiate$3(LazyModule.scala:162) [error] at scala.collection.immutable.List.flatMap(List.scala:335) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate(LazyModule.scala:162) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate$(LazyModule.scala:155) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.instantiate(LazyModule.scala:185) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.(LazyModule.scala:186) [error] at freechips.rocketchip.tilelink.TLXbar$$anon$3.(Xbar.scala:60) [error] at freechips.rocketchip.tilelink.TLXbar.module$lzycompute(Xbar.scala:60) [error] at freechips.rocketchip.tilelink.TLXbar.module(Xbar.scala:60) [error] at freechips.rocketchip.tilelink.TLXbar.module(Xbar.scala:31) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.$anonfun$instantiate$2(LazyModule.scala:158) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.$anonfun$instantiate$1(LazyModule.scala:158) [error] at scala.collection.immutable.List.flatMap(List.scala:335) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate(LazyModule.scala:156) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate$(LazyModule.scala:155) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.instantiate(LazyModule.scala:185) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.(LazyModule.scala:186) [error] at freechips.rocketchip.diplomacy.SimpleLazyModule.module$lzycompute(LazyModule.scala:204) [error] at freechips.rocketchip.diplomacy.SimpleLazyModule.module(LazyModule.scala:204) [error] at freechips.rocketchip.diplomacy.SimpleLazyModule.module(LazyModule.scala:202) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.$anonfun$instantiate$2(LazyModule.scala:158) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.$anonfun$instantiate$1(LazyModule.scala:158) [error] at scala.collection.immutable.List.flatMap(List.scala:335) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate(LazyModule.scala:156) [error] at freechips.rocketchip.diplomacy.LazyModuleImpLike.instantiate$(LazyModule.scala:155) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.instantiate(LazyModule.scala:185) [error] at freechips.rocketchip.diplomacy.LazyModuleImp.(LazyModule.scala:186) [error] at freechips.rocketchip.subsystem.BareSubsystemModuleImp.(BaseSubsystem.scala:20) [error] at freechips.rocketchip.subsystem.BaseSubsystemModuleImp.(BaseSubsystem.scala:94) [error] at freechips.rocketchip.subsystem.RocketSubsystemModuleImp.(RocketSubsystem.scala:69) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitSystemModule.(System.scala:38) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitSystem.module$lzycompute(System.scala:34) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitSystem.module(System.scala:34) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitPlatform.$anonfun$sys$1(Platform.scala:54) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitPlatform.(Platform.scala:54) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitFPGAChip.$anonfun$new$5(FPGAChip.scala:41) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitFPGAChip.$anonfun$new$4(FPGAChip.scala:41) [error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) [error] at chisel3.core.withClockAndReset$.apply(MultiClock.scala:26) [error] at sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitFPGAChip.(FPGAChip.scala:40) [error] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [error] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [error] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [error] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [error] at freechips.rocketchip.util.HasGeneratorUtilities.$anonfun$elaborate$1(GeneratorUtils.scala:52) [error] at chisel3.core.Module$.do_apply(Module.scala:49) [error] at chisel3.Driver$.$anonfun$elaborate$1(Driver.scala:93) [error] at chisel3.internal.Builder$.$anonfun$build$1(Builder.scala:298) [error] at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58) [error] at chisel3.internal.Builder$.build(Builder.scala:296) [error] at chisel3.Driver$.elaborate(Driver.scala:93) [error] at freechips.rocketchip.util.HasGeneratorUtilities.elaborate(GeneratorUtils.scala:57) [error] at freechips.rocketchip.util.HasGeneratorUtilities.elaborate$(GeneratorUtils.scala:48) [error] at freechips.rocketchip.system.Generator$.elaborate(Generator.scala:12) [error] at freechips.rocketchip.util.GeneratorApp.circuit(GeneratorUtils.scala:94) [error] at freechips.rocketchip.util.GeneratorApp.circuit$(GeneratorUtils.scala:94) [error] at freechips.rocketchip.system.Generator$.circuit$lzycompute(Generator.scala:12) [error] at freechips.rocketchip.system.Generator$.circuit(Generator.scala:12) [error] at freechips.rocketchip.util.GeneratorApp.generateFirrtl(GeneratorUtils.scala:100) [error] at freechips.rocketchip.util.GeneratorApp.generateFirrtl$(GeneratorUtils.scala:99) [error] at freechips.rocketchip.system.Generator$.generateFirrtl(Generator.scala:12) [error] at freechips.rocketchip.system.Generator$.delayedEndpoint$freechips$rocketchip$system$Generator$1(Generator.scala:88) [error] at freechips.rocketchip.system.Generator$delayedInit$body.apply(Generator.scala:12) [error] at scala.Function0.apply$mcV$sp(Function0.scala:34) [error] at scala.Function0.apply$mcV$sp$(Function0.scala:34) [error] at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) [error] at scala.App.$anonfun$main$1$adapted(App.scala:76) [error] at scala.collection.immutable.List.foreach(List.scala:389) [error] at scala.App.main(App.scala:76) [error] at scala.App.main$(App.scala:74) [error] at freechips.rocketchip.system.Generator$.main(Generator.scala:12) [error] at freechips.rocketchip.system.Generator.main(Generator.scala) [error] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [error] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [error] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [error] at java.lang.reflect.Method.invoke(Method.java:498) [error] stack trace is suppressed; run last Compile / bgRunMain for the full output [error] Nonzero exit code: 1 [error] (Compile / runMain) Nonzero exit code: 1 [error] Total time: 4 s, completed Apr 10, 2020 8:09:27 PM** common.mk:48: recipe for target '/home/asc/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.fir' failed make: *** [/home/asc/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.fir] Error 1

Can anyone help me? thanks :)

erikdanie commented 4 years ago

Hello,

It seems like the issue here is that when you swapped in DefaultConfig, it included a memory bus that didn't exist before. This is now causing errors because the memory bus is not driving anything. You can see that from this line in the error:

Caused by: java.lang.IllegalArgumentException: requirement failed: memory_bus_xbar.node (A nexus node with parent memory_bus_xbar inside mbus) has 1 required inputs and no possible outputs

This is because you are switching from the TinyConfig, which had WithNoMemPort to the one that has WithDefaultMemPort (https://github.com/chipsalliance/rocket-chip/blob/3c128ba935dba534b7d95729425f907dc675b984/src/main/scala/system/Configs.scala#L16)

I recommend that you try to substitute that line in your local checkout, though you may get more issues, since this config is not really supported with the subsystem that you are matching it with.