IP Library Granted Patent US 10,320,389
Granted Patent B2
US 10,320,389 · App. 15/876,693 · Granted Jun 11, 2019

Programmable shift register with programmable load location

Inventors: Vijay A. Nebhrajani (Maharashtra, IN); Sanket Naik (Bangalore, IN)
Assignee: Synopsys, Inc.
H03K19/17712G01R31/318516G11C16/02H03K19/1776H03K19/17776
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,320,389
App. No.
15/876,693
Granted
Jun 11, 2019
Kind
B2
Abstract

Programmable shift register with programmable load location (pSRL) for data storage and method thereof is disclosed. A loadable programmable Shift Register (pSR) according to present disclosure receives a programmable input LL that defines where data D is to be loaded from the Load Register when L (Load Control Signal)=1. The loadable Shift Register with programmable load location (pSRL) is configured to obtain L (Load Control Signal), S (Shift Control Signal), LL (Load Location Control Signal), and p (programmable shift value), and wherein the pSRL is adapted to perform loading and shifting of data D based at least on the L, S, LL, and p values.

Claims (37)

1. A loadable programmable Shift Register (pSR) comprising:

a cascade of flip flops, each flip flop in the cascade of flip flops having an input and an output; and

a bit-remapper configured to receive data from a load register and load the data into the cascade of flip flops based on a plurality of control signals, the plurality of control signals comprising:

a programmable input load location that defines a position in the cascade of flip flops where the data is to be loaded from the load register;

a load control signal for controlling the loading of the data into the cascade of flip flops,

a shift control signal for controlling a shifting of contents of the cascade of flip flops, and

a programmable shift value indicating a number of bits to shift the contents of the cascade of flip flops responsive to the shift control signal.

2. The loadable pSR of claim 1 , wherein the bit-remapper comprises a plurality of multiplexers, each multiplexer of the plurality of multiplexers corresponding to a respective flip flop of the cascade of flip flops and configured to output a respective element of a load vector, wherein the load vector is used to load the data into the cascade of flip flops.

3. The loadable pSR of claim 1 , wherein the bit-remapper receives the plurality of control signals from at least one of a control Finite State Machine (FSM), a programmable logic device (PLD), or a software application.

4. The loadable pSR of claim 2 , wherein responsive to the load control signal having a high value and the shift control signal having a low value, the load vector output by the plurality of multiplexers overwrites a portion of the contents of the cascade of flip flops, the portion of the contents including a bit stored in a flip flop corresponding to the load location.

5. The loadable pSR of claim 2 , wherein responsive to the load control signal having a low value and the shift control signal having a high value, the load vector output by the plurality of multiplexers shifts a portion of the contents of the cascade of flip flops to a first portion of the cascade of flip flops by the number of bits indicated by the programmable shift value, and sets a second portion of the cascade of flip flops to zero.

6. The loadable pSR of claim 2 , wherein responsive to the load control signal having a high value and the shift control signal having a high value, the load vector output by the plurality of multiplexers shifts a portion of the contents of the cascade of flip flops to a first portion of the cascade of flip flops by the number of bits indicated by the programmable shift value, and loads the data into a second portion of the cascade of flip flops, wherein the second portion of the cascade of flip flops is based on the load location.

7. The loadable pSR of claim 1 , wherein an existing value stored in the cascade of flip flops having a same position as the position defined by the programmable input load location is overwritten in response to loading the data from the load register.

8. A method for storing data in a loadable programmable Shift Register (pSR), the method comprising:

receiving, by a bit-remapper of the loadable pSR, data from a load register to be loaded into a cascade of flip flops;

receiving, by the bit-remapper of the loadable pSR, a plurality of control signals comprising:

a programmable input load location that defines a position in the cascade of flip flops where the data is to be loaded from the load register,

a load control signal for controlling the loading of the data into the cascade of flip flops,

a shift control signal for controlling a shifting of contents of the cascade of flip flops, and

a programmable shift value indicating a number of bits to shift the contents of the cascade of flip flops responsive to the shift control signal; and

performing, by the bit-remapper of the loadable pSR, loading of the data into the cascade of flip flops based at least on the plurality of control signals.

9. The method of claim 8 , wherein the bit-remapper comprises a plurality of multiplexers, each multiplexer of the plurality of multiplexers corresponding to a respective flip flop of the cascade of flip flops, the method further comprising:

outputting, by each multiplexer of the plurality of multiplexers, a respective element of a load vector; and

loading, with the load vector, the data into the cascade of flip flops.

10. The method of claim 9 , wherein performing loading of the data into the cascade of flip flops based at least on the plurality of control signals comprises:

in response to the load control signal having a high value and the shift control signal having a low value, overwriting, by the load vector output by the plurality of multiplexers, a portion of the contents of the cascade of flip flops, the portion of the contents including a bit stored in a flip flop corresponding to the load location.

11. The method of claim 9 , further comprising:

in response to the load control signal having a low value and the shift control signal having a high value, shifting, by the load vector output by the plurality of multiplexers, a portion of the contents of the cascade of flip flops to a first portion of the cascade of flip flops by the number of bits indicated by the programmable shift value; and

setting a second portion of the cascade of flip flops to zero.

12. The method of claim 9 , wherein performing loading of the data into the cascade of flip flops based at least on the plurality of control signals comprises:

in response to the load control signal having a high value and the shift control signal having a high value, shifting, by the load vector output by the plurality of multiplexers, a portion of the contents of the cascade of flip flops to a first portion of the cascade of flip flops by the number of bits indicated by the programmable shift value; and

loading, by the load vector, the data into a second portion of the cascade of flip flops, wherein the second portion of the cascade of flip flops is based on the load location.

13. The method of claim 8 , wherein the bit-remapper receives the plurality of control signals from at least one of a control Finite State Machine (FSM), a programmable logic device (PLD), or a software application.

14. The method of claim 8 , further comprising:

in response to loading the data from the load register, overwriting an existing value stored in the cascade of flip flops having a same position as the position defined by the programmable input load location.

15. The method of claim 8 , further comprising:

performing, by the bit-remapper of the loadable pSR, shifting of the contents stored in the cascade of flip flops based on the shift control signal and the programmable shift value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: SILICON AND BEYOND PRIVATE LIMITED
To: SYNOPSYS, INC.
Reel/Frame 046306/0135 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2018
From: NEBHRAJANI, VIJAY A.; NAIK, SANKET
To: SILICON AND BEYOND PRIVATE LIMITED
Reel/Frame 046279/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2018
From: NEBHRAJANI, VIJAY A.; NAIK, SANKET
To: SILICON AND BEYOND PRIVATE LIMITED
Reel/Frame 044689/0925 →
Priority Claims (1)
IN 201741039137 · Nov 2, 2017 · national
Continuity (1)
Related Publication 20190131973A1 · May 2, 2019