Skip to content

Commit

Permalink
docu
Browse files Browse the repository at this point in the history
  • Loading branch information
schoeberl committed May 12, 2024
1 parent 434bf88 commit 7380fb6
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 27 deletions.
48 changes: 23 additions & 25 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,35 @@
# TODO

- [ ] Get an overview of what is implemented (and add to TODO)
- [ ] Fix cosimulation issues
- [ ] Have leros simulator as submodule
- [ ] Use the simlator in GitHub actions
- [ ] Get an overview of what is implemented (and add missing to TODO)
- [ ] Fix cosimulation issues, Morten does sra and not shr
- [x] Have the Leros simulator as a submodule
- [x] Use the simulator in GitHub actions
- [ ] Get GitHub CI green
- [ ] Restructure with one state per instruction type (like in old CA books)
- [ ] Decide on where the docu is:
* README here
* Handbook on Leros
* Leros web page


- [ ] Assemler test for each instruction
- [ ] bbb
*
* Get rid of code duplication in Decode
* Memory: read in first state, write in second. Is this how we want to do it?
* Take a note on: semantic changed to have opd in words, halfword, or bytes, but address in bytes
* Looks like Morten's simulator/compiler sign extends ldindb/h, Check it
- [ ] add
- [ ] Get rid of code duplication in Decode
- [ ] Memory: read in first state, write in second. Is this how we want to do it?
- [ ] Take a note on: semantic changed to have opd in words, halfword, or bytes, but address in bytes
- [ ] Looks like Morten's simulator/compiler sign extends ldindb/h, Check it
* and document it
* Explore Tjark's test generation (with cosimulation)
* Use the C compiler
* Run C compiler tests
* Are half word load stores used in the compiler?
* Any instruction not used by theb compiler
* Accu byte enables
* load/store byte indirect
* Does subi sign extend? Do we need a subi? We could use addi with neg. values
* Get a simple sequential version done
* Pipelined version follows
* Run Morten's C test programs
* gcc test suit as in Patmos
* Shouldn't a cross-compiler have a prefix? Such as leros-clang?
- [ ] Explore Tjark's test generation (with cosimulation)
- [ ] Use the C compiler
- [ ] Run C compiler tests
- [ ] Are half word load stores used in the compiler?
- [ ] Any instruction not used by the compiler
- [ ] Accu byte enables
- [ ] load/store byte indirect
- [ ] Does subi sign extend? Do we need a subi? We could use addi with neg. values
- [ ] Get a simple sequential version done
- [ ] Pipelined version follows after sequential
- [ ] Run Morten's C test programs
- [ ] gcc test suit as in Patmos
- [ ] Shouldn't a cross-compiler have a prefix? Such as leros-clang?

## Documentation

Expand Down
6 changes: 4 additions & 2 deletions src/test/scala/leros/CompareTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ class CompareTest extends AnyFlatSpec with ChiselScalatestTester {
val simulator = "leros-sim/build-leros-sim/leros-sim"
if ((new java.io.File(simulator)).isFile) {

val progs = leros.shared.Util.getProgs()
// val progs = Seq("asm/test/base")
// val progs = leros.shared.Util.getProgs()
val progs = Seq("asm/test/loadix")

progs.foreach(p => {

Expand Down Expand Up @@ -56,6 +56,8 @@ class CompareTest extends AnyFlatSpec with ChiselScalatestTester {
assert(maxCycles > 0, "Running out of cycles")
}
val hw = removeDuplicates(l.toSeq)
Predef.println(swsim)
Predef.println(hw)
assert(swsim.length == hw.length)
for (v <- swsim.zip(hw)) {
assert(v._1 == v._2)
Expand Down

0 comments on commit 7380fb6

Please sign in to comment.