Skip to content

Commit bede783

Browse files
committed
RFC #6: update formatting to match style used elsewhere.
1 parent 03c7c3e commit bede783

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

text/0006-stdlib-crc.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
- RFC PR: [amaranth-lang/rfcs#0006](https://github.com/amaranth-lang/rfcs/pull/0006)
33
- Amaranth Issue: [amaranth-lang/amaranth#681](https://github.com/amaranth-lang/amaranth/issues/681)
44

5-
# Summary
5+
# CRC generator
6+
7+
## Summary
68
[summary]: #summary
79

810
Add a cyclic redundancy check (CRC) generator to the Amaranth standard library.
911

10-
# Motivation
12+
## Motivation
1113
[motivation]: #motivation
1214

1315
Computing CRCs is a common requirement in hardware designs as they are used
@@ -21,7 +23,7 @@ See the [Wikipedia page on CRCs] for more background and use cases.
2123

2224
[Wikipedia page on CRCs]: https://en.wikipedia.org/wiki/Cyclic_redundancy_check
2325

24-
# Guide-level explanation
26+
## Guide-level explanation
2527
[guide-level-explanation]: #guide-level-explanation
2628

2729
The Amaranth standard library includes a generator for a cyclic redundancy
@@ -141,7 +143,7 @@ the data processed since `start`, the CRC register will always contain a fixed
141143
value which can be computed in advance, and the `match_detected` output
142144
indicates whether the CRC register currently contains this value.
143145

144-
# Reference-level explanation
146+
## Reference-level explanation
145147
[reference-level-explanation]: #reference-level-explanation
146148

147149
The proposed new interface is:
@@ -185,15 +187,15 @@ technical level of detail.
185187

186188
[PR 681]: https://github.com/amaranth-lang/amaranth/pull/681
187189

188-
# Drawbacks
190+
## Drawbacks
189191
[drawbacks]: #drawbacks
190192

191193
Users could always write their own CRC or use an external library; Amaranth
192194
does not need to provide one for them. However, since it's a very common
193195
requirement that we can satisfy efficiently for a lot of users, it seems
194196
reasonable to include in the standard library.
195197

196-
# Rationale and alternatives
198+
## Rationale and alternatives
197199
[rationale-and-alternatives]: #rationale-and-alternatives
198200

199201
As far as I'm aware, the method here is the optimal technique for generating
@@ -208,7 +210,7 @@ Additionally, the table approach generally requires a latency of 2 cycles (one
208210
extra to perform the table lookup). It's possible this would give better timing
209211
in some circumstances, but at the cost of block RAM resources and latency.
210212

211-
# Prior art
213+
## Prior art
212214
[prior-art]: #prior-art
213215

214216
The specification chosen for the CRC parameters is a popular de-facto standard,
@@ -232,12 +234,12 @@ generating hardware their implementation details are not as relevant - small
232234
table lookups are popular as the tradeoffs there tend to favour word-at-a-time
233235
computations.
234236

235-
# Unresolved questions
237+
## Unresolved questions
236238
[unresolved-questions]: #unresolved-questions
237239

238240
- No outstanding unresolved questions.
239241

240-
# Future possibilities
242+
## Future possibilities
241243
[future-possibilities]: #future-possibilities
242244

243245
- The data interface uses `start`, `data`, and `valid` signals.

0 commit comments

Comments
 (0)