projects
/
matthijs
/
master-project
/
cλash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a trailing newline to HighOrdAlu.
[matthijs/master-project/cλash.git]
/
cλash
/
CLasH
/
VHDL
/
Testbench.hs
diff --git
a/cλash/CLasH/VHDL/Testbench.hs
b/cλash/CLasH/VHDL/Testbench.hs
index 98c5b4686417e72e266f0d068b62678f7080d437..2b31925c655e7bcf731a058948b66cd88f22ffc1 100644
(file)
--- a/
cλash/CLasH/VHDL/Testbench.hs
+++ b/
cλash/CLasH/VHDL/Testbench.hs
@@
-52,7
+52,7
@@
createTestbenchEntity ::
-> Entity
createTestbenchEntity bndr = entity
where
-> Entity
createTestbenchEntity bndr = entity
where
- vhdl_id = mkVHDLBasicId
$ varToString bndr
+ vhdl_id = mkVHDLBasicId
"testbench"
-- Create an AST entity declaration with no ports
ent_decl = AST.EntityDec vhdl_id []
-- Create a signature with no input and no output ports
-- Create an AST entity declaration with no ports
ent_decl = AST.EntityDec vhdl_id []
-- Create a signature with no input and no output ports
@@
-87,7
+87,7
@@
createTestbenchArch mCycles stimuli top testent= do
(stimuliAssigns, stimuliDecs, cycles, used) <- createStimuliAssigns mCycles stimuli (head iIds)
let finalAssigns = (AST.CSSASm (AST.NSimple resetId AST.:<==:
AST.ConWforms []
(stimuliAssigns, stimuliDecs, cycles, used) <- createStimuliAssigns mCycles stimuli (head iIds)
let finalAssigns = (AST.CSSASm (AST.NSimple resetId AST.:<==:
AST.ConWforms []
- (AST.Wform [AST.WformElem (AST.PrimLit "'1'") (Just $ AST.PrimLit "3 ns")])
+ (AST.Wform [AST.WformElem (AST.PrimLit "'
0'") (Just $ AST.PrimLit "0 ns"), AST.WformElem (AST.PrimLit "'
1'") (Just $ AST.PrimLit "3 ns")])
Nothing)) : stimuliAssigns
let clkProc = createClkProc
let arch = AST.ArchBody
Nothing)) : stimuliAssigns
let clkProc = createClkProc
let arch = AST.ArchBody
@@
-129,7
+129,10
@@
createStimulans ::
createStimulans expr cycl = do
-- There must be a let at top level
createStimulans expr cycl = do
-- There must be a let at top level
- (CoreSyn.Let (CoreSyn.Rec binds) (Var res)) <- normalizeExpr ("test input #" ++ show cycl) expr
+ expr <- normalizeExpr ("test input #" ++ show cycl) expr
+ -- Split the normalized expression. It can't have a function type, so match
+ -- an empty list of argument binders
+ let ([], binds, res) = splitNormalized expr
(stimulansbindss, useds) <- unzipM $ Monad.mapM mkConcSm binds
sig_dec_maybes <- mapM (mkSigDec . fst) (filter ((/=res).fst) binds)
let sig_decs = map (AST.BDISD) (Maybe.catMaybes $ sig_dec_maybes)
(stimulansbindss, useds) <- unzipM $ Monad.mapM mkConcSm binds
sig_dec_maybes <- mapM (mkSigDec . fst) (filter ((/=res).fst) binds)
let sig_decs = map (AST.BDISD) (Maybe.catMaybes $ sig_dec_maybes)