ERRATA to the POLIS HW/SW Codesign book

  • p. 44, 3rd paragraph "...makes it hard to specify components of a system that operate [instead of operateS] at different rates."
  • p. 54, 1. ... 2. ... matches PREVIOUS_STATE [instead of present_state] ...in order to be consistent, HOWEVER see **
  • **While it might seem better to change all occurrences of previous state to present state, that directly conflicts with the formal model described in the next section. The word previous was deliberately chosen NOT to conflict with the formal, correct description.

  • p. 84, discussion of differences between POLIS and Esterel. Note that the emit a; await a code fragment will only simulate differently in POLIS and Esterel if the feedback signal a is connected through the external asynchronous network in POLIS. For example, the POLIS system comprised of net.aux and node.strl, and the Esterel system comprised of node.strl and net.strl as follows:
  • net.aux:

    .net POLIS_NETWORK
    input i;
    output o;
    module NODE [i/i, a_in/a, a_out/a, o/o];
    .

    node.strl:

    module NODE:
    input i, a_in;
    output o, a_out;
    await i;
    emit a_out;
    await a_in;
    emit o
    end module

    net.strl:

    module ESTEREL_NETWORK:
    input i;
    output o;
    signal a in
    run NODE [signal i/i, a/a_in, a/a_out, o/o]
    end signal
    .

    would produce the behavior described in the book. See "A short note on POLIS timing semantics" for more info see A Short Note on POLIS and timing semantics .

  • 89 section 2.7.3,..."The basic statements in ESTEREL are described below and summarized in Table 2.1." (instead of Figure 2.1)
  • All "figure" should be changed to "Figure" in section 2.8 Graphical Editor (Chicago manual of style recommends lowercase for figure, section, etc, but the book is fairly consistently upper case.)
  • p. 102 "Transitions are specified in 3 steps:" (delete rest of line).
  • p. 109 footnote 6 "...with an arbitrary number of [delete second of] chidren"
  • p. 131 and also 4 occurences on p. 133 In the smoothing function, av = Szj | i <= j <= m+l , zj is an output... there should only be a strict greater than i.e. i < j <= m+l.
  • ** Of course the = case does not hurt since F cofactored w.r.t. zi does not depend on zi, but it does not add anything either, and in order to be consistent with the idea of the build procedure and the proofs,these occurences should be fixed(5 in all).

  • p. 133, bottom "...An array of pointers to...of the CFSM is associated with each output..."
  • p. 134 In order for values of the selector variable S (composed of bits Sa and Sy) 0, 1, 2 to correspond to the functionality of the Mux, Figure 3.1 should be modified to show INC_A, and RESET_A on lines 1 and 2 that correspond to output a (selected by bit Sa of the selector), and ZERO_y, ONE_y on lines 1 and 2 that correspond to output y (selected by bit Sy of the selector). With this modification the textual description and the figure would be consistent (note: the value of 0 on the selector bits represents "hold" output, select neither lines). This correction is also consistent with Figure 3.2.
  • p. 135 "The optimization of the S-GRAPH can be done directly on the BDD representing the CFSM characteristic function." (No Italics)
  • p. 136 Ordering Outputs before their Support "...The Boolean circuit is optimized using for example (instead of e.g.)..."
  • p. 142 Property 3.3.2 The form of...is determined by the type of the corresponding node
  • p. 145 section 3.3.2 "...the estimation at the S-GRAPH level...final code "structure.""
  • p. 146, top 1/4: "...The major difference is in the ordering of variables. That, in the case of the BDD used to represent the transition relation, is fixed (from the SHIFT file)."
  • p.146, top 1/3: "....The traversing algorithm for the BDD...algorithm shown above..."
  • p. 147 (& p. 148) Caption for Table 3.1 and Table 3.2 should state that named CFSMs are part of a Car Dashboard Controller Example (described in Section 7.1).
  • p. 147 (& p. 148) Caption for Table 3.1 and Table 3.2 should be below tables.
  • p. 149, top 1/4 "The CPU time required for performing the estimation is under five seconds on a DEC ..."
  • p. 149 section 3.4 Hardware Synthesis "...The hardware partition will include some (possible all) of the CFSMs in a network along with other..."
  • p. 150, bottom 1/3: "The decision...by case basis by weighing the differences in cost...."
  • p. 151 (5th bullet) "The CFSMs are composed synchronously..."
  • p. 151, last paragraph: "In terms of...the CFSM semantics are implemented...."
  • p. 151 "...the hw-CFSMs synthesized by the current version of POLIS have no input buffers..."
  • p. 152 "The result of this process can be output..."
  • p. 152 ".nb false unsigned 1 "(see **)
  • p. 153 ".nb false unsigned 1 "(see **)
  • ** All occurences of "true" and "false" can be removed from the SHIFT description without changing anything.

  • p. 154, bottom 1/3: If "false" was declared as in corrections above the we have "*c<0>...false<0> \"
  • p. 155, second to last paragraph: "Each output latch...always associated with the value 0 of the selection"
  • p. 155 Last sentence in paragraph before last can also be stated as: "Thus it is used to implement the case...no change in output."
  • p. 157 4.1 INTERFACE SYNTHESIS "2. ...and all their outputs...by the synthesis procedure described earlier."
  • p. 158 "[PORT_0E<1>] means that input event reset is assigned to bit 0 of port E....Similarly, input event key_on is assigned to bit 1 of port E....(see **)
  • ** i.e. PORT_**<m> corresponds to bit log_2(m)

  • p. 160 "Figure 4.2 The hardware/software interface for the EISA bus"
  • p. 160 4.2 REAL-TIME OPERATING SYSTEM SYNTHESIS "...and to ensure that they, together with...(mp-CFSMs, see section 4.3.5), implement a valid ..."
  • p. 161, top "...schedule sw-CFSMs such that..."
  • p. 166 section 4.3.3 "...thus generating a pulse which is then sensed by the..."
  • p. 169, end of first paragraph: "...tasks with very different cost-performance trade-offs."
  • p. 169 paragraph before last: "Othewise, if it is assigned to the hardware partition...are applied to the library model." Actually, it is unclear what the author of this piece of text intended. Perhaps it is true that the simulation model from Ptolemy is used. This needs to be clarified.
  • p. 170 section 4.3.6 1st bullet: "...on whether the macro e_T_polled is defined..."
  • p. 171 section 4.3.7 first paragraph: "...and making sure protocols for event passing are followed."
  • p. 172 section 4.4 "...These are the only microcontroller resources that the RTOS deals with explicitly."
  • p. 173 4th bullet 2nd paragraph: "This mechanism currently does not permit the specification of a programmable I/O port"
  • p. 173 1st bullet says that memory-size & hwsw-sec-size are decimal numbers while Figure 4.6 shows hex numbers. These numbers are not used currently so it makes no difference.
  • p. 180, last paragraph...(i.e. such a file must exist in some of the... "
  • p. 182, first line"...level of detail that we have used..."
  • p. 183 footnote 4 "...that helps in determining an..."
  • p. 184, second sentence of large paragraph "...However, pre-runtime scheduling requires executing a task..."
  • p. 188 3rd criteria "If some task...In other words,...,we cannot make it pass by lowering its priority."
  • p. 191 section 4.7 "...(in the case of POLIS, a network of CFSMs)."
  • p. 192 4th paragraph: "The concept of WCET...as well as for preemptive and non-preemptive schema."
  • p. 193 2nd paragraph: Assume that we want to compute the WCET of the task with the lowest..."
  • p. 193 4th paragraph "...If...is shorter than the period of the task with priority p then the WCET..."
  • p. 195 5th bullet "...such that the total amount...in which i has the highest priority among enabled tasks (i.e. the total run time)..."
  • p. 197 last paragraph, point 1 "In the worst case, at the very beginning of..."
  • p. 201 1st paragraph "...that the physical characteristics of a prototype are generally comparable to those of the final implementation. "
  • p. 201 3rd paragraph, better stated as: "...It can dramatically improve the performance/cost ratio for a product..." since readers may associate improve with increase.
  • p. 203 Figure 5.1 bottom Physical Prototype on APTIX FBCB should read "Emulator Pod" instead of "Pod Emulator".
  • p. 207 2nd paragraph, top 1/4 "...where events are ordered based on their time-stamps; at any given..."
  • p. 208 point 1 "...The C code also includes run time estimates for each..."
  • p. 208 point 5, 1st bullet "an implementation, either software or hardware, and"
  • p. 210 1st bullet, 3rd subpoint: "if the current time identifies an update phase..."
  • p. 212 point 2 "...This information permits the identification of critical components..."
  • p. 212 point 3 "...task scheduling charts, including..."
  • p. 212 "All this information can greatly help in deriving the correct selection of an..."
  • p. 212 last paragraph "Using the PTOLEMY graphical interface makes these tasks easy and..."
  • p. 213 last paragraph of section 5.3.2 "All the signals... debug code (see section 5.3.4 on the commands)."
  • p. 213 last paragraph of section 5.3.2: "...for later inspection, for example, with some graphical analysis program."
  • p. 213 "Execution speed: the simulation is fast..." **
  • p. 213 "Interactivity: the user can change..." **
  • **Actually, these paragraphs should be reformatted. There should not be two semi-colons as suggested by the corrections above, yet, the current formatting is awkward as well.

  • p. 214 2nd paragraph "The accuracy of this method of performing co-simulation...precision of the running time estimates of the generated code."
  • p. 218 footnote 2 "Without creating...which would require deleting it afterwards to..."
  • p. 219 last sentence of paragraph that starts with "No parameters.. .": "On the other hand,..."
  • p. 220 1st paragraph "They are particularly...because they permit the display of several signals..."
  • p. 222 "Using the POLIS palette...that help in designing a system..."
  • p. 223 1st paragraph "...that support it (typing the command ...instance shows which implementations..."
  • p. 223, same place: "Even if the designer is not planning..."
  • p. 228 point 1, first paragraph after (b) "...to specify an individual CFSM."
  • p. 229 3rd bullet "A gate level...component declarations and instantiations:"
  • p. 230 1st paragraph and what follows should be under a new subsection 5.5.2 Behavioral VHDL generation
  • p. 232: for the text, the font is too small. It matches the font size of the example, not of normal text.
  • p. 233 1st paragraph "...thus retaining the possibility of changing the implementation..."
  • p. 235 last paragraph "...unbounded amount of time. This assumption ..."
  • p. 236 section 5.6.1 Verification Methodology "...a set of automata that together represent the behavior."
  • p. 239 1st paragraph "Verification will be accomplished by the use of fairness constraints."
  • p. 243 bottom of page: "P1.1': If four..."
  • p. 247 1st paragraph "This is usually...components are used , or when company policy..."
  • p. 249 last paragraph "Simulating external...does not require rewriting its specification..."
  • p. 250 2nd paragraph "Unfortunately, POLIS cannot help... using other automated tools(for example [48])."
  • p. 251 The following line of code should be as follows: "status=cxewatm(RESET|KEY_ON|KEY_OFF|BELT_ON|OC_END,0,2);". Mode 2 in CMX means clear events after there is a match.
  • p. 252 "/* Terminate task*/; cxtend();" is not really needed since the task is never going to hit the end brace because of the while(1) loop.
  • p. 255 Chapter 7 All occurences of "figure" in the text should be replaced with "Figure"
  • p. 256 last paragraph "r.p.m., and the kilometers travelled:..."
  • p. 257 Figure 7.2 should read "The wheel motion sensor as input to the dashboard"
  • p. 265(& p. 266) The caption in Table 7.1 and Table 7.2 should state that the CFSMs listed are from the PROSA design example (described in Section 7.2.1)
  • p. 267 section 7.2.3 Hardware synthesis "We are currently in the process of validating this data experimentally."
  • p. 267 section 7.3 2nd paragraph "The system...to the actual load that appears on the wheels,..."
  • p. 271 1st paragraph "46639 bytes of ROM and 10229 bytes of RAM..."
  • Appendix A (GLOSSARY) p. 276 captured input assignment: the input assignment a CFSM reads for a particular execution.
  • Appendix B (THE SYNTAX OF SHIFT), p. 281 first paragraph: "...In the following, a keyword is denoted by the courier font" write the words "courier font" IN Courier font.
  • Index p. 289 sub-networks, 36 sub-network instantiation, 36
  • References p. 294 reference [39] "...third edition version 3.10."


[At Work Sign]
Last Updated January 8, 1998
Comments and questions can be addressed to polis-questions@ic.eecs.berkeley.edu
Copyright ©1997 The Regents of the University of California. All rights reserved.

Contact 
©2002-2018 U.C. Regents