quieter builds, more type uniformity, full compiles

- made builds less verbose on Mac by removing `-cpp`
 - made type constructors for most instances of `(UInt (TLog n))`
 - addressed cases where types built upon `(UInt (TLog n))` may have
   a max value of `n`, which necessitates changing the type to
   ` (UInt (TLog (TAdd 1 n)))`
 - compiler wouldn't fully evaluate types unless mkBus was
   instantiated
This commit is contained in:
Yehowshua Immanuel 2025-04-10 20:46:53 -04:00
parent 548a2f26bd
commit 5efef8b19c
7 changed files with 58 additions and 20 deletions

View file

@ -10,6 +10,9 @@ import TagEngine
import List
import ActionSeq
import Vector
import BusTypes
import TagEngineTester
type FCLK = 25000000
@ -57,11 +60,18 @@ mkTop = do
mkSim :: Module Empty
mkSim = do
_ :: Empty <- mkTagEngineTester
initCFunctions :: Reg Bool <- mkReg False;
core :: Core FCLK <- mkCore;
initCFunctions :: Reg Bool <- mkReg False
core :: Core FCLK <- mkCore
let busMap _ = Just 0
bus :: (Bus 4 2 2) <- mkBus busMap
addRules $
rules
"test bus": when True ==>
do
let server = (Vector.select bus.servers 0)
result <- server.consumeRequest
$display (fshow result)
"initCFunctionsOnce": when not initCFunctions ==>
do
initTerminal