Guest User

Untitled

a guest
May 23rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.50 KB | None | 0 0
  1. martijn@deskei ~/code/clash-compiler-qbl master $ cabal new-run clash -- scratch/Mac.hs --vhdl -fclash-nocache -fclash-debug DebugFinal
  2. Up to date
  3. Loading dependencies took 0.754814242s
  4. Parsing and compiling primitives took 0.068400107s
  5. Compiling: MAC.topEntity
  6. Ignoring .manifest files
  7. MAC.topEntity8214565720323808422 before normalization:
  8.  
  9. λ(clk :: Clash.Signal.Internal.Clock
  10. (Clash.Signal.Internal.Dom A 5000)
  11. Clash.Signal.Internal.Source) ->
  12. λ(rst :: Clash.Signal.Internal.Reset
  13. (Clash.Signal.Internal.Dom A 5000)
  14. Clash.Signal.Internal.Asynchronous) ->
  15. letrec
  16. ds :: GHC.Tuple.(,,)
  17. (Clash.Signal.Internal.Clock
  18. (Clash.Signal.Internal.Dom B 10000)
  19. Clash.Signal.Internal.Source)
  20. (Clash.Signal.Internal.Clock
  21. (Clash.Signal.Internal.Dom C 15000)
  22. Clash.Signal.Internal.Source)
  23. (Clash.Signal.Internal.Signal
  24. (Clash.Signal.Internal.Dom B 10000)
  25. GHC.Types.Bool)
  26. = Clash.Intel.ClockGen.alteraPll
  27. @(GHC.Tuple.(,,)
  28. (Clash.Signal.Internal.Clock
  29. (Clash.Signal.Internal.Dom B 10000)
  30. Clash.Signal.Internal.Source)
  31. (Clash.Signal.Internal.Clock
  32. (Clash.Signal.Internal.Dom C 15000)
  33. Clash.Signal.Internal.Source)
  34. (Clash.Signal.Internal.Signal
  35. (Clash.Signal.Internal.Dom B 10000)
  36. GHC.Types.Bool))
  37. @altpll50to100
  38. @(Clash.Signal.Internal.Dom A 5000)
  39. (Clash.Clocks.$fClocks(,,)_$cclocks8214565720323824704
  40. @(Clash.Signal.Internal.Dom B 10000)
  41. @(Clash.Signal.Internal.Dom C 15000)
  42. @(Clash.Signal.Internal.Dom B 10000))
  43. (Clash.Promoted.Symbol.SSymbol @altpll50to100
  44. MAC.topEntity18214565720323825945)
  45. clk
  46. rst
  47. in letrec
  48. pllOut :: Clash.Signal.Internal.Signal
  49. (Clash.Signal.Internal.Dom B 10000)
  50. GHC.Types.Bool
  51. = case ds of
  52. GHC.Tuple.(,,)
  53. (clk1 :: Clash.Signal.Internal.Clock
  54. (Clash.Signal.Internal.Dom B 10000)
  55. Clash.Signal.Internal.Source)
  56. (clk2 :: Clash.Signal.Internal.Clock
  57. (Clash.Signal.Internal.Dom C 15000)
  58. Clash.Signal.Internal.Source)
  59. (pllOut1 :: Clash.Signal.Internal.Signal
  60. (Clash.Signal.Internal.Dom B 10000)
  61. GHC.Types.Bool) ->
  62. pllOut1
  63. in letrec
  64. clk1 :: Clash.Signal.Internal.Clock
  65. (Clash.Signal.Internal.Dom B 10000)
  66. Clash.Signal.Internal.Source
  67. = case ds of
  68. GHC.Tuple.(,,)
  69. (clk2 :: Clash.Signal.Internal.Clock
  70. (Clash.Signal.Internal.Dom B 10000)
  71. Clash.Signal.Internal.Source)
  72. (clk3 :: Clash.Signal.Internal.Clock
  73. (Clash.Signal.Internal.Dom C 15000)
  74. Clash.Signal.Internal.Source)
  75. (pllOut1 :: Clash.Signal.Internal.Signal
  76. (Clash.Signal.Internal.Dom B 10000)
  77. GHC.Types.Bool) ->
  78. clk2
  79. in GHC.Tuple.(,)
  80. @(Clash.Signal.Internal.Signal
  81. (Clash.Signal.Internal.Dom B 10000)
  82. GHC.Types.Int)
  83. @(Clash.Signal.Internal.Signal
  84. (Clash.Signal.Internal.Dom C 15000)
  85. GHC.Types.Int)
  86. (MAC.mac8214565720323808421
  87. @(Clash.Signal.Internal.Dom B 10000)
  88. @Clash.Signal.Internal.Source
  89. @Clash.Signal.Internal.Asynchronous
  90. @(GHC.Types.Any
  91. (GHC.Prim.TYPE GHC.Types.LiftedRep))
  92. (GHC.Classes.C:(%,%)
  93. @(GHC.Classes.IP
  94. clk
  95. (Clash.Signal.Internal.Clock
  96. (Clash.Signal.Internal.Dom B 10000)
  97. Clash.Signal.Internal.Source))
  98. @(GHC.Classes.IP
  99. rst
  100. (Clash.Signal.Internal.Reset
  101. (Clash.Signal.Internal.Dom B 10000)
  102. Clash.Signal.Internal.Asynchronous))
  103. clk1
  104. (Clash.Signal.Internal.unsafeToAsyncReset
  105. @(Clash.Signal.Internal.Dom B 10000)
  106. pllOut))
  107. (GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  108. (GHC.Types.I#
  109. 3)
  110. (GHC.Types.I#
  111. 3)))
  112. (letrec
  113. clk2 :: Clash.Signal.Internal.Clock
  114. (Clash.Signal.Internal.Dom C 15000)
  115. Clash.Signal.Internal.Source
  116. = case ds of
  117. GHC.Tuple.(,,)
  118. (clk4 :: Clash.Signal.Internal.Clock
  119. (Clash.Signal.Internal.Dom B 10000)
  120. Clash.Signal.Internal.Source)
  121. (clk5 :: Clash.Signal.Internal.Clock
  122. (Clash.Signal.Internal.Dom C 15000)
  123. Clash.Signal.Internal.Source)
  124. (pllOut1 :: Clash.Signal.Internal.Signal
  125. (Clash.Signal.Internal.Dom B 10000)
  126. GHC.Types.Bool) ->
  127. clk5
  128. in MAC.mac8214565720323808421
  129. @(Clash.Signal.Internal.Dom C 15000)
  130. @Clash.Signal.Internal.Source
  131. @Clash.Signal.Internal.Asynchronous
  132. @(GHC.Types.Any
  133. (GHC.Prim.TYPE GHC.Types.LiftedRep))
  134. (GHC.Classes.C:(%,%)
  135. @(GHC.Classes.IP
  136. clk
  137. (Clash.Signal.Internal.Clock
  138. (Clash.Signal.Internal.Dom C 15000)
  139. Clash.Signal.Internal.Source))
  140. @(GHC.Classes.IP
  141. rst
  142. (Clash.Signal.Internal.Reset
  143. (Clash.Signal.Internal.Dom C 15000)
  144. Clash.Signal.Internal.Asynchronous))
  145. clk2
  146. (Clash.Signal.Internal.unsafeToAsyncReset
  147. @(Clash.Signal.Internal.Dom C 15000)
  148. (Clash.Explicit.Signal.unsafeSynchronizer
  149. @(Clash.Signal.Internal.Dom B 10000)
  150. @Clash.Signal.Internal.Source
  151. @(Clash.Signal.Internal.Dom C 15000)
  152. @Clash.Signal.Internal.Source
  153. @GHC.Types.Bool
  154. clk1
  155. clk2
  156. pllOut)))
  157. (GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  158. (GHC.Types.I#
  159. 8)
  160. (GHC.Types.I#
  161. 8)))
  162.  
  163. MAC.topEntity8214565720323808422 after normalization:
  164.  
  165. λ(clk :: Clash.Signal.Internal.Clock
  166. (Clash.Signal.Internal.Dom A 5000)
  167. Clash.Signal.Internal.Source) ->
  168. λ(rst :: Clash.Signal.Internal.Reset
  169. (Clash.Signal.Internal.Dom A 5000)
  170. Clash.Signal.Internal.Asynchronous) ->
  171. letrec
  172. result1 :: GHC.Tuple.(,)
  173. (Clash.Signal.Internal.Signal
  174. (Clash.Signal.Internal.Dom B 10000)
  175. GHC.Types.Int)
  176. (Clash.Signal.Internal.Signal
  177. (Clash.Signal.Internal.Dom C 15000)
  178. GHC.Types.Int)
  179. = GHC.Tuple.(,)
  180. @(Clash.Signal.Internal.Signal
  181. (Clash.Signal.Internal.Dom B 10000)
  182. GHC.Types.Int)
  183. @(Clash.Signal.Internal.Signal
  184. (Clash.Signal.Internal.Dom C 15000)
  185. GHC.Types.Int)
  186. #app_arg2
  187. result
  188. #app_arg2 :: GHC.Types.Int
  189. = MAC.mac13
  190. (GHC.Classes.C:(%,%)
  191. @(GHC.Classes.IP
  192. clk
  193. (Clash.Signal.Internal.Clock
  194. (Clash.Signal.Internal.Dom B 10000)
  195. Clash.Signal.Internal.Source))
  196. @(GHC.Classes.IP
  197. rst
  198. (Clash.Signal.Internal.Reset
  199. (Clash.Signal.Internal.Dom B 10000)
  200. Clash.Signal.Internal.Asynchronous))
  201. clk2
  202. #app_arg1)
  203. result :: GHC.Types.Int
  204. = MAC.mac15
  205. (GHC.Classes.C:(%,%)
  206. @(GHC.Classes.IP
  207. clk
  208. (Clash.Signal.Internal.Clock
  209. (Clash.Signal.Internal.Dom C 15000)
  210. Clash.Signal.Internal.Source))
  211. @(GHC.Classes.IP
  212. rst
  213. (Clash.Signal.Internal.Reset
  214. (Clash.Signal.Internal.Dom C 15000)
  215. Clash.Signal.Internal.Asynchronous))
  216. clk5
  217. #app_arg)
  218. #app_arg1 :: Clash.Signal.Internal.Reset
  219. (Clash.Signal.Internal.Dom B 10000)
  220. Clash.Signal.Internal.Asynchronous
  221. = Clash.Signal.Internal.unsafeToAsyncReset
  222. @(Clash.Signal.Internal.Dom B 10000)
  223. pllOut1
  224. #app_arg :: Clash.Signal.Internal.Reset
  225. (Clash.Signal.Internal.Dom C 15000)
  226. Clash.Signal.Internal.Asynchronous
  227. = Clash.Signal.Internal.unsafeToAsyncReset
  228. @(Clash.Signal.Internal.Dom C 15000)
  229. (Clash.Explicit.Signal.unsafeSynchronizer
  230. @(Clash.Signal.Internal.Dom B 10000)
  231. @Clash.Signal.Internal.Source
  232. @(Clash.Signal.Internal.Dom C 15000)
  233. @Clash.Signal.Internal.Source
  234. @GHC.Types.Bool
  235. (Clash.Transformations.removedArg
  236. @(Clash.Signal.Internal.Clock
  237. (Clash.Signal.Internal.Dom B 10000)
  238. Clash.Signal.Internal.Source))
  239. (Clash.Transformations.removedArg
  240. @(Clash.Signal.Internal.Clock
  241. (Clash.Signal.Internal.Dom C 15000)
  242. Clash.Signal.Internal.Source))
  243. pllOut1)
  244. clk5 :: Clash.Signal.Internal.Clock
  245. (Clash.Signal.Internal.Dom C 15000)
  246. Clash.Signal.Internal.Source
  247. = case ds of
  248. GHC.Tuple.(,,)
  249. (#wild1 :: Clash.Signal.Internal.Clock
  250. (Clash.Signal.Internal.Dom B 10000)
  251. Clash.Signal.Internal.Source)
  252. (#sel :: Clash.Signal.Internal.Clock
  253. (Clash.Signal.Internal.Dom C 15000)
  254. Clash.Signal.Internal.Source)
  255. (#wild :: Clash.Signal.Internal.Signal
  256. (Clash.Signal.Internal.Dom B 10000)
  257. GHC.Types.Bool) ->
  258. #sel
  259. clk2 :: Clash.Signal.Internal.Clock
  260. (Clash.Signal.Internal.Dom B 10000)
  261. Clash.Signal.Internal.Source
  262. = case ds of
  263. GHC.Tuple.(,,)
  264. (#sel :: Clash.Signal.Internal.Clock
  265. (Clash.Signal.Internal.Dom B 10000)
  266. Clash.Signal.Internal.Source)
  267. (#wild1 :: Clash.Signal.Internal.Clock
  268. (Clash.Signal.Internal.Dom C 15000)
  269. Clash.Signal.Internal.Source)
  270. (#wild :: Clash.Signal.Internal.Signal
  271. (Clash.Signal.Internal.Dom B 10000)
  272. GHC.Types.Bool) ->
  273. #sel
  274. pllOut1 :: Clash.Signal.Internal.Signal
  275. (Clash.Signal.Internal.Dom B 10000)
  276. GHC.Types.Bool
  277. = case ds of
  278. GHC.Tuple.(,,)
  279. (#wild1 :: Clash.Signal.Internal.Clock
  280. (Clash.Signal.Internal.Dom B 10000)
  281. Clash.Signal.Internal.Source)
  282. (#wild :: Clash.Signal.Internal.Clock
  283. (Clash.Signal.Internal.Dom C 15000)
  284. Clash.Signal.Internal.Source)
  285. (#sel :: Clash.Signal.Internal.Signal
  286. (Clash.Signal.Internal.Dom B 10000)
  287. GHC.Types.Bool) ->
  288. #sel
  289. ds :: GHC.Tuple.(,,)
  290. (Clash.Signal.Internal.Clock
  291. (Clash.Signal.Internal.Dom B 10000)
  292. Clash.Signal.Internal.Source)
  293. (Clash.Signal.Internal.Clock
  294. (Clash.Signal.Internal.Dom C 15000)
  295. Clash.Signal.Internal.Source)
  296. (Clash.Signal.Internal.Signal
  297. (Clash.Signal.Internal.Dom B 10000)
  298. GHC.Types.Bool)
  299. = Clash.Intel.ClockGen.alteraPll
  300. @(GHC.Tuple.(,,)
  301. (Clash.Signal.Internal.Clock
  302. (Clash.Signal.Internal.Dom B 10000)
  303. Clash.Signal.Internal.Source)
  304. (Clash.Signal.Internal.Clock
  305. (Clash.Signal.Internal.Dom C 15000)
  306. Clash.Signal.Internal.Source)
  307. (Clash.Signal.Internal.Signal
  308. (Clash.Signal.Internal.Dom B 10000)
  309. GHC.Types.Bool))
  310. @altpll50to100
  311. @(Clash.Signal.Internal.Dom A 5000)
  312. Clash.Clocks.$fClocks(,,)_$cclocks11
  313. (Clash.Transformations.removedArg
  314. @(Clash.Promoted.Symbol.SSymbol altpll50to100))
  315. clk
  316. rst
  317. in result1
  318.  
  319. MAC.mac13 before normalization:
  320.  
  321. λ($d(%,%) :: GHC.Classes.(%,%)
  322. (GHC.Classes.IP
  323. clk
  324. (Clash.Signal.Internal.Clock
  325. (Clash.Signal.Internal.Dom B 10000)
  326. Clash.Signal.Internal.Source))
  327. (GHC.Classes.IP
  328. rst
  329. (Clash.Signal.Internal.Reset
  330. (Clash.Signal.Internal.Dom B 10000)
  331. Clash.Signal.Internal.Asynchronous))) ->
  332. (Λdomain ->
  333. Λgated ->
  334. Λsynchronous ->
  335. Λn ->
  336. λ($d(%,%)1 :: GHC.Classes.(%,%)
  337. (GHC.Classes.IP
  338. clk
  339. (Clash.Signal.Internal.Clock domain gated))
  340. (GHC.Classes.IP
  341. rst
  342. (Clash.Signal.Internal.Reset
  343. domain
  344. synchronous))) ->
  345. λ(eta :: Clash.Signal.Internal.Signal
  346. domain
  347. (GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)) ->
  348. Clash.Explicit.Mealy.mealy8214565720323789035
  349. @domain
  350. @gated
  351. @synchronous
  352. @GHC.Types.Int
  353. @(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)
  354. @GHC.Types.Int
  355. (GHC.Classes.$p1(%,%)8214565720323787326
  356. @(GHC.Classes.IP
  357. clk
  358. (Clash.Signal.Internal.Clock domain gated))
  359. @(GHC.Classes.IP
  360. rst
  361. (Clash.Signal.Internal.Reset
  362. domain
  363. synchronous))
  364. $d(%,%)1)
  365. (GHC.Classes.$p2(%,%)8214565720323787324
  366. @(GHC.Classes.IP
  367. clk
  368. (Clash.Signal.Internal.Clock domain gated))
  369. @(GHC.Classes.IP
  370. rst
  371. (Clash.Signal.Internal.Reset
  372. domain
  373. synchronous))
  374. $d(%,%)1)
  375. (λ(acc :: GHC.Types.Int) ->
  376. λ(ds :: GHC.Tuple.(,)
  377. GHC.Types.Int
  378. GHC.Types.Int) ->
  379. case ds of
  380. GHC.Tuple.(,) (x :: GHC.Types.Int)
  381. (y :: GHC.Types.Int) ->
  382. GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  383. (case acc of
  384. GHC.Types.I# (x1 :: GHC.Prim.Int#) ->
  385. case x of
  386. GHC.Types.I# (x2 :: GHC.Prim.Int#) ->
  387. case y of
  388. GHC.Types.I# (y1 :: GHC.Prim.Int#) ->
  389. GHC.Types.I#
  390. (GHC.Prim.+#
  391. x1
  392. (GHC.Prim.*#
  393. x2
  394. y1)))
  395. acc)
  396. (GHC.Types.I#
  397. 0)
  398. eta)
  399. @(Clash.Signal.Internal.Dom B 10000)
  400. @Clash.Signal.Internal.Source
  401. @Clash.Signal.Internal.Asynchronous
  402. @(GHC.Types.Any
  403. (GHC.Prim.TYPE GHC.Types.LiftedRep))
  404. $d(%,%)
  405. (GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  406. (GHC.Types.I#
  407. 3)
  408. (GHC.Types.I#
  409. 3))
  410.  
  411. MAC.mac13 after normalization:
  412.  
  413. λ($d(%,%) :: GHC.Classes.(%,%)
  414. (GHC.Classes.IP
  415. clk
  416. (Clash.Signal.Internal.Clock
  417. (Clash.Signal.Internal.Dom B 10000)
  418. Clash.Signal.Internal.Source))
  419. (GHC.Classes.IP
  420. rst
  421. (Clash.Signal.Internal.Reset
  422. (Clash.Signal.Internal.Dom B 10000)
  423. Clash.Signal.Internal.Asynchronous))) ->
  424. letrec
  425. result :: GHC.Types.Int
  426. = Clash.Explicit.Mealy.mealy79
  427. (case $d(%,%) of
  428. GHC.Classes.C:(%,%) (#sel :: GHC.Classes.IP
  429. clk
  430. (Clash.Signal.Internal.Clock
  431. (Clash.Signal.Internal.Dom B 10000)
  432. Clash.Signal.Internal.Source))
  433. (#wild :: GHC.Classes.IP
  434. rst
  435. (Clash.Signal.Internal.Reset
  436. (Clash.Signal.Internal.Dom B 10000)
  437. Clash.Signal.Internal.Asynchronous)) ->
  438. #sel)
  439. (case $d(%,%) of
  440. GHC.Classes.C:(%,%) (#wild :: GHC.Classes.IP
  441. clk
  442. (Clash.Signal.Internal.Clock
  443. (Clash.Signal.Internal.Dom B 10000)
  444. Clash.Signal.Internal.Source))
  445. (#sel :: GHC.Classes.IP
  446. rst
  447. (Clash.Signal.Internal.Reset
  448. (Clash.Signal.Internal.Dom B 10000)
  449. Clash.Signal.Internal.Asynchronous)) ->
  450. #sel)
  451. in result
  452.  
  453. MAC.mac15 before normalization:
  454.  
  455. λ($d(%,%) :: GHC.Classes.(%,%)
  456. (GHC.Classes.IP
  457. clk
  458. (Clash.Signal.Internal.Clock
  459. (Clash.Signal.Internal.Dom C 15000)
  460. Clash.Signal.Internal.Source))
  461. (GHC.Classes.IP
  462. rst
  463. (Clash.Signal.Internal.Reset
  464. (Clash.Signal.Internal.Dom C 15000)
  465. Clash.Signal.Internal.Asynchronous))) ->
  466. (Λdomain ->
  467. Λgated ->
  468. Λsynchronous ->
  469. Λn ->
  470. λ($d(%,%)1 :: GHC.Classes.(%,%)
  471. (GHC.Classes.IP
  472. clk
  473. (Clash.Signal.Internal.Clock domain gated))
  474. (GHC.Classes.IP
  475. rst
  476. (Clash.Signal.Internal.Reset
  477. domain
  478. synchronous))) ->
  479. λ(eta :: Clash.Signal.Internal.Signal
  480. domain
  481. (GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)) ->
  482. Clash.Explicit.Mealy.mealy8214565720323789035
  483. @domain
  484. @gated
  485. @synchronous
  486. @GHC.Types.Int
  487. @(GHC.Tuple.(,) GHC.Types.Int GHC.Types.Int)
  488. @GHC.Types.Int
  489. (GHC.Classes.$p1(%,%)8214565720323787326
  490. @(GHC.Classes.IP
  491. clk
  492. (Clash.Signal.Internal.Clock domain gated))
  493. @(GHC.Classes.IP
  494. rst
  495. (Clash.Signal.Internal.Reset
  496. domain
  497. synchronous))
  498. $d(%,%)1)
  499. (GHC.Classes.$p2(%,%)8214565720323787324
  500. @(GHC.Classes.IP
  501. clk
  502. (Clash.Signal.Internal.Clock domain gated))
  503. @(GHC.Classes.IP
  504. rst
  505. (Clash.Signal.Internal.Reset
  506. domain
  507. synchronous))
  508. $d(%,%)1)
  509. (λ(acc :: GHC.Types.Int) ->
  510. λ(ds :: GHC.Tuple.(,)
  511. GHC.Types.Int
  512. GHC.Types.Int) ->
  513. case ds of
  514. GHC.Tuple.(,) (x :: GHC.Types.Int)
  515. (y :: GHC.Types.Int) ->
  516. GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  517. (case acc of
  518. GHC.Types.I# (x1 :: GHC.Prim.Int#) ->
  519. case x of
  520. GHC.Types.I# (x2 :: GHC.Prim.Int#) ->
  521. case y of
  522. GHC.Types.I# (y1 :: GHC.Prim.Int#) ->
  523. GHC.Types.I#
  524. (GHC.Prim.+#
  525. x1
  526. (GHC.Prim.*#
  527. x2
  528. y1)))
  529. acc)
  530. (GHC.Types.I#
  531. 0)
  532. eta)
  533. @(Clash.Signal.Internal.Dom C 15000)
  534. @Clash.Signal.Internal.Source
  535. @Clash.Signal.Internal.Asynchronous
  536. @(GHC.Types.Any
  537. (GHC.Prim.TYPE GHC.Types.LiftedRep))
  538. $d(%,%)
  539. (GHC.Tuple.(,) @GHC.Types.Int @GHC.Types.Int
  540. (GHC.Types.I#
  541. 8)
  542. (GHC.Types.I#
  543. 8))
  544.  
  545. MAC.mac15 after normalization:
  546.  
  547. λ($d(%,%) :: GHC.Classes.(%,%)
  548. (GHC.Classes.IP
  549. clk
  550. (Clash.Signal.Internal.Clock
  551. (Clash.Signal.Internal.Dom C 15000)
  552. Clash.Signal.Internal.Source))
  553. (GHC.Classes.IP
  554. rst
  555. (Clash.Signal.Internal.Reset
  556. (Clash.Signal.Internal.Dom C 15000)
  557. Clash.Signal.Internal.Asynchronous))) ->
  558. letrec
  559. result :: GHC.Types.Int
  560. = Clash.Explicit.Mealy.mealy110
  561. (case $d(%,%) of
  562. GHC.Classes.C:(%,%) (#sel :: GHC.Classes.IP
  563. clk
  564. (Clash.Signal.Internal.Clock
  565. (Clash.Signal.Internal.Dom C 15000)
  566. Clash.Signal.Internal.Source))
  567. (#wild :: GHC.Classes.IP
  568. rst
  569. (Clash.Signal.Internal.Reset
  570. (Clash.Signal.Internal.Dom C 15000)
  571. Clash.Signal.Internal.Asynchronous)) ->
  572. #sel)
  573. (case $d(%,%) of
  574. GHC.Classes.C:(%,%) (#wild :: GHC.Classes.IP
  575. clk
  576. (Clash.Signal.Internal.Clock
  577. (Clash.Signal.Internal.Dom C 15000)
  578. Clash.Signal.Internal.Source))
  579. (#sel :: GHC.Classes.IP
  580. rst
  581. (Clash.Signal.Internal.Reset
  582. (Clash.Signal.Internal.Dom C 15000)
  583. Clash.Signal.Internal.Asynchronous)) ->
  584. #sel)
  585. in result
  586.  
  587. Clash.Clocks.$fClocks(,,)_$cclocks11 before normalization:
  588.  
  589. (Λc1 ->
  590. Λc2 ->
  591. ΛpllLock ->
  592. ΛpllIn ->
  593. λ(clk :: Clash.Signal.Internal.Clock
  594. pllIn
  595. Clash.Signal.Internal.Source) ->
  596. λ(ds :: Clash.Signal.Internal.Reset
  597. pllIn
  598. Clash.Signal.Internal.Asynchronous) ->
  599. case ds of
  600. Clash.Signal.Internal.Async
  601. (cobox :: GHC.Prim.~#
  602. Clash.Signal.Internal.ResetKind
  603. Clash.Signal.Internal.ResetKind
  604. Clash.Signal.Internal.Asynchronous
  605. Clash.Signal.Internal.Asynchronous)
  606. (rst :: Clash.Signal.Internal.Signal
  607. pllIn
  608. GHC.Types.Bool) ->
  609. GHC.Tuple.(,,)
  610. @(Clash.Signal.Internal.Clock
  611. c1
  612. Clash.Signal.Internal.Source)
  613. @(Clash.Signal.Internal.Clock
  614. c2
  615. Clash.Signal.Internal.Source)
  616. @(Clash.Signal.Internal.Signal
  617. pllLock
  618. GHC.Types.Bool)
  619. (Clash.Signal.Internal.clockGate @pllIn
  620. @Clash.Signal.Internal.Source
  621. clk
  622. rst)
  623. (Clash.Signal.Internal.clockGate @pllIn
  624. @Clash.Signal.Internal.Source
  625. clk
  626. rst)
  627. rst)
  628. @(Clash.Signal.Internal.Dom B 10000)
  629. @(Clash.Signal.Internal.Dom C 15000)
  630. @(Clash.Signal.Internal.Dom B 10000)
  631.  
  632. Clash.Clocks.$fClocks(,,)_$cclocks11 after normalization:
  633.  
  634. ΛpllIn ->
  635. λ(clk :: Clash.Signal.Internal.Clock
  636. pllIn
  637. Clash.Signal.Internal.Source) ->
  638. λ(ds :: Clash.Signal.Internal.Reset
  639. pllIn
  640. Clash.Signal.Internal.Asynchronous) ->
  641. case ds of
  642. Clash.Signal.Internal.Async
  643. (cobox :: GHC.Prim.~#
  644. Clash.Signal.Internal.ResetKind
  645. Clash.Signal.Internal.ResetKind
  646. Clash.Signal.Internal.Asynchronous
  647. Clash.Signal.Internal.Asynchronous)
  648. (rst :: Clash.Signal.Internal.Signal
  649. pllIn
  650. GHC.Types.Bool) ->
  651. GHC.Tuple.(,,)
  652. @(Clash.Signal.Internal.Clock
  653. (Clash.Signal.Internal.Dom B 10000)
  654. Clash.Signal.Internal.Source)
  655. @(Clash.Signal.Internal.Clock
  656. (Clash.Signal.Internal.Dom C 15000)
  657. Clash.Signal.Internal.Source)
  658. @(Clash.Signal.Internal.Signal
  659. (Clash.Signal.Internal.Dom B 10000)
  660. GHC.Types.Bool)
  661. (Clash.Signal.Internal.clockGate @pllIn
  662. @Clash.Signal.Internal.Source
  663. clk
  664. rst)
  665. (Clash.Signal.Internal.clockGate @pllIn
  666. @Clash.Signal.Internal.Source
  667. clk
  668. rst)
  669. rst
  670.  
  671.  
  672. <no location info>: error:
  673. 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>"})
  674.  
  675. 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>"}))
  676.  
  677. NB: The source location of the error is not exact, only indicative, as it is acquired after optimisations.
  678. The actual location of the error can be in a function that is inlined.
  679. To prevent inlining of those functions, annotate them with a NOINLINE pragma.
Add Comment
Please, Sign In to add comment