Giter VIP home page Giter VIP logo

block-pio-sifive's People

Contributors

albertchen-sifive avatar dewnull avatar drom avatar hcook avatar jackkoenig avatar john-sifive avatar leytonho avatar mwachs5 avatar richardxia avatar sistillson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

block-pio-sifive's Issues

Query: Significance of "baseAddress" while describing memory map.

I am not sure what's the significance of baseAddress defined in pio.json5.

Going through the scripts of duh-export-scala, I realize baseAddress has no role to play. The scala generated as a result don't have the mention of any baseAddress for the memory map.

However, the duh-export-regmap makes use of baseAddress and it reflects in the output of this script.

My query is twofold:

  1. Is there any significance of baseAddress when I define my register map. If yes, where do I see the difference baseAddress makes? If no, at what memory location does the registers rest?

  2. What is the use case of duh-export-regmap. Is it a must in order to access and configure registers using let's say apb bus ?

'wake runSimWith pioDUT Verilator' fails. Two functions in freedom-metal/watchdog.c are undeclared.

The build exits with following error:

src/watchdog.c: In function 'metal_watchdog_get_device':
src/watchdog.c:22:15: error: '__METAL_DT_MAX_WDOGS' undeclared (first use in this function)
   22 |   if (index > __METAL_DT_MAX_WDOGS) {
      |               ^~~~~~~~~~~~~~~~~~~~
src/watchdog.c:22:15: note: each undeclared identifier is reported only once for each function it appears in
src/watchdog.c:26:36: error: '__metal_wdog_table' undeclared (first use in this function); did you mean '__metal_spi_table'?
   26 |   return (struct metal_watchdog *) __metal_wdog_table[index];
      |                                    ^~~~~~~~~~~~~~~~~~
      |                                    __metal_spi_table
PANIC: Error "gcc: could not find output file: build/api-generator-sifive/pioDUT/programs/demo/demo.elf" Nil
Requirement !panic_called failed at src/exception.cpp:64

There are no functions named __METAL_DT_MAX_WDOGS & __metal_wdog-table when you grep it in the workspace. I checked in the master repo of freedom-metal but these functions are missing their too. How do I get past this?

Panic: Error occurs while running 'wake runSim pioDUT' commands

Hi,
while running wake runSim pioDUT . It throws the following error

PANIC: Error "gcc: could not find output file: build/api-generator-sifive/pioDUT/programs/demo/demo.elf" Nil
Requirement !panic_called failed at src/exception.cpp:69
ishita@DESKTOP-B4D4E03:~/workspace$

How do I fix this?

'wake makeOnboardingDocument pioDUT' is giving an error !

In the tutorial of preonboarded branch, during the creation of Onboarding document, we have entered this command : wake makeOnboardingDocument pioDUT and it fires the following error:

shraddha@terminal:~/workspace$ wake makeOnboardingDocument pioDUT 
<ivycache> ivycache
/bin/cp scribble/Pipfile.lock build/scribble/Pipfile.lock
/bin/cp scribble/Pipfile build/scribble/Pipfile
protoc --java_out=build/firrtl/proto firrtl/src/main/proto/firrtl.proto
/usr/bin/java -cp ivycache/https/repo1.maven.org/maven2/com/ibm/icu/icu4j/61.1/icu4j-61.1.jar:ivycache/https/repo1.maven.org/maven2/org/abego/treelayout/org.abego.treelayout.core/1.0.3/org.abego.treelayout.core-1.0.3.jar:ivycache/https/repo1.maven.org/maven2/org/antlr/ST4/4.1/ST4-4.1.jar:ivycache/https/repo1.maven.org/maven2/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar:ivycache/https/repo1.maven.org/maven2/org/antlr/antlr4-runtime/4.7.2/antlr4-runtime-4.7.2.jar:ivycache/https/repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2.jar:ivycache/https/repo1.maven.org/maven2/org/glassfish/javax.json/1.0.4/javax.json-1.0.4.jar org.antlr.v4.Tool -o build/firrtl/antlr -visitor -no-listener -package firrtl.antlr firrtl/src/main/antlr4/FIRRTL.g4
api-languages-sifive/install-python-pipenv build/scribble/Pipfile build/scribble/Pipfile.lock build/scribble/.venv
api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/rocketchipMacros.json.template -c build/api-scala-sifive/bloop/rocketchipMacros.json -b scala --coursier-cache ivycache --bloop-args compile -c build/api-scala-sifive/bloop rocketchipMacros --jar build/rocketchipMacros/scala-2.12/jar/rocketchipMacros.jar
api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/chisel3Macros.json.template -c build/api-scala-sifive/bloop/chisel3Macros.json -b scala --coursier-cache ivycache --bloop-args compile -c build/api-scala-sifive/bloop chisel3Macros --jar build/chisel3Macros/scala-2.12/jar/chisel3Macros.jar
api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/firrtl.json.template -c build/api-scala-sifive/bloop/firrtl.json -b scala --coursier-cache ivycache --bloop-args compile -c build/api-scala-sifive/bloop firrtl --jar build/firrtl/scala-2.12/jar/firrtl.jar
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that environment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this warning.
PANIC: Hash mismatch for build/scribble/.venv/bin/activate (6c509b20b5a3b06d3b229188917b5ced81251f90284f0e117998926dfd165fbc != 04b632bec64f7157715b61581bdfbe051f4e6b22416c2f79c49e3b8446acd3b2); remove it
Requirement !panic_called failed at src/exception.cpp:64
shraddha@terminal:~/workspace$ 

So how can I resolve this?

`panic_called failed at src/exception.cpp

I've been trying to run the block-pio example for a while now. As instructed in the Readme, firing the command wake 'runSim pioDUT' fails with following errors:

<ivycache> ivycache
protoc --java_out=build/firrtl/proto firrtl/src/main/proto/firrtl.proto
execve protoc: No such file or directory
WARNING: Could not parse DTS JSON: _root_.sifive.skeleton.DefaultConfig_sifive.skeleton.WithSimUART_sifive.skeleton.WithTestFinisher_sifive.blocks.pio.WithpioTop.json file not found
PANIC: Error "File not found" Nil
Requirement !panic_called failed at src/exception.cpp:64

Google look up suggest Missing protobuf but reinstalling protobuf doesn't help. Warning persists.

It appears to me as if the build.wake in soc-testsocket-sifive fails to import the WithpioTop..json file or the file is missing.

Help?

UPDATE:
Tried resolving the execve protoc: No such file or directory by reinstalling the latest protocbuf via here. That error was resolved but process stuck at this now:

<ivycache> ivycache
api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/firrtl.json.template -c build/api-scala-sifive/bloop/firrtl.json -b scala --coursier-cache ivycache --bloop-args compile -c build/api-scala-sifive/bloop firrtl --jar build/firrtl/scala-2.12/jar/firrtl.jar
[   #  ] api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/firrtl.json.template -c build/api-scala-sifive/bloo ... ycache --bloop-args compile -c build/api-scala-sifive/bloop firrtl --jar build/firrtl/scala-2.12/jar/firrtl.jar
[E] [E10] ../firrtl/proto/firrtl/FirrtlProtos.java:5497:55
[E]       type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]       L5497:                   com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                    ^
[E] [E9] ../firrtl/proto/firrtl/FirrtlProtos.java:38372:51
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L38372:               com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                ^
[E] [E8] ../firrtl/proto/firrtl/FirrtlProtos.java:28022:51
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L28022:               com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                ^
[E] [E7] ../firrtl/proto/firrtl/FirrtlProtos.java:13297:53
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L13297:                 com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                  ^
[E] [E6] ../firrtl/proto/firrtl/FirrtlProtos.java:16040:53
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L16040:                 com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                  ^
[E] [E5] ../firrtl/proto/firrtl/FirrtlProtos.java:52425:51
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L52425:               com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                                ^
[E] [E4] ../firrtl/proto/firrtl/FirrtlProtos.java:1758:51
[E]      type InternalOneOfEnum is not a member of com.google.protobuf.AbstractMessage
[E]      L1758:               com.google.protobuf.AbstractMessage.InternalOneOfEnum {
[E]                                                               ^
[E] ../../firrtl/src/main/scala/firrtl/RenameMap.scala: L76 [E1], L77 [E2], L78 [E3]
[E] ../firrtl/proto/firrtl/FirrtlProtos.java: L1758 [E4], L5497 [E10], L13297 [E7], L16040 [E6], L28022 [E8], L38372 [E9], L52425 [E5]
[E] 'firrtl' failed to compile.
Scala compilation failed for 'api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/firrtl.json.template -c build/api-scala-sifive/bloop/firrtl.json -b scala --coursier-cache ivycache --bloop-args "compile -c build/api-scala-sifive/bloop firrtl" --jar build/firrtl/scala-2.12/jar/firrtl.jar'
WARNING: Could not parse DTS JSON: _root_.sifive.skeleton.DefaultConfig_sifive.skeleton.WithSimUART_sifive.skeleton.WithTestFinisher_sifive.blocks.pio.WithpioTop.json file not found
PANIC: Error "File not found" Nil
Requirement !panic_called failed at src/exception.cpp:64

Reffering the issue here. The suggestion to use v3.6.1 failed for me. I downgraded from the latest protoc v3.11 to v3.6.1.

Error: unknown CSR `mtvt. 'wake runSimWith pioDUT Verilator' fails.

Error Message:

src/drivers/riscv_cpu.c: Assembler messages:
src/drivers/riscv_cpu.c:144: Error: unknown CSR `mtvt'
src/drivers/riscv_cpu.c:166: Error: unknown CSR `mtvt'
src/drivers/riscv_cpu.c:170: Error: unknown CSR `mtvt'
make[1]: *** [src/drivers/libriscv__mmachine__pioDUT_a-riscv_cpu.o] Error 1
make: *** [all] Error 2

When I grep mtvt in the workspace, /rocket-chip/src/main/scala/rocket/Instructions.scala:795: has the definition val mtvt = 0x307 already defined.

Why does this repo transitively depend on block-inclusivecache-sifive?

It depends on soc-freedom-sifive which is pulling in block-inclusivecache-sifive. This seems like overkill. Is there something in soc-freedom-sifive we need that should just be in api-generator-sifive or rocket-chip?

workspace$ wit inspect --tree
block-pio-sifive::550bf22
├─soc-testsocket-sifive::466b3f18
│  ├─api-generator-sifive::6043751a->43b6fa2
│  ├─sifive-blocks::4374e58f
│  │  └─rocket-chip::50de8a34
│  │     ├─berkeley-hardfloat::70c1e1dd
│  │     ├─api-chisel3-sifive::258e0bd4
│  │     │  ├─chisel3::9a0ce227->e1aa5f3f
│  │     │  └─api-firrtl-sifive::9fbfcf19
│  │     │     ├─firrtl::2272044c->228c9a4b
│  │     │     └─api-scala-sifive::0fafb118->1c38068
│  │     ├─chisel3::e1aa5f3f
│  │     └─firrtl::228c9a4b
│  ├─chisel3::e1aa5f3f
│  ├─firrtl::228c9a4b
│  └─soc-freedom-sifive::4656fa1d
│     ├─api-generator-sifive::40dbdf23->43b6fa2
│     ├─fpga-shells::2caf8a94
│     │  ├─api-generator-sifive::50b9d6ff->43b6fa2
│     │  ├─sifive-blocks::4374e58f
│     │  ├─rocket-chip::e44e22be->50de8a34
│     │  ├─chisel3::e1aa5f3f
│     │  ├─firrtl::228c9a4b
│     │  └─api-scala-sifive::9c4bcd00->1c38068
│     ├─sifive-blocks::4374e58f
│     ├─rocket-chip::50de8a34
│     ├─block-inclusivecache-sifive::7d3f8809
│     │  └─rocket-chip::50de8a34
│     └─api-scala-sifive::1c38068e
│        └─wit::5a466386
├─api-generator-sifive::43b6fa2f
│  ├─freedom-metal::feee9ff0
│  ├─freedom-devicetree-tools::89e427e1
│  ├─rocket-chip::50de8a34
│  ├─api-languages-sifive::96cdaf23
│  └─scribble-testsocket-sifive::c9d454d6
│     └─scribble::a1b23124
│        └─api-languages-sifive::96cdaf23
└─api-scala-sifive::1c38068e

Error while running " wake 'runSim $(dut plan}' " .

I've been trying to get going with block-pio project. Firing the command wake 'runSim {dut plan}' as specified in Readme throws following error:

Was expecting an (OPERATOR/LAMBDA/ID/LITERAL/PRIM/POPEN), got a BOPEN at <command-line>:1:9
Was expecting a END, but got a BOPEN at <command-line>:1:9
Type error; function <command-line>:1:[1-8] expected argument 'argument' of type:
    RocketChipDUTPlan
  but was supplied argument src/parser.cpp:400:1 of type:
    String
>>> Aborting without execution <<<

The runSim executes the file ./api-generator-sifive/top.wake script.

How do I fix this?

Move tutorial back to the master branch.

One problem that we've run into with having the tutorial on the preonboarded branch is that we don't really have a good way of versioning the tutorial itself. Although the master branch points at the preonboarded branch, following the instructions on the preonboarded branch may not always produce the same results, as we change parts of the onboarding workflow. Although we try to keep the tutorial up to date, we have the other related problem of not being able to track specific versions of the tutorial, since we just merge updates directly to the preonboarded branch.

My proposal is the following:

  • We move the tutorial back to the master branch, and that way tagged versions of the repo will have the corresponding version of the tutorial saved with it.
  • We remove the tutorial and the wit-manifest.json from the preonboarded branch, resulting in the only files on that branch being the raw Verilog files.
  • For legacy purposes (i.e. any older commit that links to the preonboarded branch), we may want to add a README to the preonboarded branch that links to an older commit of the preonboarded branch that still had the tutorial.

wake 'runSimWith pioDUT Verilator' fails.

I've been trying to get through with the pio-block example.

Firing the command wake 'runSimWith pioDUT Verilator' fails with a lot of warnings. I don't think putting everything up here would make sense. Uploading the config.log from workspace/build/freedom-metal/pioDUT/. config.log
I see a couple of fatal errors from line 70.

How can I zero in on the actual problem? Any more logs to help me in debugging? The simulation did mention two files std.err & std.out but I fail to find them.

How do I fix this?

UPDATE:

image

I am not sure if Verilator is been selected. Why is +perl +incdir+api-generator-sifive/vsrc vcs being selected over here?

Provide example of connecting bundles

We should provide example of connecting structured bundles. I think pio external interface is a good example. Here is the plan:

  • Bundle pio external interface in DUH document
  • Bundle loopback external interface in DUH document
  • Connect pio to loopback by connecting bundles

Value not found for addrWidth dataWidth etc. while doing preonboarded tutorial

I started with the preonboarded branch for the block-pio-sifive tutorial.
Firing the wake makeOnboardingDocument pioDUT results in the error in this log
log_2.txt.
Updated log File:
log_1153_updated.txt
Kindly refer to the updated log file. Squashed some errors.

To summarise: The script doesn't find variables dataWidth, addrWidth, writeStrobeWidth etc. in pio-base.scala. I compared the generated pio-base.scala with the pio-base.scala in the master repo. The parameters seem to be totally different. Like for WSTRB parameter in this generated scala is writeStrobeWidth while in the master repo it is datawidth/8.

As this scala is generated from duh-export-scala I am unable to debug the errors generated.

Should I go ahead and change the parameters manually or something that I might be missing while running duh tool?

UPDATE:
I was trying to figure out the other errors: not found: type loopbackBlackBoxIO , not found: value NloopbackTop etc. I compared loopback.json5 in master repo and the one I created. The library param of component is vip in master repo while block in the json5 created by me. I changed block to vip and the errors were terminated. Can you confirm this to be the correct approach?

UPDATE 2
Regarding error for memRegion i.e. value getOMMemoryRegions is not a member of sifive.blocks.pio.NpioTopBase :

The step to override the method getOMMemoryRegions as explained here fails because base class in pio-base.scala doesn't exist. However the pio-base.scala in master repo does have this method. Comparing pio.json5 in both repo doesn't give much insight into why the method is missing as both json5 files are almost same.
How do I produce getOMMemoryRegions in pio-base.scala?

UPDATE 3

Fixed the issues by installing duh-export-scala packages explicitly from it's repo. The scala files are error free and are converted to respective *.jars. I'm stuck right now with the following issue:

File "/home/saurabh/workspace_preonboarded/.build/9410/scribble-testsocket-sifive/docs/scribble/components/Component/RegisterList.jinja2", line 7, in top-level template code
 64     {{ registers.table(title="{} Register Map".format(scope._type)) }}
 65 TypeError: table() got an unexpected keyword argument 'title'

Entire log here!
scribble_error.log

'wake runSim pioDUT' fails to compile firrtl

hi,
When I run the command wake runSim pioDUT
It throws the following error

[E] [E5] ../../firrtl/src/main/scala/firrtl/proto/FromProto.scala:308:22
[E]      value hasExternalModule is not a member of firrtl.FirrtlProtos.Firrtl.Module
[E]      L308:       require(module.hasExternalModule, "Module must have Module or ExtModule")
[E]                                 ^
[E] [E4] ../../firrtl/src/main/scala/firrtl/proto/FromProto.scala:306:16
[E]      value hasUserModule is not a member of firrtl.FirrtlProtos.Firrtl.Module
[E]      L306:     if (module.hasUserModule) convert(module.getUserModule)
[E]                           ^
[E] ../../firrtl/src/main/scala/firrtl/RenameMap.scala: L76 [E1], L77 [E2], L78 [E3]
[E] ../../firrtl/src/main/scala/firrtl/proto/FromProto.scala: L306 [E4], L308 [E5]
[E] 'firrtl' failed to compile.
Scala compilation failed for 'api-scala-sifive/bloop_wake -t build/api-scala-sifive/bloop/firrtl.json.template -c build/api-scala-sifive/bloop/firrtl.json -b scala --coursier-cache ivycache --bloop-args "compile -c build/api-scala-sifive/bloop firrtl" --jar build/firrtl/scala-2.12/jar/firrtl.jar'

How can I resolve this?

Variable reference 'makeStatePath' is unbound at api-scala-sifive/scala.wake:19:[16-28]

I've been trying to run/build the entire block-pio project example. I've followed the steps prescribed in readme and the following error occurs while executing the run command < wake 'runSim ${dut plan}' >

Error Message:

Variable reference 'makeStatePath' is unbound at api-scala-sifive/scala.wake:19:[16-28]
Type error; function <command-line>:1:[1-8] expected argument 'argument' of type:
    RocketChipDUTPlan
  but was supplied argument src/parser.cpp:389:1 of type:
    String
>>> Aborting without execution <<<

Wake tool's tutorial describes cause of this error as follows:

"Wake processes all versioned wake files (*.wake) which are in the workspace. A very common mistake is to create a new wake file and run wake without first adding that file to version control. In that case, the file will not be read, and you will likely get an error like Variable reference xyz is unbound."

How do I fix this?

Error: Can't publish a test using Wake in preonboarded branch

I have been trying to execute pio-block-sifive in its preonboarded state exactly as mentioned in the README tutorial here but have encountered some problems espeically when running the command wake -x 'runSim pioDUT'.

Below mentioned is the list of steps taken.

  1. checked out a workspace
  2. created a DUH document
  3. scala integration
  4. wake integration
  5. created a C driver for the block
  6. making a test
  7. making a skeleton document
    run command wake -x 'runSim pioDUT'
    Encountered error when running the above mentioned

The following versions of each program were used:

Resource Version
NodeJs 8.10.0
npm 3.5.2
DUH 1.17.10
wit 0.14.0
wake 0.19.1

Small Bugs

  • DUH v1.16.1 does not seem to be working properly as it doesnt generate the proper output.
  • during wake integration the directory block-pio-sifive/build-rules/wake/pio.wake isn't present by default.
  • during making a test the directory block-pio-sifive/tests/c/demo/main.c isnt present be default.

Main Bug
When "making and publishing a test" running the command wake -x 'runSim pioDUT' generates the following error log.

Error Log

Was expecting an (OPERATOR/ID/POPEN), got a PACKAGE at 'package' (apifirrtl-sifive/build.wake:16:[7-13])
Was expecting an (OPERATOR/LAMBDA/ID/LITERAL/PRIM/POPEN), got a PACKAGE at 'package' (api-firrtl-sifive/build.wake:18:[80-86])
Was expecting a EOL, but got a PACKAGE at 'package' (api-firrtlsifive/build.wake:18:[80-86])
Was expecting an (OPERATOR/LAMBDA/ID/LITERAL/PRIM/POPEN), got a PACKAGE at 'package' (api-firrtl-sifive/build.wake:18:[80-86])
Was expecting a DEDENT, but got a PACKAGE at 'package' (api-firrtlsifive/build.wake:18:[80-86])
Was expecting a EOL, but got a PACKAGE at 'package' (api-firrtlsifive/build.wake:18:[80-86])
Was expecting an ID argument, but got a OPERATOR at ',' (api-firrtlsifive/build.wake:18:87)
Was expecting a EOL, but got a POPEN at '(' (api-firrtlsifive/build.wake:18:89)
Was expecting a END, but got a POPEN at '(' (api-firrtlsifive/build.wake:18:89)
Was expecting an (OPERATOR/ID/POPEN), got a BINARY at 'binary' (apigenerator-sifive/program/freedom-metal-program.wake:229:[9-14])
Was expecting a DEDENT, but got a BINARY at 'binary' (api-generatorsifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting a EOL, but got a BINARY at 'binary' (api-generatorsifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting an (OPERATOR/LAMBDA/ID/LITERAL/PRIM/POPEN), got a BINARY at 'binary' (api-generator-sifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting a DEDENT, but got a BINARY at 'binary' (api-generatorsifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting a EOL, but got a BINARY at 'binary' (api-generatorsifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting a END, but got a BINARY at 'binary' (api-generatorsifive/program/freedom-metal-program.wake:236:[17-22])
Was expecting a EQUALS, but got a BINARY at 'binary' (api-generatorsifive/program/program.wake:132:[24-29])
Was expecting an (OPERATOR/LAMBDA/ID/LITERAL/PRIM/POPEN), got a EQUALS at '=' (api-generator-sifive/program/program.wake:132:31)
Was expecting a EOL, but got a EQUALS at '=' (api-generatorsifive/program/program.wake:132:31)
Was expecting a END, but got a EQUALS at '=' (api-generatorsifive/program/program.wake:132:31)
Was expecting an (OPERATOR/ID/POPEN), got a BINARY at 'binary' (apigenerator-sifive/sim/verilator.wake:104:[7-12])
Was expecting a DEDENT, but got a BINARY at 'binary' (api-generatorsifive/sim/verilator.wake:111:[64-69])
Was expecting a EOL, but got a BINARY at 'binary' (api-generatorsifive/sim/verilator.wake:111:[64-69])
Was expecting a END, but got a BINARY at 'binary' (api-generatorsifive/sim/verilator.wake:111:[64-69])
Was expecting an (OPERATOR/ID/POPEN), got a TYPE at 'type' (block-piosifive/build-rules/wake/pio.wake:78:[7-10])
Was expecting a DEDENT, but got a TYPE at 'type' (block-pio-sifive/buildrules/wake/pio.wake:86:[24-27])
Was expecting a EOL, but got a TYPE at 'type' (block-pio-sifive/buildrules/wake/pio.wake:86:[24-27])
Was expecting a END, but got a TYPE at 'type' (block-pio-sifive/buildrules/wake/pio.wake:86:[24-27])
Publish to 'preinstall' is to a non-existent topic at api-generatorsifive/program/generate-base-headers.wake:51:[9-18]
Type signature 'SimulationOutput' refers to a non-existent type apigenerator-sifive/sim/dut-simulator.wake:53:[107-122]
Type signature 'SimulationOutput' refers to a non-existent type apigenerator-sifive/sim/dut-simulator.wake:23:[110-125]
Subscribe of 'dutSimulators' is to a non-existent topic at api-generatorsifive/sim/dut-simulator.wake:80:[20-42]
Subscribe of 'vcsDUTSimCompileOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/vcs-sim.wake:87:[33-72]
Subscribe of 'vcsDUTSimExecuteOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/vcs-sim.wake:99:[33-72]
Publish to 'dutSimulators' is to a non-existent topic at api-generatorsifive/sim/vcs-sim.wake:185:[9-21]
Subscribe of 'verilatorDUTSimCompileOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/verilator-sim.wake:110:[33-78]
Subscribe of 'verilatorDUTSimExecuteOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/verilator-sim.wake:122:[33-78]
Subscribe of 'verilatorDUTSimCompileOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/verilator-sim.wake:142:[31-76]
Publish to 'dutSimulators' is to a non-existent topic at api-generatorsifive/sim/verilator-sim.wake:226:[9-21]
Subscribe of 'xceliumDUTSimCompileOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/xcelium-sim.wake:95:[33-76]
Subscribe of 'xceliumDUTSimExecuteOptionsHooks' is to a non-existent topic at api-generator-sifive/sim/xcelium-sim.wake:107:[33-76]
Publish to 'dutSimulators' is to a non-existent topic at api-generatorsifive/sim/xcelium-sim.wake:184:[9-21]
Type signature 'SimBootloader' refers to a non-existent type api-generatorsifive/test/test.wake:39:[22-34]
Subscribe of 'vivadoVsrcHooks' is to a non-existent topic at api-generatorsifive/top.wake:29:[5-29]
Subscribe of 'dutTests' is to a non-existent topic at api-generatorsifive/top.wake:51:[18-35]
Subscribe of 'preinstall' is to a non-existent topic at api-languagessifive/command.wake:87:[19-40]
Subscribe of 'driverImplementations' is to a non-existent topic at apigenerator-sifive/dut/drivers.wake:30:[3-33]
Publish to 'dutTests' is to a non-existent topic at block-pio-sifive/buildrules/wake/pio.wake:74:[9-16]
Publish to 'driverImplementations' is to a non-existent topic at block-pio-sifive/build-rules/wake/pio.wake:61:[9-29]
Publish to 'dutSimCompileOptionsHooks' is to a non-existent topic at block-pio-sifive/build-rules/wake/pio.wake:29:[9-33]
Publish to 'scribbleDirectories' is to a non-existent topic at scribbletestsocket-sifive/build-rules/wake/onboarding.wake:17:[9-27]
Subscribe of 'scribbleDirectories' is to a non-existent topic at scribble/build-rules/wake/scribble.wake:64:[29-57]
Publish to 'preinstall' is to a non-existent topic at scribble/buildrules/wake/scribble.wake:111:[9-18]
Publish to 'scribbleDirectories' is to a non-existent topic at scribble/build-rules/wake/scribble.wake:40:[9-27]
Publish to 'vivadoVsrcHooks' is to a non-existent topic at soc-testsocketsifive/build.wake:118:[9-23]
Subscribe of 'dutSimCompileOptionsHooks' is to a non-existent topic at apigenerator-sifive/dut/rocket-chip-dut.wake:208:[27-63]
Subscribe of 'dutSimExecuteOptionsHooks' is to a non-existent topic at apigenerator-sifive/dut/rocket-chip-dut.wake:212:[27-63]
Publish to 'dutSimCompileOptionsHooks' is to a non-existent topic at apigenerator-sifive/dut/rocket-chip-dut.wake:197:[9-33]
Publish to 'rocketChipDUTrogramCompilers' is to a non-existent topic at api-generator-sifive/program/freedom-metal-program.wake:179:[9-36]
>>> Aborting without execution <<<

These errors occur because a lot of variables weren't mentioned properly including "_package" , "binary_" in their respective wake files: As for the publishing and subscribe errors their global topics aren't defined in the respective wake files. Most of the errors have been removed by comparing the individual wake files of the preonboarded and master branch however:

The following ERROR LOG still persists:

Type signature 'SimulationOutput' refers to a non-existent type apigenerator-sifive/sim/dut-simulator.wake:53:[107-122]
Type signature 'SimulationOutput' refers to a non-existent type apigenerator-sifive/sim/dut-simulator.wake:23:[110-125]
Publish to 'scribbleDirectories' is to a non-existent topic at scribbletestsocket-sifive/build-rules/wake/onboarding.wake:17:[9-27]
Subscribe of 'scribbleDirectories' is to a non-existent topic at scribble/build-rules/wake/scribble.wake:64:[29-57]
Publish to 'scribbleDirectories' is to a non-existent topic at scribble/build-rules/wake/scribble.wake:40:[9-27]
>>> Aborting without execution <<<

Topic SimulationOutput is mentioned exactly same in both preonboarded and master branch.
Topic scribbleDirectories doesnt exist in master branch since the folder scribble isnt present.

Any help regarding how to solve the issue would be highly appreciated.

"execve gem: No such file or directory" for 'wake makeOnboardingDocument pioDUT'.

I am experiencing a rather strange deadlock between versions of ruby to create the preonboarding document.

Installed Ruby using apt-get install ruby. The wake makeOnboardingDocument pioDUT finishes but asciidoctor-pdf to convert .adoc to .pdf fails for following reason.
Error: allow-uri read is not enabled. See here
Effect: The svg file is printed directly and is not converted to image in the final document.
Fix: To install 'asciidoctor-pdf' using git repo. See here

The readme of above repo mentions to use RVM to install and manage Ruby. You can find installation steps here & here.

Ruby is succesfully installed and set up. Now the wake makeOnboardingDocument pioDUT fails with error:

gem install bundler -v '>=2' --install-dir build/scribble/.gem
execve gem: No such file or directory
Fail (Error "Scribble failed to produce output file build/api-generator-sifive/pioDUT/documents/pioDUT.adoc" Nil)

I've tried with ruby v2.3.7(the minimum required), v2.5.7(this version same as when installed using apt-get install ruby and v2.6.3 (the latest version) & gem v2.7.7 & v3.0.3 but of no use. Also tried adding path in env.json as done with protoc, verilator & riscv gnu-toolchain but of no use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.