Skip to content

Commit 9697f54

Browse files
authored
Merge pull request #45 from ucb-bar/more_backends
More backends
2 parents e710e47 + 1dd67b9 commit 9697f54

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+333
-320
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
*.swp
1010
*.out
1111
/bin/
12+
target

build.sbt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,3 @@ resolvers ++= Seq(
2222
Resolver.sonatypeRepo("snapshots"),
2323
Resolver.sonatypeRepo("releases")
2424
)
25-
26-
parallelExecution in Test := false

src/main/scala/examples/Risc.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,3 @@ class Risc extends Module {
5151
pc := pc + 1.U
5252
}
5353
}
54-
55-
object Opcodes {
56-
val add_op = 0
57-
val imm_op = 1
58-
}

src/main/scala/hello/Hello.scala

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
package hello
33

44
import Chisel._
5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver}
66

77
class Hello extends Module {
88
val io = new Bundle {
@@ -11,16 +11,13 @@ class Hello extends Module {
1111
io.out := UInt(42)
1212
}
1313

14-
class HelloTests(c: Hello, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
14+
class HelloTests(c: Hello) extends PeekPokeTester(c) {
1515
step(1)
1616
expect(c.io.out, 42)
1717
}
1818

1919
object Hello {
2020
def main(args: Array[String]): Unit = {
21-
val res = runPeekPokeTester(() => new Hello()){(c,b) => new HelloTests(c,b)}
22-
if(!res) {
23-
System.exit(1)
24-
}
21+
if (!Driver(() => new Hello())(c => new HelloTests(c))) System.exit(1)
2522
}
2623
}

src/test/scala/examples/Adder.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
// See LICENSE.txt for license details.
22
package examples
33

4-
import Chisel._
5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
4+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
65

7-
class AdderTests(c: Adder, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
6+
class AdderTests(c: Adder) extends PeekPokeTester(c) {
87
for (t <- 0 until 4) {
98
val rnd0 = rnd.nextInt(c.n)
109
val rnd1 = rnd.nextInt(c.n)
@@ -22,8 +21,10 @@ class AdderTests(c: Adder, b: Option[TesterBackend] = None) extends PeekPokeTest
2221
}
2322

2423
class AdderTester extends ChiselFlatSpec {
25-
"Adder" should "correctly add randomly generated numbers" in {
26-
runPeekPokeTester(() => new Adder(8)){
27-
(c,b) => new AdderTests(c,b)} should be (true)
24+
behavior of "Adder"
25+
backends foreach {backend =>
26+
it should s"correctly add randomly generated numbers $backend" in {
27+
Driver(() => new Adder(8))(c => new AdderTests(c)) should be (true)
28+
}
2829
}
2930
}

src/test/scala/examples/Adder4.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
package examples
33

44

5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
66

7-
class Adder4Tests(c: Adder4, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
7+
class Adder4Tests(c: Adder4) extends PeekPokeTester(c) {
88
val rnd2 = rnd.nextInt(2)
99
for (t <- 0 until 4) {
1010
val rnd0 = rnd.nextInt(16)
@@ -21,9 +21,11 @@ class Adder4Tests(c: Adder4, b: Option[TesterBackend] = None) extends PeekPokeTe
2121
}
2222

2323
class Adder4Tester extends ChiselFlatSpec {
24-
"Adder4" should "correctly add randomly generated numbers" in {
25-
runPeekPokeTester(() => new Adder4){
26-
(c,b) => new Adder4Tests(c,b)}
24+
behavior of "Adder4"
25+
backends foreach {backend =>
26+
it should s"correctly add randomly generated numbers $backend" in {
27+
Driver(() => new Adder4, backend)(c => new Adder4Tests(c)) should be (true)
28+
}
2729
}
2830
}
2931

src/test/scala/examples/ByteSelector.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
package examples
33

44

5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
66

7-
class ByteSelectorTests(c: ByteSelector, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
7+
class ByteSelectorTests(c: ByteSelector) extends PeekPokeTester(c) {
88
val test_in = 12345678
99
for (t <- 0 until 4) {
1010
poke(c.io.in, test_in)
@@ -15,8 +15,10 @@ class ByteSelectorTests(c: ByteSelector, b: Option[TesterBackend] = None) extend
1515
}
1616

1717
class ByteSelectorTester extends ChiselFlatSpec {
18-
"ByteSelector" should "correctly select correct bits from an input" in {
19-
runPeekPokeTester(() => new ByteSelector){
20-
(c,b) => new ByteSelectorTests(c,b)}
18+
behavior of "ByteSelector"
19+
backends foreach {backend =>
20+
it should s"correctly select correct bits from an input in $backend" in {
21+
Driver(() => new ByteSelector, backend)((c) => new ByteSelectorTests(c)) should be (true)
22+
}
2123
}
2224
}

src/test/scala/examples/Combinational.scala

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
package examples
33

44

5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
66

7-
class CombinationalTests(c: Combinational, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
7+
class CombinationalTests(c: Combinational) extends PeekPokeTester(c) {
88
val maxInt = 1 << 16
99
for (i <- 0 until 10) {
1010
val x = rnd.nextInt(maxInt)
@@ -17,9 +17,11 @@ class CombinationalTests(c: Combinational, b: Option[TesterBackend] = None) exte
1717
}
1818

1919
class CombinationalTester extends ChiselFlatSpec {
20-
"Combinational" should "correctly add randomly generated numbers" in {
21-
runPeekPokeTester(() => new Combinational){
22-
(c,b) => new CombinationalTests(c,b)}
20+
behavior of "Combinational"
21+
backends foreach {backend =>
22+
it should s"correctly add randomly generated numbers in $backend" in {
23+
Driver(() => new Combinational, backend)(c => new CombinationalTests(c)) should be (true)
24+
}
2325
}
2426
}
2527

src/test/scala/examples/Darken.scala

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
package examples
33

44

5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
66

7-
class DarkenTests(c: Darken, val infilename: String, val outfilename: String, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
8-
val inPic = Image(infilename)
7+
class DarkenTests(c: Darken, infile: java.io.InputStream, outfilename: String) extends PeekPokeTester(c) {
8+
val inPic = Image(infile)
99
val outPic = Image(inPic.w, inPic.h, inPic.d)
1010
step(1)
1111
for (i <- 0 until inPic.data.length) {
@@ -20,9 +20,11 @@ class DarkenTests(c: Darken, val infilename: String, val outfilename: String, b:
2020
}
2121

2222
class DarkenTester extends ChiselFlatSpec {
23-
"Darken" should "darken an image" in {
24-
runPeekPokeTester(() => new Darken()){
25-
(c,b) => new DarkenTests(c, "src/test/resources/in.im24", "out.im24", b)
26-
} should be (true)
23+
behavior of "Darken"
24+
backends foreach {backend =>
25+
it should s"darken an image in $backend" in {
26+
Driver(() => new Darken(), backend)(
27+
c => new DarkenTests(c, getClass.getResourceAsStream("/in.im24"), "out.im24")) should be (true)
28+
}
2729
}
2830
}

src/test/scala/examples/EnableShiftRegister.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
package examples
33

44

5-
import Chisel.iotesters.{ Backend => TesterBackend, _ }
5+
import Chisel.iotesters.{PeekPokeTester, Driver, ChiselFlatSpec}
66

7-
class EnableShiftRegisterTests(c: EnableShiftRegister, b: Option[TesterBackend] = None) extends PeekPokeTester(c, _backend=b) {
7+
class EnableShiftRegisterTests(c: EnableShiftRegister) extends PeekPokeTester(c) {
88
val reg = Array.fill(4){ 0 }
99
for (t <- 0 until 16) {
1010
val in = rnd.nextInt(16)
@@ -22,9 +22,10 @@ class EnableShiftRegisterTests(c: EnableShiftRegister, b: Option[TesterBackend]
2222
}
2323

2424
class EnableShiftRegisterTester extends ChiselFlatSpec {
25-
"EnableShiftRegister" should "create a pipeline of registers and shift them each cycle" in {
26-
runPeekPokeTester(() => new EnableShiftRegister) {
27-
(c,b) => new EnableShiftRegisterTests(c,b)
25+
behavior of "EnableShiftRegister"
26+
backends foreach {backend =>
27+
it should s"create a pipeline of registers and shift them each cycle in $backend" in {
28+
Driver(() => new EnableShiftRegister, backend)(c => new EnableShiftRegisterTests(c)) should be (true)
2829
}
2930
}
3031
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy