[Vcd2Apf - Description]

The Vcd2Apf program is a tool to convert the RTL simulation resultant files into the files of simulation patterns in Epson-specific format, called APF. The generated APF files are used for netlist simulation.

To implement the Vcd2apf file conversion, follow the flow shown below.

Here, VCD is a data file that contains the time and value of each signal switch, whereas APF is a simulation pattern file that contains lines of input and output signal values in each cycle. Therefore, Vcd2apf is a software that converts signal switch information to signal values in units of cycle.

Click "How to start Vcd2apf" for the description of how to start Vcd2apf. For supplemental information not necessary for the basic operation, click " Vcd2Apf -Appendix".

RTL simulation
Dump the signals to be ASIC I/O pins and the output enable signals for bi-directional I/O pins in the VCD format file. If the file contains other data, it may slow down the process, but will cause no serious problems.
However, all the signals need to be included in one module.
Use Vcd2apf to analyze VCD
Start Vcd2apf (refer to How to start Vcd2apf ) and analyze the VCD file. Take the following steps and analysis results will be shown in tabular form.
  • Click the "Select" button to the right of the "Input VCD file"" field, and select the VCD file.
  • Click the "Select" button to the right of the "Top module instance" field and select the top module instance name. Here, the top module means the module that contains signals to be ASIC I/O pins and output enable signals for bi-directional I/O pins.
  • Enter the VCD cycle time in the RTL simulation in the "VCD cycle time" field.
  • Enter the strobe time in the RTL simulation in the "Strobe" field to the right of the "VCD cycle time" field. The value sampled at the entered strobe time is the expected value of netlist simulation.
  • Click the "VCD analysis" button, and the VCD will be analyzed and the result will be shown in the table below.
    The VCD analysis results are shown in the columns to the left of the "IOB" column on the table. In the right-hand columns starting from the "IOB" column, data for the APF file generation will be input. Because VCD does not include I/O attributes, the "IOB" column turns red (as in errors) to prompt the user to input the attributes when the VCD analysis is completed.
Modify the table

When data appears in the table, input each signal data to generate APF. Basically, enter the data necessary to generate APF in the right-hand columns starting from the "IOB" column, referring to the data shown to the left of the "IOB" column, which is the VCD analysis result. Cells need to be filled or modified are shown in red. Add or modify information until all red-colored cells disappear. Yellow-colored cells indicate warnings. They may remain in the table, but the user should check them and ensure that they will have no adverse effect on the process.

