bitser.primatives.slice
Class bsMDShiftUL

java.lang.Object
  |
  +--com.xilinx.JBits.CoreTemplate.RTPCore
        |
        +--bitser.primatives.slice.bsMDShiftUL

public class bsMDShiftUL
extends com.xilinx.JBits.CoreTemplate.RTPCore

A core to implement an arbitrary artithmetic shift right with sign extension for bit-serial LSB first data.

WARNING: If you pass a net to the serOut Net in the constructor, ensure that you connect it or the core will not function properly.

The control signal is a pulse that is asserted during the LSB and remains asserted for the number of clock periods of the desired right shift. The latency is the pulse width in clock periods plus one.

Copyright (c) 2003 by Alex Carreira

Version:
4.0 Removed control signal trigger. Strategy should be to trigger the bar delay core with a control signal that is one bit time earlier than the control signal of the data that is to be shifted.
Author:
Alex Carreira
See Also:
Serialized Form

Constructor Summary
bsMDShiftUL(java.lang.String anInstanceName, com.xilinx.JBits.CoreTemplate.Net clk, com.xilinx.JBits.CoreTemplate.Net ctrlIn, com.xilinx.JBits.CoreTemplate.Net serIn, com.xilinx.JBits.CoreTemplate.Net serOut)
          Creates an instance of a bsMDShiftUL.
 
Method Summary
static int calcHeight()
          This method calculates the Height of the bsMDShiftUL core.
static int calcHeightGran()
          This method specifies the Height Granularity of this core
static int calcWidth()
          This method calculates the Width of the bsMDShiftUL core.
static int calcWidthGran()
          This method specifies the Width Granularity of this core.
 void connect()
          Connect the internal nets of the core.
static int getCtrlFO()
           
static int getSerDataFO()
           
 void implement()
          Implement this bsMDShiftUL instance.
 
Methods inherited from class com.xilinx.JBits.CoreTemplate.RTPCore
addChild, addChild, addFixedResource, calcAbsoluteOffset, getChild, getFixedResource, getHeight, getHeight, getHeightGran, getHierName, getName, getParent, getPort, getPort, getRelativeOffset, getTag, getWidth, getWidth, getWidthGran, isProtected, newBus, newBus, newInputPort, newInputPort, newNet, newNet, newNet, newNoConnectBus, newOutputPort, newOutputPort, newPort, newPort, numChildren, numFixedResources, numPorts, removeDescendants, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

bsMDShiftUL

public bsMDShiftUL(java.lang.String anInstanceName,
                   com.xilinx.JBits.CoreTemplate.Net clk,
                   com.xilinx.JBits.CoreTemplate.Net ctrlIn,
                   com.xilinx.JBits.CoreTemplate.Net serIn,
                   com.xilinx.JBits.CoreTemplate.Net serOut)
            throws com.xilinx.JBits.CoreTemplate.CoreException
Creates an instance of a bsMDShiftUL.
Parameters:
instanceName - The name assigned to this TwosComplementSlice instance.
clk - The external net to be connected to the clock port.
ctrlIn - The external net to be connected to the ctrlIn port.
serIn - The external net to be connected to the serIn port.
serOut - The external net to be connected to the serOut port.
Throws:
Throws - a CoreException if anything goes wrong.
Method Detail

calcHeight

public static int calcHeight()
This method calculates the Height of the bsMDShiftUL core.

calcWidth

public static int calcWidth()
This method calculates the Width of the bsMDShiftUL core.

calcHeightGran

public static int calcHeightGran()
This method specifies the Height Granularity of this core

calcWidthGran

public static int calcWidthGran()
This method specifies the Width Granularity of this core.

getSerDataFO

public static int getSerDataFO()
Returns:
The fan-out that this core imposes on the serial data input net.

getCtrlFO

public static int getCtrlFO()
Returns:
The fan-out that this core imposes on the control input net.

implement

public final void implement()
                     throws com.xilinx.JBits.CoreTemplate.CoreException
Implement this bsMDShiftUL instance. WARNING: You must call the connect() method of this core or internal nets will remain unconnected.
Throws:
com.xilinx.JBits.CoreTemplate.CoreException - is thrown for error occurences.

connect

public void connect()
             throws com.xilinx.JBits.CoreTemplate.CoreException
Connect the internal nets of the core. This separate method allows the routing to be prioritized.
Throws:
com.xilinx.JBits.CoreTemplate.CoreException - is thrown for error occurences.