Skip to content

Commit 8e0dd58

Browse files
christiaanbmartijnbastiaan
authored andcommitted
Update changelogs
1 parent 06c8411 commit 8e0dd58

File tree

3 files changed

+460
-2
lines changed

3 files changed

+460
-2
lines changed

clash-ghc/CHANGELOG.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,160 @@
11
# Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package
22

3+
## 1.0.0 *September 3rd 2019*
4+
* 10x - 50x faster compile times
5+
* New features:
6+
* API changes: check the migration guide at the end of `Clash.Tutorial`
7+
* All memory elements now have an (implicit) enable line; "Gated" clocks have
8+
been removed as the clock wasn't actually gated, but implemented as an
9+
enable line.
10+
* Circuit domains are now configurable in:
11+
* (old) The clock period
12+
* (new) Clock edge on which memory elements latch their inputs
13+
(rising edge or falling edge)
14+
* (new) Whether the reset port of a memory element is level sensitive
15+
(asynchronous reset) or edge sensitive (synchronous reset)
16+
* (new) Whether the reset port of a memory element is active-high or
17+
active-low (negated reset)
18+
* (new) Whether memory element power on in a configurable/defined state
19+
(common on FPGAs) or in an undefined state (ASICs)
20+
21+
* See the [blog post](https://clash-lang.org/blog/0005-synthesis-domain/) on this new feature
22+
* Data types can now be given custom bit-representations: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Annotations-BitRepresentation.html
23+
* Annotate expressions with attributes that persist in the generated HDL,
24+
e.g. synthesis directives: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Annotations-SynthesisAttributes.html
25+
* Control (System)Verilog module instance, and VHDL entity instantiation names
26+
in generated code: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Magic.html
27+
* Much improved infrastructure for handling of unknown values: defined spine,
28+
but unknown leafs: http://hackage.haskell.org/package/clash-prelude/docs/Clash-XException.html#t:NFDataX
29+
* Experimental: Multiple hidden clocks. Can be enabled by compiling
30+
`clash-prelude` with `-fmultiple-hidden`
31+
* Experimental: Limited GADT support (pattern matching on vectors, or custom
32+
GADTs as longs as their usage can be statically removed; no support of
33+
recursive GADTs)
34+
* Experimental: Use regular Haskell functions to generate HDL black boxes for
35+
primitives (in an addition to existing string templates for HDL black boxes)
36+
See for example: http://hackage.haskell.org/package/clash-lib/docs/Clash-Primitives-Intel-ClockGen.html
37+
38+
* Fixes issues:
39+
* [#316](https://github.com/clash-lang/clash-prelude/issues/316)
40+
* [#319](https://github.com/clash-lang/clash-prelude/issues/319)
41+
* [#323](https://github.com/clash-lang/clash-prelude/issues/323)
42+
* [#324](https://github.com/clash-lang/clash-prelude/issues/324)
43+
* [#329](https://github.com/clash-lang/clash-prelude/issues/329)
44+
* [#331](https://github.com/clash-lang/clash-prelude/issues/331)
45+
* [#332](https://github.com/clash-lang/clash-prelude/issues/332)
46+
* [#335](https://github.com/clash-lang/clash-prelude/issues/335)
47+
* [#348](https://github.com/clash-lang/clash-prelude/issues/348)
48+
* [#349](https://github.com/clash-lang/clash-prelude/issues/349)
49+
* [#350](https://github.com/clash-lang/clash-prelude/issues/350)
50+
* [#351](https://github.com/clash-lang/clash-prelude/issues/351)
51+
* [#352](https://github.com/clash-lang/clash-prelude/issues/352)
52+
* [#353](https://github.com/clash-lang/clash-prelude/issues/353)
53+
* [#358](https://github.com/clash-lang/clash-prelude/issues/358)
54+
* [#359](https://github.com/clash-lang/clash-prelude/issues/359)
55+
* [#363](https://github.com/clash-lang/clash-prelude/issues/363)
56+
* [#364](https://github.com/clash-lang/clash-prelude/issues/364)
57+
* [#365](https://github.com/clash-lang/clash-prelude/issues/365)
58+
* [#371](https://github.com/clash-lang/clash-prelude/issues/371)
59+
* [#372](https://github.com/clash-lang/clash-prelude/issues/372)
60+
* [#373](https://github.com/clash-lang/clash-prelude/issues/373)
61+
* [#378](https://github.com/clash-lang/clash-prelude/issues/378)
62+
* [#380](https://github.com/clash-lang/clash-prelude/issues/380)
63+
* [#381](https://github.com/clash-lang/clash-prelude/issues/381)
64+
* [#382](https://github.com/clash-lang/clash-prelude/issues/382)
65+
* [#383](https://github.com/clash-lang/clash-prelude/issues/383)
66+
* [#387](https://github.com/clash-lang/clash-prelude/issues/387)
67+
* [#393](https://github.com/clash-lang/clash-prelude/issues/393)
68+
* [#396](https://github.com/clash-lang/clash-prelude/issues/396)
69+
* [#398](https://github.com/clash-lang/clash-prelude/issues/398)
70+
* [#399](https://github.com/clash-lang/clash-prelude/issues/399)
71+
* [#401](https://github.com/clash-lang/clash-prelude/issues/401)
72+
* [#403](https://github.com/clash-lang/clash-prelude/issues/403)
73+
* [#407](https://github.com/clash-lang/clash-prelude/issues/407)
74+
* [#412](https://github.com/clash-lang/clash-prelude/issues/412)
75+
* [#413](https://github.com/clash-lang/clash-prelude/issues/413)
76+
* [#420](https://github.com/clash-lang/clash-prelude/issues/420)
77+
* [#422](https://github.com/clash-lang/clash-prelude/issues/422)
78+
* [#423](https://github.com/clash-lang/clash-prelude/issues/423)
79+
* [#424](https://github.com/clash-lang/clash-prelude/issues/424)
80+
* [#438](https://github.com/clash-lang/clash-prelude/issues/438)
81+
* [#450](https://github.com/clash-lang/clash-prelude/issues/450)
82+
* [#452](https://github.com/clash-lang/clash-prelude/issues/452)
83+
* [#455](https://github.com/clash-lang/clash-prelude/issues/455)
84+
* [#460](https://github.com/clash-lang/clash-prelude/issues/460)
85+
* [#461](https://github.com/clash-lang/clash-prelude/issues/461)
86+
* [#463](https://github.com/clash-lang/clash-prelude/issues/463)
87+
* [#468](https://github.com/clash-lang/clash-prelude/issues/468)
88+
* [#475](https://github.com/clash-lang/clash-prelude/issues/475)
89+
* [#476](https://github.com/clash-lang/clash-prelude/issues/476)
90+
* [#500](https://github.com/clash-lang/clash-prelude/issues/500)
91+
* [#507](https://github.com/clash-lang/clash-prelude/issues/507)
92+
* [#512](https://github.com/clash-lang/clash-prelude/issues/512)
93+
* [#516](https://github.com/clash-lang/clash-prelude/issues/516)
94+
* [#517](https://github.com/clash-lang/clash-prelude/issues/517)
95+
* [#526](https://github.com/clash-lang/clash-prelude/issues/526)
96+
* [#556](https://github.com/clash-lang/clash-prelude/issues/556)
97+
* [#560](https://github.com/clash-lang/clash-prelude/issues/560)
98+
* [#566](https://github.com/clash-lang/clash-prelude/issues/566)
99+
* [#567](https://github.com/clash-lang/clash-prelude/issues/567)
100+
* [#569](https://github.com/clash-lang/clash-prelude/issues/569)
101+
* [#573](https://github.com/clash-lang/clash-prelude/issues/573)
102+
* [#575](https://github.com/clash-lang/clash-prelude/issues/575)
103+
* [#581](https://github.com/clash-lang/clash-prelude/issues/581)
104+
* [#582](https://github.com/clash-lang/clash-prelude/issues/582)
105+
* [#586](https://github.com/clash-lang/clash-prelude/issues/586)
106+
* [#588](https://github.com/clash-lang/clash-prelude/issues/588)
107+
* [#591](https://github.com/clash-lang/clash-prelude/issues/591)
108+
* [#596](https://github.com/clash-lang/clash-prelude/issues/596)
109+
* [#601](https://github.com/clash-lang/clash-prelude/issues/601)
110+
* [#607](https://github.com/clash-lang/clash-prelude/issues/607)
111+
* [#629](https://github.com/clash-lang/clash-prelude/issues/629)
112+
* [#637](https://github.com/clash-lang/clash-prelude/issues/637)
113+
* [#644](https://github.com/clash-lang/clash-prelude/issues/644)
114+
* [#647](https://github.com/clash-lang/clash-prelude/issues/647)
115+
* [#661](https://github.com/clash-lang/clash-prelude/issues/661)
116+
* [#668](https://github.com/clash-lang/clash-prelude/issues/668)
117+
* [#677](https://github.com/clash-lang/clash-prelude/issues/677)
118+
* [#678](https://github.com/clash-lang/clash-prelude/issues/678)
119+
* [#682](https://github.com/clash-lang/clash-prelude/issues/682)
120+
* [#691](https://github.com/clash-lang/clash-prelude/issues/691)
121+
* [#703](https://github.com/clash-lang/clash-prelude/issues/703)
122+
* [#713](https://github.com/clash-lang/clash-prelude/issues/713)
123+
* [#715](https://github.com/clash-lang/clash-prelude/issues/715)
124+
* [#727](https://github.com/clash-lang/clash-prelude/issues/727)
125+
* [#730](https://github.com/clash-lang/clash-prelude/issues/730)
126+
* [#736](https://github.com/clash-lang/clash-prelude/issues/736)
127+
* [#738](https://github.com/clash-lang/clash-prelude/issues/738)
128+
129+
## 0.99.3 *July 28th 2018*
130+
* Fixes bugs:
131+
* Evaluator recognizes `Bit` literals [#329](https://github.com/clash-lang/clash-compiler/issues/329)
132+
* Use existential type-variables in context of GADT pattern match
133+
* Do not create zero-bit temporary variables in generated HDL
134+
* Use correct arguments in nested primitives [#323](https://github.com/clash-lang/clash-compiler/issues/329)
135+
* Zero-constructor data type needs 0 bits [#238](https://github.com/clash-lang/clash-compiler/issues/238)
136+
* Create empty component when result needs 0 bits
137+
* Evaluator performs BigNat arithmetic
138+
139+
## 0.99.1 *May 12th 2018*
140+
* Allow `~NAME[N]` tag inside `~GENSYM[X]`
141+
* Support HDL record selector generation [#313](https://github.com/clash-lang/clash-compiler/pull/313)
142+
* `InlinePrimitive` support: specify HDL primitives inline with Haskell code
143+
144+
## 0.99 *March 31st 2018*
145+
* New features:
146+
* Support for `clash-prelude-0.99`:
147+
* Explicit clock and reset arguments
148+
* Overhaul of `TopEntity` annotations
149+
* Hierarchies with multiple synthesisable boundaries by allowing more than one
150+
function in scope to have a `Synthesize` annotation.
151+
* Local caching of functions with a `Synthesize` annotation
152+
* `Bit` type is mapped to a HDL scalar type (e.g. `std_logic` in VHDL)
153+
* Improved name preservation
154+
* Zero-bit values are filtered out of the generated HDL
155+
* Improved compile-time computation
156+
* Many bug fixes
157+
3158
## 0.7.2
4159
* New features:
5160
* Sum-of-product types: unused bits now "don't-care" [#212](https://github.com/clash-lang/clash-compiler/commit/fabf745793491ce3baf84ef0066b4ccf0753d503)

clash-lib/CHANGELOG.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,159 @@
11
# Changelog for the [`clash-lib`](http://hackage.haskell.org/package/clash-lib) package
22

3+
## 1.0.0 *September 3rd 2019*
4+
* 10x - 50x faster compile times
5+
* New features:
6+
* API changes: check the migration guide at the end of `Clash.Tutorial`
7+
* All memory elements now have an (implicit) enable line; "Gated" clocks have
8+
been removed as the clock wasn't actually gated, but implemented as an
9+
enable line.
10+
* Circuit domains are now configurable in:
11+
* (old) The clock period
12+
* (new) Clock edge on which memory elements latch their inputs
13+
(rising edge or falling edge)
14+
* (new) Whether the reset port of a memory element is level sensitive
15+
(asynchronous reset) or edge sensitive (synchronous reset)
16+
* (new) Whether the reset port of a memory element is active-high or
17+
active-low (negated reset)
18+
* (new) Whether memory element power on in a configurable/defined state
19+
(common on FPGAs) or in an undefined state (ASICs)
20+
21+
* See the [blog post](https://clash-lang.org/blog/0005-synthesis-domain/) on this new feature
22+
* Data types can now be given custom bit-representations: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Annotations-BitRepresentation.html
23+
* Annotate expressions with attributes that persist in the generated HDL,
24+
e.g. synthesis directives: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Annotations-SynthesisAttributes.html
25+
* Control (System)Verilog module instance, and VHDL entity instantiation names
26+
in generated code: http://hackage.haskell.org/package/clash-prelude/docs/Clash-Magic.html
27+
* Much improved infrastructure for handling of unknown values: defined spine,
28+
but unknown leafs: http://hackage.haskell.org/package/clash-prelude/docs/Clash-XException.html#t:NFDataX
29+
* Experimental: Multiple hidden clocks. Can be enabled by compiling
30+
`clash-prelude` with `-fmultiple-hidden`
31+
* Experimental: Limited GADT support (pattern matching on vectors, or custom
32+
GADTs as longs as their usage can be statically removed; no support of
33+
recursive GADTs)
34+
* Experimental: Use regular Haskell functions to generate HDL black boxes for
35+
primitives (in an addition to existing string templates for HDL black boxes)
36+
See for example: http://hackage.haskell.org/package/clash-lib/docs/Clash-Primitives-Intel-ClockGen.html
37+
38+
* Fixes issues:
39+
* [#316](https://github.com/clash-lang/clash-prelude/issues/316)
40+
* [#319](https://github.com/clash-lang/clash-prelude/issues/319)
41+
* [#323](https://github.com/clash-lang/clash-prelude/issues/323)
42+
* [#324](https://github.com/clash-lang/clash-prelude/issues/324)
43+
* [#329](https://github.com/clash-lang/clash-prelude/issues/329)
44+
* [#331](https://github.com/clash-lang/clash-prelude/issues/331)
45+
* [#332](https://github.com/clash-lang/clash-prelude/issues/332)
46+
* [#335](https://github.com/clash-lang/clash-prelude/issues/335)
47+
* [#348](https://github.com/clash-lang/clash-prelude/issues/348)
48+
* [#349](https://github.com/clash-lang/clash-prelude/issues/349)
49+
* [#350](https://github.com/clash-lang/clash-prelude/issues/350)
50+
* [#351](https://github.com/clash-lang/clash-prelude/issues/351)
51+
* [#352](https://github.com/clash-lang/clash-prelude/issues/352)
52+
* [#353](https://github.com/clash-lang/clash-prelude/issues/353)
53+
* [#358](https://github.com/clash-lang/clash-prelude/issues/358)
54+
* [#359](https://github.com/clash-lang/clash-prelude/issues/359)
55+
* [#363](https://github.com/clash-lang/clash-prelude/issues/363)
56+
* [#364](https://github.com/clash-lang/clash-prelude/issues/364)
57+
* [#365](https://github.com/clash-lang/clash-prelude/issues/365)
58+
* [#371](https://github.com/clash-lang/clash-prelude/issues/371)
59+
* [#372](https://github.com/clash-lang/clash-prelude/issues/372)
60+
* [#373](https://github.com/clash-lang/clash-prelude/issues/373)
61+
* [#378](https://github.com/clash-lang/clash-prelude/issues/378)
62+
* [#380](https://github.com/clash-lang/clash-prelude/issues/380)
63+
* [#381](https://github.com/clash-lang/clash-prelude/issues/381)
64+
* [#382](https://github.com/clash-lang/clash-prelude/issues/382)
65+
* [#383](https://github.com/clash-lang/clash-prelude/issues/383)
66+
* [#387](https://github.com/clash-lang/clash-prelude/issues/387)
67+
* [#393](https://github.com/clash-lang/clash-prelude/issues/393)
68+
* [#396](https://github.com/clash-lang/clash-prelude/issues/396)
69+
* [#398](https://github.com/clash-lang/clash-prelude/issues/398)
70+
* [#399](https://github.com/clash-lang/clash-prelude/issues/399)
71+
* [#401](https://github.com/clash-lang/clash-prelude/issues/401)
72+
* [#403](https://github.com/clash-lang/clash-prelude/issues/403)
73+
* [#407](https://github.com/clash-lang/clash-prelude/issues/407)
74+
* [#412](https://github.com/clash-lang/clash-prelude/issues/412)
75+
* [#413](https://github.com/clash-lang/clash-prelude/issues/413)
76+
* [#420](https://github.com/clash-lang/clash-prelude/issues/420)
77+
* [#422](https://github.com/clash-lang/clash-prelude/issues/422)
78+
* [#423](https://github.com/clash-lang/clash-prelude/issues/423)
79+
* [#424](https://github.com/clash-lang/clash-prelude/issues/424)
80+
* [#438](https://github.com/clash-lang/clash-prelude/issues/438)
81+
* [#450](https://github.com/clash-lang/clash-prelude/issues/450)
82+
* [#452](https://github.com/clash-lang/clash-prelude/issues/452)
83+
* [#455](https://github.com/clash-lang/clash-prelude/issues/455)
84+
* [#460](https://github.com/clash-lang/clash-prelude/issues/460)
85+
* [#461](https://github.com/clash-lang/clash-prelude/issues/461)
86+
* [#463](https://github.com/clash-lang/clash-prelude/issues/463)
87+
* [#468](https://github.com/clash-lang/clash-prelude/issues/468)
88+
* [#475](https://github.com/clash-lang/clash-prelude/issues/475)
89+
* [#476](https://github.com/clash-lang/clash-prelude/issues/476)
90+
* [#500](https://github.com/clash-lang/clash-prelude/issues/500)
91+
* [#507](https://github.com/clash-lang/clash-prelude/issues/507)
92+
* [#512](https://github.com/clash-lang/clash-prelude/issues/512)
93+
* [#516](https://github.com/clash-lang/clash-prelude/issues/516)
94+
* [#517](https://github.com/clash-lang/clash-prelude/issues/517)
95+
* [#526](https://github.com/clash-lang/clash-prelude/issues/526)
96+
* [#556](https://github.com/clash-lang/clash-prelude/issues/556)
97+
* [#560](https://github.com/clash-lang/clash-prelude/issues/560)
98+
* [#566](https://github.com/clash-lang/clash-prelude/issues/566)
99+
* [#567](https://github.com/clash-lang/clash-prelude/issues/567)
100+
* [#569](https://github.com/clash-lang/clash-prelude/issues/569)
101+
* [#573](https://github.com/clash-lang/clash-prelude/issues/573)
102+
* [#575](https://github.com/clash-lang/clash-prelude/issues/575)
103+
* [#581](https://github.com/clash-lang/clash-prelude/issues/581)
104+
* [#582](https://github.com/clash-lang/clash-prelude/issues/582)
105+
* [#586](https://github.com/clash-lang/clash-prelude/issues/586)
106+
* [#588](https://github.com/clash-lang/clash-prelude/issues/588)
107+
* [#591](https://github.com/clash-lang/clash-prelude/issues/591)
108+
* [#596](https://github.com/clash-lang/clash-prelude/issues/596)
109+
* [#601](https://github.com/clash-lang/clash-prelude/issues/601)
110+
* [#607](https://github.com/clash-lang/clash-prelude/issues/607)
111+
* [#629](https://github.com/clash-lang/clash-prelude/issues/629)
112+
* [#637](https://github.com/clash-lang/clash-prelude/issues/637)
113+
* [#644](https://github.com/clash-lang/clash-prelude/issues/644)
114+
* [#647](https://github.com/clash-lang/clash-prelude/issues/647)
115+
* [#661](https://github.com/clash-lang/clash-prelude/issues/661)
116+
* [#668](https://github.com/clash-lang/clash-prelude/issues/668)
117+
* [#677](https://github.com/clash-lang/clash-prelude/issues/677)
118+
* [#678](https://github.com/clash-lang/clash-prelude/issues/678)
119+
* [#682](https://github.com/clash-lang/clash-prelude/issues/682)
120+
* [#691](https://github.com/clash-lang/clash-prelude/issues/691)
121+
* [#703](https://github.com/clash-lang/clash-prelude/issues/703)
122+
* [#713](https://github.com/clash-lang/clash-prelude/issues/713)
123+
* [#715](https://github.com/clash-lang/clash-prelude/issues/715)
124+
* [#727](https://github.com/clash-lang/clash-prelude/issues/727)
125+
* [#730](https://github.com/clash-lang/clash-prelude/issues/730)
126+
* [#736](https://github.com/clash-lang/clash-prelude/issues/736)
127+
* [#738](https://github.com/clash-lang/clash-prelude/issues/738)
128+
129+
## 0.99.3 *July 28th 2018*
130+
* Fixes bugs:
131+
* Evaluator recognizes `Bit` literals [#329](https://github.com/clash-lang/clash-compiler/issues/329)
132+
* Use existential type-variables in context of GADT pattern match
133+
* Do not create zero-bit temporary variables in generated HDL
134+
* Use correct arguments in nested primitives [#323](https://github.com/clash-lang/clash-compiler/issues/329)
135+
* Zero-constructor data type needs 0 bits [#238](https://github.com/clash-lang/clash-compiler/issues/238)
136+
* Create empty component when result needs 0 bits
137+
* Evaluator performs BigNat arithmetic
138+
139+
## 0.99.1 *May 12th 2018*
140+
* Allow `~NAME[N]` tag inside `~GENSYM[X]`
141+
* Support HDL record selector generation [#313](https://github.com/clash-lang/clash-compiler/pull/313)
142+
143+
## 0.99 *March 31st 2018*
144+
* New features:
145+
* Support for `clash-prelude-0.99`:
146+
* Explicit clock and reset arguments
147+
* Overhaul of `TopEntity` annotations
148+
* Hierarchies with multiple synthesisable boundaries by allowing more than one
149+
function in scope to have a `Synthesize` annotation.
150+
* Local caching of functions with a `Synthesize` annotation
151+
* `Bit` type is mapped to a HDL scalar type (e.g. `std_logic` in VHDL)
152+
* Improved name preservation
153+
* Zero-bit values are filtered out of the generated HDL
154+
* Improved compile-time computation
155+
* Many bug fixes
156+
3157
## 0.7.1 *April 11th 2017*
4158
* New features:
5159
* Support distribution of primitive templates with Cabal/Hackage packages [commit](https://github.com/clash-lang/clash-compiler/commit/82cd31863aafcbaf3bdbf7746d89d13859af5aaf)

0 commit comments

Comments
 (0)