File tree 2 files changed +18
-4
lines changed
2 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -90,14 +90,21 @@ def __init__(self, serdes):
90
90
91
91
# Input
92
92
sensitivity = Signal (2 )
93
- self .sync .rio += If (self .rtlink .o .stb & (self .rtlink .o .address == 2 ),
94
- sensitivity .eq (self .rtlink .o .data ))
93
+ sample = Signal ()
94
+ self .sync .rio += [
95
+ sample .eq (0 ),
96
+ If (self .rtlink .o .stb & self .rtlink .o .address [1 ],
97
+ sensitivity .eq (self .rtlink .o .data ),
98
+ If (self .rtlink .o .address [0 ], sample .eq (1 ))
99
+ )
100
+ ]
95
101
96
102
i = serdes .i [- 1 ]
97
103
i_d = Signal ()
98
104
self .sync .rio_phy += [
99
105
i_d .eq (i ),
100
106
self .rtlink .i .stb .eq (
107
+ sample |
101
108
(sensitivity [0 ] & ( i & ~ i_d )) |
102
109
(sensitivity [1 ] & (~ i & i_d ))
103
110
),
Original file line number Diff line number Diff line change @@ -59,15 +59,22 @@ def __init__(self, pad):
59
59
ts .oe .eq (oe_k )
60
60
)
61
61
]
62
- self .sync .rio += If (self .rtlink .o .stb & (self .rtlink .o .address == 2 ),
63
- sensitivity .eq (self .rtlink .o .data ))
62
+ sample = Signal ()
63
+ self .sync .rio += [
64
+ sample .eq (0 ),
65
+ If (self .rtlink .o .stb & self .rtlink .o .address [1 ],
66
+ sensitivity .eq (self .rtlink .o .data ),
67
+ If (self .rtlink .o .address [0 ], sample .eq (1 ))
68
+ )
69
+ ]
64
70
65
71
i = Signal ()
66
72
i_d = Signal ()
67
73
self .specials += MultiReg (ts .i , i , "rio_phy" )
68
74
self .sync .rio_phy += i_d .eq (i )
69
75
self .comb += [
70
76
self .rtlink .i .stb .eq (
77
+ sample |
71
78
(sensitivity [0 ] & ( i & ~ i_d )) |
72
79
(sensitivity [1 ] & (~ i & i_d ))
73
80
),
You can’t perform that action at this time.
0 commit comments