Problem Building bitstream Image for Nexsys4DDR
by Mark Corbin
Hello
I have been trying to build a bitstream image for a Nexsys4DDR board,
but it fails with a 'project load' problem.
I can download the pre-built ethernet-v0.5 images and boot the board
without any problems.
Any ideas would be much appreciated.
Thanks
Mark
--
cd /home/mark/lowrisc-chip && mkdir -p
/home/mark/lowrisc-chip/fpga/board/nexys4_ddr/generated-src && java
-Xmx2048M -Xss8M -XX:MaxPermSize=256M -jar sbt-launch.jar "run
lowrisc_chip Top lowrisc_chip Nexys4Config --W0W --minimumCompatibility
3.0.0 --backend lowrisc_chip.LowRISCBackend --configName Nexys4Config
--compileInitializationUnoptimized --targetDir
/home/mark/lowrisc-chip/fpga/board/nexys4_ddr/generated-src --configDump
--noInlineMem"
OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support
was removed in 8.0
[info] Loading project definition from /home/mark/lowrisc-chip/project
java.lang.NullPointerException
at
java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1769)
at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
at java.base/java.util.regex.Pattern.matcher(Pattern.java:1130)
at java.base/java.util.regex.Pattern.split(Pattern.java:1249)
at java.base/java.util.regex.Pattern.split(Pattern.java:1322)
at sbt.IO$.pathSplit(IO.scala:744)
at sbt.IO$.parseClasspath(IO.scala:859)
at
sbt.compiler.CompilerArguments.extClasspath(CompilerArguments.scala:62)
at
sbt.compiler.MixedAnalyzingCompiler$.withBootclasspath(MixedAnalyzingCompiler.scala:189)
at
sbt.compiler.MixedAnalyzingCompiler$.searchClasspathAndLookup(MixedAnalyzingCompiler.scala:167)
at
sbt.compiler.MixedAnalyzingCompiler$.apply(MixedAnalyzingCompiler.scala:177)
at
sbt.compiler.IC$.incrementalCompile(IncrementalCompiler.scala:138)
at sbt.Compiler$.compile(Compiler.scala:128)
at sbt.Compiler$.compile(Compiler.scala:114)
at
sbt.Defaults$.sbt$Defaults$$compileIncrementalTaskImpl(Defaults.scala:814)
at
sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:805)
at
sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:803)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at
sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at
sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at
sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:235)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at
sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)
[error] (compile:compileIncremental) java.lang.NullPointerException
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
--
Mark Corbin
Embecosm Ltd.
https://www.embecosm.com
5 years, 1 month
pinmux / autogenerator
by Luke Kenneth Casson Leighton
Hi Dr Kimmet, hi Alex,
Ok so thank you for responding positively about the pinmux / fabric
generator, and for sparking the clarification about BSV.
I thought there are two approaches, one write a BSV to MYHDL language
translator, no checks, no formal verification, just straight translation.
Second was , start again. Start at base which is muxer, then go up to
peripherals and fabric. For that I need a working project as its no good
cutting up a project that isnt 100% verified working, a bug you then dont
kniw if the tool is the bug or the project is the bug.
So my feeling is, best libre project to start from, with the most
peripherals, is lowrisc v0.5. What do you think? It has uart sdmmc rgmii
spi quadspi led button i mean thats really quite a lot to be getting on
with.
I will need guidance as i am not an HDL programmer, i can easily use
pattern matching reverse engineering skills to cut up the hand generated
code into fragments, but if the code doesnt already exist and compiles to
synthesisable gates i am really struggling.
The upside is, once the autogenerator understands the peripherals you never
have to hand-write a fabric interconnect ever again. Saves literally weeks
if not months of effort in creating a new chip.
L.
--
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
5 years, 1 month