Created
May 18, 2018 15:44
-
-
Save martijnbastiaan/dee0b7455097265b2c43c077092b38ea to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
martijn@deskei ~/code/clash-compiler-qbl master $ cabal new-run clash -- scratch/Mac.hs --vhdl -fclash-nocache -fclash-debug DebugFinal | |
Up to date | |
Loading dependencies took 0.754814242s | |
Parsing and compiling primitives took 0.068400107s | |
Compiling: MAC.topEntity | |
Ignoring .manifest files | |
MAC.topEntity8214565720323808422 before normalization: | |
λ(clk :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom A 5000) | |
Clash.Signal.Internal.Source) -> | |
λ(rst :: Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom A 5000) | |
Clash.Signal.Internal.Asynchronous) -> | |
letrec | |
ds :: GHC.Tuple.(,,) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) | |
= Clash.Intel.ClockGen.alteraPll | |
@(GHC.Tuple.(,,) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool)) | |
@altpll50to100 | |
@(Clash.Signal.Internal.Dom A 5000) | |
(Clash.Clocks.$fClocks(,,)_$cclocks8214565720323824704 | |
@(Clash.Signal.Internal.Dom B 10000) | |
@(Clash.Signal.Internal.Dom C 15000) | |
@(Clash.Signal.Internal.Dom B 10000)) | |
(Clash.Promoted.Symbol.SSymbol @altpll50to100 | |
MAC.topEntity18214565720323825945) | |
clk | |
rst | |
in letrec | |
pllOut :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool | |
= case ds of | |
GHC.Tuple.(,,) | |
(clk1 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(clk2 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(pllOut1 :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
pllOut1 | |
in letrec | |
clk1 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source | |
= case ds of | |
GHC.Tuple.(,,) | |
(clk2 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(clk3 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(pllOut1 :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
clk2 | |
in GHC.Tuple.(,) | |
@(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Int) | |
@(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom C 15000) | |
GHC.Types.Int) | |
(MAC.mac8214565720323808421 | |
@(Clash.Signal.Internal.Dom B 10000) | |
@Clash.Signal.Internal.Source | |
@Clash.Signal.Internal.Asynchronous | |
@(GHC.Types.Any | |
(GHC.Prim.TYPE GHC.Types.LiftedRep)) | |
(GHC.Classes.C:(%,%) | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous)) | |
clk1 | |
(Clash.Signal.Internal.unsafeToAsyncReset | |
@(Clash.Signal.Internal.Dom B 10000) | |
pllOut)) | |
(GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(GHC.Types.I# | |
3) | |
(GHC.Types.I# | |
3))) | |
(letrec | |
clk2 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source | |
= case ds of | |
GHC.Tuple.(,,) | |
(clk4 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(clk5 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(pllOut1 :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
clk5 | |
in MAC.mac8214565720323808421 | |
@(Clash.Signal.Internal.Dom C 15000) | |
@Clash.Signal.Internal.Source | |
@Clash.Signal.Internal.Asynchronous | |
@(GHC.Types.Any | |
(GHC.Prim.TYPE GHC.Types.LiftedRep)) | |
(GHC.Classes.C:(%,%) | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous)) | |
clk2 | |
(Clash.Signal.Internal.unsafeToAsyncReset | |
@(Clash.Signal.Internal.Dom C 15000) | |
(Clash.Explicit.Signal.unsafeSynchronizer | |
@(Clash.Signal.Internal.Dom B 10000) | |
@Clash.Signal.Internal.Source | |
@(Clash.Signal.Internal.Dom C 15000) | |
@Clash.Signal.Internal.Source | |
@GHC.Types.Bool | |
clk1 | |
clk2 | |
pllOut))) | |
(GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(GHC.Types.I# | |
8) | |
(GHC.Types.I# | |
8))) | |
MAC.topEntity8214565720323808422 after normalization: | |
λ(clk :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom A 5000) | |
Clash.Signal.Internal.Source) -> | |
λ(rst :: Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom A 5000) | |
Clash.Signal.Internal.Asynchronous) -> | |
letrec | |
result1 :: GHC.Tuple.(,) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Int) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom C 15000) | |
GHC.Types.Int) | |
= GHC.Tuple.(,) | |
@(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Int) | |
@(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom C 15000) | |
GHC.Types.Int) | |
#app_arg2 | |
result | |
#app_arg2 :: GHC.Types.Int | |
= MAC.mac13 | |
(GHC.Classes.C:(%,%) | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous)) | |
clk2 | |
#app_arg1) | |
result :: GHC.Types.Int | |
= MAC.mac15 | |
(GHC.Classes.C:(%,%) | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous)) | |
clk5 | |
#app_arg) | |
#app_arg1 :: Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous | |
= Clash.Signal.Internal.unsafeToAsyncReset | |
@(Clash.Signal.Internal.Dom B 10000) | |
pllOut1 | |
#app_arg :: Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous | |
= Clash.Signal.Internal.unsafeToAsyncReset | |
@(Clash.Signal.Internal.Dom C 15000) | |
(Clash.Explicit.Signal.unsafeSynchronizer | |
@(Clash.Signal.Internal.Dom B 10000) | |
@Clash.Signal.Internal.Source | |
@(Clash.Signal.Internal.Dom C 15000) | |
@Clash.Signal.Internal.Source | |
@GHC.Types.Bool | |
(Clash.Transformations.removedArg | |
@(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
(Clash.Transformations.removedArg | |
@(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
pllOut1) | |
clk5 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source | |
= case ds of | |
GHC.Tuple.(,,) | |
(#wild1 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(#sel :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(#wild :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
#sel | |
clk2 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source | |
= case ds of | |
GHC.Tuple.(,,) | |
(#sel :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(#wild1 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(#wild :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
#sel | |
pllOut1 :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool | |
= case ds of | |
GHC.Tuple.(,,) | |
(#wild1 :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(#wild :: Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(#sel :: Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) -> | |
#sel | |
ds :: GHC.Tuple.(,,) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) | |
= Clash.Intel.ClockGen.alteraPll | |
@(GHC.Tuple.(,,) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool)) | |
@altpll50to100 | |
@(Clash.Signal.Internal.Dom A 5000) | |
Clash.Clocks.$fClocks(,,)_$cclocks11 | |
(Clash.Transformations.removedArg | |
@(Clash.Promoted.Symbol.SSymbol altpll50to100)) | |
clk | |
rst | |
in result1 | |
MAC.mac13 before normalization: | |
λ($d(%,%) :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous))) -> | |
(Λdomain -> | |
Λgated -> | |
Λsynchronous -> | |
Λn -> | |
λ($d(%,%)1 :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous))) -> | |
λ(eta :: Clash.Signal.Internal.Signal | |
domain | |
(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)) -> | |
Clash.Explicit.Mealy.mealy8214565720323789035 | |
@domain | |
@gated | |
@synchronous | |
@GHC.Types.Int | |
@(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int) | |
@GHC.Types.Int | |
(GHC.Classes.$p1(%,%)8214565720323787326 | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous)) | |
$d(%,%)1) | |
(GHC.Classes.$p2(%,%)8214565720323787324 | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous)) | |
$d(%,%)1) | |
(λ(acc :: GHC.Types.Int) -> | |
λ(ds :: GHC.Tuple.(,) | |
GHC.Types.Int | |
GHC.Types.Int) -> | |
case ds of | |
GHC.Tuple.(,) (x :: GHC.Types.Int) | |
(y :: GHC.Types.Int) -> | |
GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(case acc of | |
GHC.Types.I# (x1 :: GHC.Prim.Int#) -> | |
case x of | |
GHC.Types.I# (x2 :: GHC.Prim.Int#) -> | |
case y of | |
GHC.Types.I# (y1 :: GHC.Prim.Int#) -> | |
GHC.Types.I# | |
(GHC.Prim.+# | |
x1 | |
(GHC.Prim.*# | |
x2 | |
y1))) | |
acc) | |
(GHC.Types.I# | |
0) | |
eta) | |
@(Clash.Signal.Internal.Dom B 10000) | |
@Clash.Signal.Internal.Source | |
@Clash.Signal.Internal.Asynchronous | |
@(GHC.Types.Any | |
(GHC.Prim.TYPE GHC.Types.LiftedRep)) | |
$d(%,%) | |
(GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(GHC.Types.I# | |
3) | |
(GHC.Types.I# | |
3)) | |
MAC.mac13 after normalization: | |
λ($d(%,%) :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous))) -> | |
letrec | |
result :: GHC.Types.Int | |
= Clash.Explicit.Mealy.mealy79 | |
(case $d(%,%) of | |
GHC.Classes.C:(%,%) (#sel :: GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
(#wild :: GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous)) -> | |
#sel) | |
(case $d(%,%) of | |
GHC.Classes.C:(%,%) (#wild :: GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source)) | |
(#sel :: GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Asynchronous)) -> | |
#sel) | |
in result | |
MAC.mac15 before normalization: | |
λ($d(%,%) :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous))) -> | |
(Λdomain -> | |
Λgated -> | |
Λsynchronous -> | |
Λn -> | |
λ($d(%,%)1 :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous))) -> | |
λ(eta :: Clash.Signal.Internal.Signal | |
domain | |
(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)) -> | |
Clash.Explicit.Mealy.mealy8214565720323789035 | |
@domain | |
@gated | |
@synchronous | |
@GHC.Types.Int | |
@(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int) | |
@GHC.Types.Int | |
(GHC.Classes.$p1(%,%)8214565720323787326 | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous)) | |
$d(%,%)1) | |
(GHC.Classes.$p2(%,%)8214565720323787324 | |
@(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock domain gated)) | |
@(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
domain | |
synchronous)) | |
$d(%,%)1) | |
(λ(acc :: GHC.Types.Int) -> | |
λ(ds :: GHC.Tuple.(,) | |
GHC.Types.Int | |
GHC.Types.Int) -> | |
case ds of | |
GHC.Tuple.(,) (x :: GHC.Types.Int) | |
(y :: GHC.Types.Int) -> | |
GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(case acc of | |
GHC.Types.I# (x1 :: GHC.Prim.Int#) -> | |
case x of | |
GHC.Types.I# (x2 :: GHC.Prim.Int#) -> | |
case y of | |
GHC.Types.I# (y1 :: GHC.Prim.Int#) -> | |
GHC.Types.I# | |
(GHC.Prim.+# | |
x1 | |
(GHC.Prim.*# | |
x2 | |
y1))) | |
acc) | |
(GHC.Types.I# | |
0) | |
eta) | |
@(Clash.Signal.Internal.Dom C 15000) | |
@Clash.Signal.Internal.Source | |
@Clash.Signal.Internal.Asynchronous | |
@(GHC.Types.Any | |
(GHC.Prim.TYPE GHC.Types.LiftedRep)) | |
$d(%,%) | |
(GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int | |
(GHC.Types.I# | |
8) | |
(GHC.Types.I# | |
8)) | |
MAC.mac15 after normalization: | |
λ($d(%,%) :: GHC.Classes.(%,%) | |
(GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
(GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous))) -> | |
letrec | |
result :: GHC.Types.Int | |
= Clash.Explicit.Mealy.mealy110 | |
(case $d(%,%) of | |
GHC.Classes.C:(%,%) (#sel :: GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
(#wild :: GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous)) -> | |
#sel) | |
(case $d(%,%) of | |
GHC.Classes.C:(%,%) (#wild :: GHC.Classes.IP | |
clk | |
(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source)) | |
(#sel :: GHC.Classes.IP | |
rst | |
(Clash.Signal.Internal.Reset | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Asynchronous)) -> | |
#sel) | |
in result | |
Clash.Clocks.$fClocks(,,)_$cclocks11 before normalization: | |
(Λc1 -> | |
Λc2 -> | |
ΛpllLock -> | |
ΛpllIn -> | |
λ(clk :: Clash.Signal.Internal.Clock | |
pllIn | |
Clash.Signal.Internal.Source) -> | |
λ(ds :: Clash.Signal.Internal.Reset | |
pllIn | |
Clash.Signal.Internal.Asynchronous) -> | |
case ds of | |
Clash.Signal.Internal.Async | |
(cobox :: GHC.Prim.~# | |
Clash.Signal.Internal.ResetKind | |
Clash.Signal.Internal.ResetKind | |
Clash.Signal.Internal.Asynchronous | |
Clash.Signal.Internal.Asynchronous) | |
(rst :: Clash.Signal.Internal.Signal | |
pllIn | |
GHC.Types.Bool) -> | |
GHC.Tuple.(,,) | |
@(Clash.Signal.Internal.Clock | |
c1 | |
Clash.Signal.Internal.Source) | |
@(Clash.Signal.Internal.Clock | |
c2 | |
Clash.Signal.Internal.Source) | |
@(Clash.Signal.Internal.Signal | |
pllLock | |
GHC.Types.Bool) | |
(Clash.Signal.Internal.clockGate @pllIn | |
@Clash.Signal.Internal.Source | |
clk | |
rst) | |
(Clash.Signal.Internal.clockGate @pllIn | |
@Clash.Signal.Internal.Source | |
clk | |
rst) | |
rst) | |
@(Clash.Signal.Internal.Dom B 10000) | |
@(Clash.Signal.Internal.Dom C 15000) | |
@(Clash.Signal.Internal.Dom B 10000) | |
Clash.Clocks.$fClocks(,,)_$cclocks11 after normalization: | |
ΛpllIn -> | |
λ(clk :: Clash.Signal.Internal.Clock | |
pllIn | |
Clash.Signal.Internal.Source) -> | |
λ(ds :: Clash.Signal.Internal.Reset | |
pllIn | |
Clash.Signal.Internal.Asynchronous) -> | |
case ds of | |
Clash.Signal.Internal.Async | |
(cobox :: GHC.Prim.~# | |
Clash.Signal.Internal.ResetKind | |
Clash.Signal.Internal.ResetKind | |
Clash.Signal.Internal.Asynchronous | |
Clash.Signal.Internal.Asynchronous) | |
(rst :: Clash.Signal.Internal.Signal | |
pllIn | |
GHC.Types.Bool) -> | |
GHC.Tuple.(,,) | |
@(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom B 10000) | |
Clash.Signal.Internal.Source) | |
@(Clash.Signal.Internal.Clock | |
(Clash.Signal.Internal.Dom C 15000) | |
Clash.Signal.Internal.Source) | |
@(Clash.Signal.Internal.Signal | |
(Clash.Signal.Internal.Dom B 10000) | |
GHC.Types.Bool) | |
(Clash.Signal.Internal.clockGate @pllIn | |
@Clash.Signal.Internal.Source | |
clk | |
rst) | |
(Clash.Signal.Internal.clockGate @pllIn | |
@Clash.Signal.Internal.Source | |
clk | |
rst) | |
rst | |
<no location info>: error: | |
Clash.Normalize(379): Can't translate domain: VarTy (ConstTy (TyCon (Name {nameSort = User, nameOcc = Clash.Signal.Internal.Domain8214565720323787388, nameLoc = UnhelpfulSpan "<no location info>"}))) (Name {nameSort = User, nameOcc = pllIn, nameLoc = UnhelpfulSpan "<no location info>"}) | |
OtherType (VarTy (ConstTy (TyCon (Name {nameSort = User, nameOcc = Clash.Signal.Internal.Domain8214565720323787388, nameLoc = UnhelpfulSpan "<no location info>"}))) (Name {nameSort = User, nameOcc = pllIn, nameLoc = UnhelpfulSpan "<no location info>"})) | |
NB: The source location of the error is not exact, only indicative, as it is acquired after optimisations. | |
The actual location of the error can be in a function that is inlined. | |
To prevent inlining of those functions, annotate them with a NOINLINE pragma. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment