refactor into standalone TagEngineTester
This commit is contained in:
parent
6e3b3e9178
commit
5588fafebd
2
Makefile
2
Makefile
|
@ -61,7 +61,7 @@ $(BDPI_OBJ): $(BDPI_SRC)
|
|||
|
||||
BSC_LINK_FLAGS += -keep-fires
|
||||
|
||||
BSC_PATHS = -p bs/:bsv/:+
|
||||
BSC_PATHS = -p bs/:bs/Tests/:bsv/:+
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
|
|
48
bs/Tests/TagEngineTester.bs
Normal file
48
bs/Tests/TagEngineTester.bs
Normal file
|
@ -0,0 +1,48 @@
|
|||
package TagEngineTester(mkTagEngineTester) where
|
||||
|
||||
import TagEngine
|
||||
import ActionSeq
|
||||
|
||||
mkTagEngineTester :: Module Empty
|
||||
mkTagEngineTester = do
|
||||
tagEngine :: TagEngine 5 <- mkTagEngine
|
||||
count :: Reg (UInt 4) <- mkReg 0;
|
||||
|
||||
s :: ActionSeq
|
||||
s <-
|
||||
let
|
||||
requestTagAction :: Action
|
||||
requestTagAction =
|
||||
do
|
||||
tag <- tagEngine.requestTag
|
||||
$display "got tag : " (fshow tag)
|
||||
|
||||
retireTagAction :: UInt 3 -> Action
|
||||
retireTagAction tag =
|
||||
do
|
||||
res <- tagEngine.retireTag tag
|
||||
$display "retiring tag : " (fshow tag) " " (fshow res)
|
||||
action {}
|
||||
|
||||
in
|
||||
actionSeq $
|
||||
do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do retireTagAction 3
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do retireTagAction 4
|
||||
|> do retireTagAction 4
|
||||
|> do retireTagAction 0
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do retireTagAction 1
|
||||
|> do requestTagAction
|
||||
|
||||
addRules $
|
||||
rules
|
||||
"testIncrement": when (count < 10) ==>
|
||||
do
|
||||
count := count + 1
|
||||
s.start
|
47
bs/Top.bs
47
bs/Top.bs
|
@ -10,6 +10,8 @@ import TagEngine
|
|||
import List
|
||||
import ActionSeq
|
||||
|
||||
import TagEngineTester
|
||||
|
||||
type FCLK = 25000000
|
||||
type BAUD = 9600
|
||||
|
||||
|
@ -102,56 +104,13 @@ mkSim :: Module Empty
|
|||
mkSim = do
|
||||
let cfg :: BRAM_Configure = defaultValue
|
||||
|
||||
tagEngine :: TagEngine 5 <- mkTagEngine
|
||||
tagEngineTester :: Empty <- mkTagEngineTester
|
||||
count :: Reg (UInt 4) <- mkReg 0;
|
||||
initCFunctions :: Reg Bool <- mkReg False;
|
||||
core :: Core FCLK <- mkCore;
|
||||
|
||||
s :: ActionSeq
|
||||
s <-
|
||||
let
|
||||
requestTagAction :: Action
|
||||
requestTagAction =
|
||||
do
|
||||
tag <- tagEngine.requestTag
|
||||
$display "got tag : " (fshow tag)
|
||||
in
|
||||
actionSeq $
|
||||
do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do
|
||||
res <- tagEngine.retireTag 3
|
||||
$display "retiring tag : 3 " (fshow res)
|
||||
action {}
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do
|
||||
res <- tagEngine.retireTag 4
|
||||
$display "retiring tag : 4 " (fshow res)
|
||||
action {}
|
||||
|> do
|
||||
res <- tagEngine.retireTag 4
|
||||
$display "retiring tag : 4 " (fshow res)
|
||||
action {}
|
||||
|> do
|
||||
res <- tagEngine.retireTag 0
|
||||
$display "retiring tag : 0 " (fshow res)
|
||||
action {}
|
||||
|> do requestTagAction
|
||||
|> do requestTagAction
|
||||
|> do
|
||||
res <- tagEngine.retireTag 1
|
||||
$display "retiring tag : 1 " (fshow res)
|
||||
action {}
|
||||
|> do requestTagAction
|
||||
|
||||
addRules $
|
||||
rules
|
||||
"testIncrement": when (count < 10) ==>
|
||||
do
|
||||
count := count + 1
|
||||
s.start
|
||||
"initCFunctionsOnce": when not initCFunctions ==>
|
||||
do
|
||||
initTerminal
|
||||
|
|
Loading…
Reference in a new issue