Overall comment after a detailed reading: this is a very well-written
specification. I hope Sections 1.1 and 1.3 in particular will be a
model for other extension proposals.
Chapter 1, Introduction
Last paragraph: "in ernest" should be "in earnest."
1.1 Intended Audience
Many thanks to the authors for including this section!
1st paragraph: I think "specialist subject" should be "specialised subject."
2nd paragraph: "peoples understanding" should be "people's
understanding." The comma before "and pass" is inappropriate and
ambiguous: I suggest "... to them, and which they may (safely!) ignore
or pass to a colleague."
Cryptographers section, 2nd sentence: "which we refer to" should be "to
which we refer."
Digital design engineers section, 2nd/3rd sentence: "issues. E.g.,"
should be "issues, e.g.,".
Verification engineers, 3rd sentence: the second clause ("and knowing")
is grammatically incorrect, and its meaning is unclear. I think what is
meant is "and to know how ...," although this is somewhat at odds with
the expectation of no cryptography background.
1.2 Sail Specifications
In the second paragraph, I found the phrase "code snippets" ambiguous as
to whether the sum of the snippets plus Appendix D is to the complete
Sail-language model for this extension, especially since the words
"formal model" are a link to the sail-riscv Web site on Github. I
suggest that an explicit policy decision is needed as to whether the
full Sail-language model for each extension must, or should, be included
in the specification document. I personally am strongly in favor of
doing this, because in my opinion the specification is not actually a
specification otherwise. However, whichever way this decision goes,
this section should state what it is, by including (approximately) one
of the two following statements:
"The code snippets in the individual instruction descriptions, together
with Appendix D, constitute the complete formal model of the extension
described in this document."
or
"This document contains only a subset of the formal model: refer to the
Web site [ref#] for the complete model."
1.3 Policies
Another excellent discussion, thank you.
Second bullet point: "concurrently with, or after" should delete the comma;
likewise "contest, and the".
Chapter 2, Extensions Overview
Middle paragraph, "(e.g., ..., among others)" is redundant. I suggest
removing the "among others".
There several places in this chapter that refer to "the Zbkb". I think
these should be either simply "Zbkb" or "the Zbkb extension"; I advocate
the former.
2.1 Zbkb
Main paragraph, 3rd sentence: I suggest changing "make the
specification" to "make the present specification".
2.2 Zbkc
Same issue as 2.1.
2.3 Zbkx
Same issue as 2.1.
2.4, 2.5 NIST/AES
I suggest adding a note in both places to indicate that the
aes64ks{1i,2} instructions are present in both Zknd and Zkne, which is
not customary for extensions in general.
Chapter 3, Instructions
I didn't attempt to read any of the Sail code: I trust that at the very
least it has all been passed through the relevant Sail software for
checking. The same goes for Appendix D.
In multiple places, "it's execution latency" should use "its".
3.18 packh
Delete the "And" at the beginning of the Description.
3.27 sha256sig0
Description, 3rd sentence: "is operated on" should be "are operated on".
Same issue in 3.28, 3.29, 3.30.
3.31 sha512sig0h
Description: "is represented" should be "are each represented".
Same issue in 3.32, 3.33, 3.34, 3.35, 3.36.
3.43 sm4ed
Description, 4th sentence: "upto" should be just "to".
Same issue in 3.44.
Appendix C: Supplementary Materials
See the note above about inclusion of the full formal model in the
specification.
----------------------------------------------------------------
L Peter Deutsch <
gh...@major2nd.com> :: Aladdin Enterprises :: Healdsburg, CA
Was your vote really counted?
http://www.verifiedvoting.org