diff --git a/src/cap-description.adoc b/src/cap-description.adoc index 1cbc126a..1cef3b15 100644 --- a/src/cap-description.adoc +++ b/src/cap-description.adoc @@ -445,12 +445,17 @@ Reconstituting the top two bits of T: T[MW - 1:MW - 2] = B[MW - 1:MW - 2] + LCout + LMSB ``` -Decoding the bounds: +The bounds are decoded as shown in xref:top_bound_dec[xrefstyle=short] and +xref:base_bound_dec[xrefstyle=short]. + +.Decoding of the MXLEN+1 wide top (_t_) bound +[#top_bound_dec] +include::img/top-bound-dec.edn[] + +.Decoding of the MXLEN wide base (_b_) bound +[#base_bound_dec] +include::img/base-bound-dec.edn[] -``` -top: t = { {1'b0, a[MXLEN - 1:E + MW]} + ct, T[MW - 1:0], {E{1'b0}} } -base: b = { a[MXLEN - 1:E + MW] + cb, B[MW - 1:0], {E{1'b0}} } -``` The corrections c~t~ and c~b~ are calculated as as shown below using the definitions in xref:cap_encoding_ct[xrefstyle=short] and xref:cap_encoding_cb[xrefstyle=short]. diff --git a/src/img/base-bound-dec.edn b/src/img/base-bound-dec.edn new file mode 100644 index 00000000..cc386938 --- /dev/null +++ b/src/img/base-bound-dec.edn @@ -0,0 +1,16 @@ +[bytefield] +---- +(defattrs :plain [:plain {:font-family "M+ 1p Fallback" :font-size 25}]) +(def row-height 80) +(def row-header-fn nil) +(def left-margin 100) +(def right-margin 100) +(def boxes-per-row 32) +(draw-column-headers {:height 50 :font-size 22 :labels (reverse ["0" "" "" "" "" "" "" "" "" "" "E" "" "" "" "" "" "" "" "" "" "E+MW" "" "" "" "" "" "" "" "" "" "" "MXLEN-1"])}) + +(draw-box "a[MXLEN - 1:E + MW] + cb" {:span 12}) +(draw-box "B[MW - 1:0]" {:span 10}) +(draw-box "0" {:span 10}) + +(draw-box "MXLEN" {:span 32 :borders {}}) +---- diff --git a/src/img/top-bound-dec.edn b/src/img/top-bound-dec.edn new file mode 100644 index 00000000..eabef03d --- /dev/null +++ b/src/img/top-bound-dec.edn @@ -0,0 +1,16 @@ +[bytefield] +---- +(defattrs :plain [:plain {:font-family "M+ 1p Fallback" :font-size 25}]) +(def row-height 80) +(def row-header-fn nil) +(def left-margin 100) +(def right-margin 100) +(def boxes-per-row 32) +(draw-column-headers {:height 50 :font-size 22 :labels (reverse ["0" "" "" "" "" "" "" "" "" "" "E" "" "" "" "" "" "" "" "" "" "E+MW" "" "" "" "" "" "" "" "" "" "" "MXLEN"])}) + +(draw-box "{1'b0, a[MXLEN - 1:E + MW]} + ct" {:span 12}) +(draw-box "T[MW - 1:0]" {:span 10}) +(draw-box "0" {:span 10}) + +(draw-box "MXLEN+1" {:span 32 :borders {}}) +----