From 71fbb7d2e5c603e05a142c2b9fb3804424ddda40 Mon Sep 17 00:00:00 2001 From: Yehowshua Immanuel Date: Thu, 10 Apr 2025 10:59:52 -0400 Subject: [PATCH] add bus diagram and further work on Bus --- bs/Bus.bs | 20 ++- diagrams/.$bus.drawio.bkp | 360 ++++++++++++++++++++++++++++++++++++++ diagrams/bus.drawio | 360 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 732 insertions(+), 8 deletions(-) create mode 100644 diagrams/.$bus.drawio.bkp create mode 100644 diagrams/bus.drawio diff --git a/bs/Bus.bs b/bs/Bus.bs index 58ad27e..7313953 100644 --- a/bs/Bus.bs +++ b/bs/Bus.bs @@ -32,23 +32,27 @@ mkBus busMap = do dummyVar :: Reg(Bool) dummyVar <- mkReg False - -- Queues to hold requests from clients to servers - requestQueues :: Vector numServers (FIFOF (TaggedBusRequest inFlightTransactions)) - requestQueues <- replicateM (mkSizedBypassFIFOF (valueOf inFlightTransactions)) + -- Queues to hold requests from clients to arbiter + clientRequestQueues :: Vector numClients (FIFOF (TaggedBusRequest inFlightTransactions)) + clientRequestQueues <- replicateM (mkSizedBypassFIFOF (valueOf inFlightTransactions)) - -- Queues to hold responses from servers to clients - responseQueues :: Vector numClients (FIFOF (TaggedBusResponse inFlightTransactions)) - responseQueues <- replicateM (mkSizedBypassFIFOF (valueOf inFlightTransactions)) + -- Queues to hold responses from arbiter to clients + clientResponseQueues :: Vector numClients (FIFOF (TaggedBusResponse inFlightTransactions)) + clientResponseQueues <- replicateM (mkSizedBypassFIFOF (valueOf inFlightTransactions)) + + -- -- Queues to hold requests from arbiter to server + -- serverRequestQueues :: Vector numServers (FIFOF (TaggedBusRequest inFlightTransactions)) + -- serverRequestQueues <- replicateM (mkSizedBypassFIFOF (valueOf inFlightTransactions)) -- Client interface vector let clients :: Vector numClients (BusClient inFlightTransactions) clients = genWith $ \clientIdx -> let selectedClientRequestQueue :: FIFOF (TaggedBusRequest inFlightTransactions) - selectedClientRequestQueue = (select requestQueues clientIdx) + selectedClientRequestQueue = (select clientRequestQueues clientIdx) selectedClientResponseQueue :: FIFOF (TaggedBusResponse inFlightTransactions) - selectedClientResponseQueue = (select responseQueues clientIdx) + selectedClientResponseQueue = (select clientResponseQueues clientIdx) selectedTagEngine :: TagEngine inFlightTransactions selectedTagEngine = (select tagEngineByClientVec clientIdx) diff --git a/diagrams/.$bus.drawio.bkp b/diagrams/.$bus.drawio.bkp new file mode 100644 index 0000000..bc4e718 --- /dev/null +++ b/diagrams/.$bus.drawio.bkp @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/diagrams/bus.drawio b/diagrams/bus.drawio new file mode 100644 index 0000000..97ba9e7 --- /dev/null +++ b/diagrams/bus.drawio @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +