more work on uart server now with diagram
This commit is contained in:
parent
842c19d441
commit
1b62021029
|
@ -6,8 +6,13 @@ package Uart(
|
|||
import Serializer
|
||||
import Deserializer
|
||||
import BusTypes
|
||||
import Types
|
||||
import Util
|
||||
|
||||
import FIFO
|
||||
import FIFOF
|
||||
import SpecialFIFOs
|
||||
|
||||
-- Out is out from the FPGA and In is in to the FPGA
|
||||
interface (UartPhy :: # -> # -> *) clkFreq baudRate =
|
||||
bitOut :: Bit 1
|
||||
|
@ -18,7 +23,10 @@ mkUartPhy :: (BusTypes.BusServer inFlightTransactions numClients)
|
|||
mkUartPhy dedicatedServerInterface = do
|
||||
fileHandle :: Handle <- openFile "mkUartPhy.log" WriteMode
|
||||
deserializer :: Deserializer clkFreq baudRate <- mkDeserialize fileHandle
|
||||
serializer :: Serializer clkFreq baudRate <- mkSerialize fileHandle
|
||||
serializer :: Serializer clkFreq baudRate <- mkSerialize fileHandle
|
||||
|
||||
taggedResponseBuffer :: (FIFO (BusTypes.TaggedBusResponse inFlightTransactions)) <- mkFIFO
|
||||
|
||||
return |>
|
||||
interface UartPhy
|
||||
bitOut = 1
|
||||
|
|
119
diagrams/uart-server.drawio
Normal file
119
diagrams/uart-server.drawio
Normal file
|
@ -0,0 +1,119 @@
|
|||
<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.1.0 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" modified="2025-04-21T12:56:28.570Z" etag="135kqfW6HrLqAYEkHSZ3" version="24.1.0" type="device">
|
||||
<diagram name="simplified" id="y4uZzcGV7WDpy27g0Dv6">
|
||||
<mxGraphModel dx="669" dy="748" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-5" value="" style="endArrow=none;dashed=1;html=1;rounded=0;jumpStyle=none;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="560" as="sourcePoint" />
|
||||
<mxPoint x="560" y="560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-2" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="240" as="sourcePoint" />
|
||||
<mxPoint x="560" y="240" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="DDLsznhKMAXYVWb-8vYK-289" value="<div style="font-size: 9px;"><br style="font-size: 9px;"></div><div style="font-size: 9px;">submit</div><div style="font-size: 9px;">response</div>" style="endArrow=classic;html=1;rounded=0;labelBackgroundColor=default;fontSize=9;" parent="1" edge="1">
|
||||
<mxGeometry x="-0.1667" width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="479.66" y="280" as="sourcePoint" />
|
||||
<mxPoint x="480" y="160" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-1" value="Bus" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;fontSize=12;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="120" width="200" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-3" value="Bus Side" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="170" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-4" value="Uart Server Side" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="390" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-6" value="Uart PHY Side" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="640" width="70" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-8" value="rx_bitIn" style="endArrow=classic;html=1;rounded=0;fontSize=10;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="360" y="680" as="sourcePoint" />
|
||||
<mxPoint x="360" y="520" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-9" value="tx_bitOut" style="endArrow=classic;html=1;rounded=0;fontSize=10;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="480" y="520" as="sourcePoint" />
|
||||
<mxPoint x="480" y="680" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-10" value="tagged response buffer" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="280" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-11" value="" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="420" width="200" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-12" value="logic" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="500" width="200" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-13" value="RBR" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="460" width="80" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-14" value="LSR" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="460" width="80" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-15" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="479.65999999999997" y="500" as="sourcePoint" />
|
||||
<mxPoint x="480" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-16" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="359.65999999999997" y="500" as="sourcePoint" />
|
||||
<mxPoint x="360" y="480" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-18" value="<font style="font-size: 10px;">serializer</font>" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="436" y="505" width="80" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-19" value="<font style="font-size: 10px;">deserializer</font>" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="325" y="505" width="80" height="10" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="479.80999999999995" y="460" as="sourcePoint" />
|
||||
<mxPoint x="480.15" y="440" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="359.80999999999995" y="460" as="sourcePoint" />
|
||||
<mxPoint x="360.15" y="440" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-22" value="consume<div>request</div>" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="360" y="160" as="sourcePoint" />
|
||||
<mxPoint x="330" y="430" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="360" y="200" />
|
||||
<mxPoint x="300" y="200" />
|
||||
<mxPoint x="300" y="430" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="Sv9p3IYeCetwLeYRvYKd-23" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="420" y="420" as="sourcePoint" />
|
||||
<mxPoint x="480" y="320" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="420" y="360" />
|
||||
<mxPoint x="480" y="360" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
Loading…
Reference in a new issue