Logic API

addBuffer(String dinName, String tphlName, String tplhName)
  • dinName is the name of the buffer input signal. It can be a DigitalSignal, DigitalBus, or DigitalClock.

  • tphl (Optional) is the name of a User Delay which specifies the propagation delay when switching from “H” to “L”. If not specified, use “”;

  • tplh (Optional) is the name of a User Delay which specifies the propagation delay when switching from “L” to “H”. If not specified, use “”;

Example 1: A Buffer with no delays.

td.addBuffer("CLK,"","")

Example 2: A Buffer with tphl and tplh delays.

td.addUserDelay("tphl",tphlMin,tphlTyp,tphlMax, "tphl prop delay part xyz");
td.addUserDelay("tplh",tplhMin,tplhTyp,tplhMax, "tplh prop delay part xyz");

td.addBuffer("CLK","tphl","tplh");
addInverter(String dinName, String tphlName, String tplhName)
  • dinName is the name of the Inverter input signal. It can be a DigitalSignal, DigitalBus, or DigitalClock.

  • tphl (Optional) is the name of a User Delay which specifies the propagation delay when switching from “H” to “L”. If not specified, use “”;

  • tplh (Optional) is the name of a User Delay which specifies the propagation delay when switching from “L” to “H”. If not specified, use “”;

Example 1: An Inverter with no delays.

td.addInverter("CLK,"","")

Example 2: An Inverter with tphl and tplh delays.

td.addUserDelay("tphl",tphlMin,tphlTyp,tphlMax, "tphl prop delay part xyz");
td.addUserDelay("tplh",tplhMin,tplhTyp,tplhMax, "tplh prop delay part xyz");

td.addInverter("CLK","tphl","tplh");
addDFF(String dinName, String clkName, boolean posEdge, String clk2qName, String enName, String rstName, String preName)
  • dinName is the name of the D input signal. It can be a DigitalSignal or a DigitalBus.

  • clkName is the name of the CLK input signal.

  • posEdge is true for rising edge triggered and false for falling edge triggerred.

  • clk2qName (Optional) is the name of a User Delay which specifies the clock to Q output delay. If not specified, use “”.

  • enName (Optional) is the name of the ENABLE input signal. If not specified, use “”.

  • rstName (Optional) is the name of the synchronous RESET input signal. If not specified, use “”.

  • preName (Optional) is the name of the synchronous PRESET input signal. If not specified, use “”.

Example 1: A positive edge triggered DFF with enable and clk2q delay.

td.addUserDelay("clk2q",clk2qmin,clk2qTyp,clk2qMax, "DFF clock to Q delay part xyz");
td.addDFF("FIFO_RD","CLK",true,"clk2q","FIFO_RD_EN","","");

Example 2: A positve edge triggered DFF with enable and clk2q delay and synchronous reset.

td.addUserDelay("clk2q",clk2qmin,clk2qTyp,clk2qMax, "DFF clock to Q delay part xyz");
td.addDFF("FIFO_RD","CLK",true,"clk2q","FIFO_RD_EN","FIFO_RST","");
addCounter(String cntrName, String clkName, boolean posEdge, String clk2qName, boolean upCounter, String enName, String ldName, String pinName, String rstName, String preName)
  • cntrName is the name of the counter output signal. A new DigitalBus will be added to the diagram with this name.

  • clkName is the name of the CLK input signal.

  • posEdge is true for rising edge triggered and false for falling edge triggerred.

  • clk2qName (Optional) is the name of a User Delay which specifies the clock to Q output delay. If not specified, use “”.

  • upCounter is true for an up counter and false for a down counter.

  • enName (Optional) is the name of the ENABLE input signal. If not specified, use “”.

  • ldName (Optional) is the name of the counter LOAD signal input. When active, the value of the parallel input (pinName) is loaded into the counter on the next clock edge.

  • pinName (Optional) is the name of the parallel input signal. This should be used with ldName. IF not specified, use “”.

  • rstName (Optional) is the name of the synchronous RESET input signal. If not specified, use “”.

  • preName (Optional) is the name of the synchronous PRESET input signal. If not specified, use “”.

Example 1: A 8 bit up counter, positive edge triggered, with clk2q delay, count enable and synchronous reset.

td.addUserDelay("clk2q",clk2qmin,clk2qTyp,clk2qMax, "Counter clock to Q delay part xyz");
td.addCounter("FIFO_WR_CNTR[7:0]","CLK",true,"clk2q",true,"FIFO_RD_CNTR_EN","","","RST","");