Types and associated type families for hardware simulation and synthesis
Types and associated type families for hardware simulation and synthesis
复制标题
用于硬件仿真和综合的类型和相关类型系列
DOI:
10.1007/s10990-013-9098-7
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
E. Komp
中科院分区:
文献类型:
--
作者:
Andy Gill;Tristan Bull;Andrew Farmer;Garrin Kimmell;E. Komp
In this article we overview the design and implementation of the second generation of Kansas Lava. Driven by the needs and experiences of implementing telemetry decoders and other circuits, we have made a number of improvements to both the external API and the internal representations used. We have retained our dual shallow/deep representation of signals in general, but now have a number of externally visible abstractions for combinatorial and sequential circuits, and enabled signals. We introduce these abstractions, as well as our abstractions for reading and writing memory. Internally, we found the need to represent unknown values inside our circuits, so we made aggressive use of associated type families to lift our values to allow unknowns, in a principled and regular way. We discuss this design decision, how it unfortunately complicates the internals of Kansas Lava, and how we mitigate this complexity. Finally, when connecting Kansas Lava to the real world, the standardized idiom of using named input and output ports is provided by Kansas Lava using a new monad, called Fabric. We present the design of this Fabric monad, and illustrate its use in a small but complete example.
DOI:
10.1145/2364527.2364579
发表时间:
2012
期刊:
--
影响因子:
--
作者:
Perera R
通讯作者:
Perera R