The descriptions of errors and warnings are given in the Comment column.
Placing the mouse pointer over the red or yellow colored cell pops up
the description of the relevant error or warning. Similarly, placing the
mouse pointer over the column header pops up the short description of the
column.

  • To make the same modifications to multiple lines of the table at one time, specify the lines first. To specify multiple lines, drag the mouse over the pertinent lines, or click the mouse while pressing the "Shift" key (to specify the range) or the "Ctrl" key (to choose a specific cell). Here, inputs and modifications are applied to all the lines of the selected column (light blue colored); and thus care must be taken to select the right column.
  • To delete unnecessary signals, select the line and click the "cut" button. To make the table (or the APF file to be produced) easy to read, the user can change the line order (signal order) using the "Cut" and "Paste" buttons, or insert blank lines (blank columns in the APF file) by pressing the "Insert" button.
  • To add test and other pins, insert blank lines first by "Insert" and then input "IOB" or "APF pin". Also add "Delay*" or "Output En" as needed, and enter the signal value to the "x" column, regardless the signal is input or output. Only one value is allowed for the signal within one pattern.
  • Input the following I/O attributes in the "IOB" column: I for input; P for positive pulse input; N for negative pulse input; O for output; B for bi-directional; Bo for bi-directional output and Bi for bi-directional input. Here, "B" is the attribute used when one pin is described for the bi-directional I/O pin, whereas "Bi" and "Bo" are attributes used when signals to be bi-directional I/O pins are decomposed to input and output signals. Specify "Bi" and "Bo" in series with "Bo" first and "Bi" in the line immediately below.
  • The "APF pin" column is provided to change pin names when the original pin names ("VCD pin") do not meet the APF constraints. Character strings equivalent to the "VCD pin" are input in advance, so modify them as needed. If an asterisk (*) is input at the end of the pin name already described, the square brackets automatically disappear and lowercase characters are changed into uppercase characters. For example, if "*" is input at the end of "out[1]", it is changed to "OUT1" automatically.
  • In the "Delay 1" and "Delay 2" columns,enter the time to sample the input signal as needed. If only one delay value exists in the VCD analysis result (two delay values in the case of "P" and "N"), the value is automatically input when the "IOB" column is input. If "=min" is input, the minimum delay value is shown. If "=max" is input, the maximum delay value is shown. If "=1" is input, the most frequent delay value is copied, if "=2", the second most frequent value, and if "=3", the third most frequent value. When desired to input the maximum delay value in multiple lines, for example, select the multiple lines in the "Delay 1" column, and input "=max" once. The "min" and "max" are case insensitive here.
  • In the "Output En" column,enter the output enable signal names for bi-directional pins. Here, if the signal enters the output state when it goes 0 (zero), add an exclamation mark (!) before the signal name.
  • In the "x" and "z" columns, enter the value to which the input signal should be converted, in case either x or z appears as the input value. The entries to these columns are not mandatory; enter them as needed. When these columns are filled in for output signals ("O" and "Bo"), the x and z of the output signals are converted into the filled values. However, in the case of bi-directional signals ("B"), they are converted to the values in the "x" and "z" columns only when the signals are in the input state. Bi-directional signals ("B") in the output state are not converted. This function is used to change the inputs of x and z, which are prohibited in APF, to 0 and 1.
  • In the "0" and "1" columns, enter the value to which the output signal should be converted, in case either 0 or 1 appears as the output value. These entries are not mandatory; enter them as needed. When these columns are filled in for input signals ("I", "P", "N", and "Bi"), the input 0 and 1 are converted into the filled values. However, in the case of bi-directional signals ("B"), they are converted to the values in the "0" and "1" columns only when the signals are in the output state. Bi-directional signals ("B") in the input state are not converted. This function is typically used to change the value of open-drain output pin from 1 to Z.
  • The "Read" button to the right of "Template" reads the modifications made to the table and saved previously. When making the same modifications to multiple VCD files, make modifications to a VCD file and save the table data as a template. Then the same modifications will be made to other files simply by pressing the "Read" button.
  • The "Save" button saves the table data as a template.
  • By activating the "Horizontal Scroll" button, the table width remains unchanged regardless of the browser width and the table can be horizontally scrolled. Clicking the "R" button resets the table to the default width.
  • To change the order of column titles, drag a title and drop it at the desired position. To change the column width, drag the right side border line of each title column.

When all errors disappear, save the table as a template, and send it (CSV file) together with the VCD file to Epson. Also please inform our responsible designer about the cycle time and strobe timing in the VCD and APF files. The subsequent tasks will be taken care of by Seiko Epson. If any problem occurs in those tasks, Epson will discuss it with the customer to figure out possible solutions.

Generate APF file
Update APF file
Check APF file
When all errors disappear, enter the "APF Cycle Time", "Strobe" and "Delay multiple". Then, click the "Generate APF" button. Clicking the button opens the APF file selection window. For the file selection, select the folder to save the APF file, enter the APF file name, and click the "OK" button to generate the APF file.
The "APF Cycle Time" and "Strobe" are not used in the VCD to APF conversion; they are only transcribed to the APF file. "Delay 1" and "Delay 2" in the table are respectively multiplied by the "Delay multiple", and the multiplied values are defined as the delays of input pins in the APF file. Acceptable delay values are zero and positive integers. To adjust delay values, edit the generated APF file.

To match the "$DESIGN" and "$IOCONT" section data in the generated APF file with those in the netlists, update the APF file by running "apf2apf".

The "apf2apf", a utility of "EPITS" and "EPITS7", updates the APF file by the command line like the example shown below:

example) apf2apf ..\func1.apf -r rpt\TOP.rpt -u rpt\TOP.tpl -o pattern\func1.apf

where the first ".apf" file is the APF file generated by Vcd2apf, the ".rpt" and the ".tpl" files are generated by SNRC, the design rule checker of Seiko Epson, and the last ".apf" file is the updated APF file to output.

Check the APF file by running "apfcheck".

The "apfcheck" is a utility of "EPITS" and "EPITS7". For usage, refer to the respective user's manuals for "EPITS" and "EPITS7".

Close