Speed Key Names: sbuffer, sbuf
|
Signal name and type |
Description |
|
Digital input: <enable> |
Causes all <in#$> inputs to propagate to the corresponding <out#$> outputs while the enable line is high. A rising edge of the enable line will NOT propagate any values; the values are only propagated if they change or re-propagate while the enable line is high. When the enable line goes low all outputs remain at their last value, forming a sample and hold. High/1 (level sensitive) = Propagate inputs to outputs; Low/0 = Sample and hold |
|
Serial or analog inputs: <in1$> through <in4000$> |
Sets the serial string or analog value that will be propagated to the corresponding output while <enable> is high. The Serial Buffer can be used with both serial and analog strings. Every input must have a corresponding output, and each input/output pair is independent of other input/output pairs. However, the input type much match the output type. That is, a serial input must have a corresponding serial output; similarly, an analog input must be paired with an analog output. Serial signals (2-Series and X-Series) Sets the string that will be propagated to the corresponding serial output while <enable> is high. There is no state change on the rising edge of the <enable>. Inputs only propagate to outputs when an input value changes or is re-propagated. Analog signals (2-Series and X-Series) Sets the analog value that will be propagated to the corresponding analog output while <enable> is high. There is no state change on the rising edge of the <enable>. Inputs only propagate to outputs when an input value changes or is re-propagated. If <enable> is high and an input value changes or is re-propagated, the value will be propagated to the corresponding output, even if the output signal has the same value. For example, given the following signals: SIG1 = 25d SIG1-o = 25d If SIG1 has 25d re-propagated while <enable> is high (for example, by re-triggering an Analog Initialize (INIT) that had 25d as a parameter), SIG1-o will re-propagate the value of 25d. If an Serial/Analog One Shot symbol (SMV) were driven by SIG1-o, the output of the SMV would pulse. (This behavior is different from the Analog Buffer symbol.) |
|
Serial or analog outputs: <out1$> through <out4000$> |
Propagates the value of the corresponding input while <enable> is high. When the enable line goes low the output remains at the last value, forming a sample and hold. Serial signals (2-Series) If multiple serial inputs are issued in the same logic wave when <enable> is high, and the corresponding outputs are jammed together (meaning that they're using the same signal name), the output strings will be issued on successive logic solutions. This is the same as giving each output a unique name and routing them to a Serial Concatenation symbol. Serial signals (X-Series and earlier) If multiple serial inputs are issued in the same logic wave when <enable> is high, and the corresponding outputs are jammed together (meaning that they're using the same signal name), only the last value issued will be propagated to the output signal. Thus to preserve all values, each output of the Serial Buffer should have a unique name, and then routed to the input of the Serial Concatenation symbol. Analog signals (2-Series and X-Series) If multiple analog inputs are issued in the same logic wave when <enable> is high, and the corresponding outputs are jammed together (meaning that they're using the same signal name), only the last value issued will be propagated to the output signal. For example, an Analog Initialize drives 2 analog inputs of an Analog Buffer, with one analog input being set to 25d and the other being set to 36d. The corresponding analog outputs have the same signal name. The analog output will have the value 36d re-propagated onto it each time the Analog Initialize triggers. Even if the output signal has the same value as the final input signal it will still be re-propagated. |
Compare Analog Buffer, Serial Concatenation