incomplete but need to come to stopping point

This commit is contained in:
Yehowshua Immanuel 2025-04-10 21:42:15 -04:00
parent 5efef8b19c
commit cffbadd1cc

View file

@ -24,17 +24,19 @@ dummyRule =
"test rule": when True ==> do
$display "test rule"
-- we need a way to make serverMap safer...
mkBus :: (Addr -> Maybe ServerIdx)
-> Module (Bus inFlightTransactions numClients numServers)
mkBus busMap = do
mkBus serverMap = do
-- Tag engines for each client to manage transaction tags
tagEngineByClientVec :: Vector numClients (TagEngine inFlightTransactions)
tagEngineByClientVec <- replicateM mkTagEngine
clientArbiters :: Arbiter.Arbiter_IFC numClients
-- each
clientArbiters :: Arbiter.Arbiter_IFC numServers
clientArbiters <- mkArbiter False
serverArbiters :: Arbiter.Arbiter_IFC numServers
serverArbiters :: Arbiter.Arbiter_IFC numClients
serverArbiters <- mkArbiter False
dummyVar :: Reg(Bool)
@ -50,22 +52,30 @@ mkBus busMap = do
let clientRouter :: Vector numClients (Rules)
clientRouter = genWith $ \clientIdx ->
rules
"test rule": when True ==> do
$display "client test rule"
let
selectedClientRequestQueue :: FIFOF (TaggedBusRequest inFlightTransactions)
selectedClientRequestQueue = (select clientRequestQueues clientIdx)
in
rules
"route request": when True ==> do
let
clientRequest :: (TaggedBusRequest inFlightTransactions)
clientRequest = selectedClientRequestQueue.first
let clientRouter :: Rules
clientRouter =
rules
"test rule": when True ==> do
$display "client test rule"
-- targetAddr :: Addr = busRequestToAddr clientRequest
-- targetServerIdx :: (Maybe ServerIdx) = serverMap targetAddr
-- case targetServerIdx of
-- Just serverIdx -> do
-- targetServerArbiter ::
$display "client test rule " (fromInteger clientIdx)
addRules |> foldr (<+>) (rules {}) clientRouter
-- Rules
addRules |>
rules
"test rule": when True ==> do
$display "test rule"
<+> clientRouter
-- Client interface vector
let clients :: Vector numClients (BusClient inFlightTransactions)