Skip to content

Commit b6a566f

Browse files
committed
Add KnownDomain to unsafeToReset
In preparation for #2589 "Remove KnownDomain". This is the only constraint addition in clash-prelude in for the KnownDomain removal, by adding it here for 1.8 we can do the KnownDomain removal later, with less backwards compatibility issues. This commit also had to add a KnownDomain to invertReset, because it used unsafeToReset, but this will be removed again by #2589.
1 parent 8dff0e2 commit b6a566f

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

clash-lib/prims/commonverilog/Clash_Signal_Internal.primitives.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
name: Clash.Signal.Internal.unsafeToReset
1010
kind: Expression
1111
type: 'unsafeToReset ::
12-
Signal dom Bool -> Reset dom'
13-
template: ~ARG[0]
12+
KnownDomain dom => Signal dom Bool -> Reset dom'
13+
template: ~ARG[1]
1414
workInfo: Never

clash-lib/prims/vhdl/Clash_Signal_Internal.primitives.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,6 @@
230230
name: Clash.Signal.Internal.unsafeToReset
231231
kind: Declaration
232232
type: 'unsafeToReset ::
233-
Signal dom Bool -> Reset dom'
234-
template: ~RESULT <= '1' when ~ARG[0] = true else '0';
233+
KnownDomain dom => Signal dom Bool -> Reset dom'
234+
template: ~RESULT <= '1' when ~ARG[1] = true else '0';
235235
workInfo: Never

clash-prelude/src/Clash/Signal/Internal.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,7 +1279,8 @@ unsafeFromReset (Reset r) = r
12791279
-- __NB__: You probably want to use 'unsafeFromActiveLow' or
12801280
-- 'unsafeFromActiveHigh'.
12811281
unsafeToReset
1282-
:: Signal dom Bool
1282+
:: KnownDomain dom
1283+
=> Signal dom Bool
12831284
-> Reset dom
12841285
unsafeToReset r = Reset r
12851286
-- See: https://github.com/clash-lang/clash-compiler/pull/2511
@@ -1359,7 +1360,7 @@ unsafeFromActiveLow r =
13591360
SActiveLow -> r
13601361

13611362
-- | Invert reset signal
1362-
invertReset :: Reset dom -> Reset dom
1363+
invertReset :: KnownDomain dom => Reset dom -> Reset dom
13631364
invertReset = unsafeToReset . fmap not . unsafeFromReset
13641365

13651366
infixr 2 .||.

0 commit comments

Comments
 (0)