Sign In to Follow Application
View All Documents & Correspondence

Programmable Shift Register With Programmable Load Location

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.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
02 November 2017
Publication Number
18/2019
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
info@khuranaandkhurana.com
Parent Application

Applicants

Silicon and Beyond Private Limited
303, 2nd Floor, A Block, AECS Layout, Kundalahalli, Bengaluru, Karnataka-560037, India.

Inventors

1. NEBHRAJANI, Vijay A.
F-1102 Irene Towers, Aloma County, Aundh, Pune 411007, Maharashtra, India.
2. NAIK, Sanket
402, Damodar Bhavan, Near TZ Homes, Ramgondanhalli Whitefield, Bangalore, Karnataka-560066, India.

Specification

Claims: A loadable programmable Shift Register (pSR), said pSR being configured to receive a programmable input Load Location (LL) that defines where data D is to be loaded from the Load Register when L (Load Control Signal) = 1. The pSR of claim 1, wherein the pSR with programmable load location (pSRL) comprises a bit-remapper function d that receives L (Load Control Signal), S (Shift Control Signal), LL (Load Location Control Signal), and p (programmable shift value), and based on n (n+1):1 multiplexers and pi’, outputs a load vector, wherein pi’ = (LL-1) when ((L = 1, S = 0) and (LL = i)), else if (S = 1), pi’ = p + i, else pi’ = i. The pSR of claim 2, wherein the pSRL receives the L (Load Control Signal), the S (Shift Control Signal), the LL (Load Location Control Signal), and the p (programmable shift value) from any or combination of a control Finite State Machine (FSM), a programmable logic device (PLD), or a software application. The pSR of claim 2, wherein if L=1 and S =0, di = Di-LL if LL = i = min (n, (LL+m)), else di = di. The pSR of claim 2, wherein if L=0 and S =1, di = di+p if i < (n-p), else di = 0. The pSR of claim 2, wherein if L=1 and S =1, di = di+p if i 1, then loading happens to the left of bit 1 and d1 stays uninvolved. This is a total of (n + 1) values. Similarly, bit 2 could get its own value, one of (n – 2) bits to its left or only bits 1 and 2 of the load register (D1 or D2). It would get D1 if LL = 2, and it would get D2 if LL = 1. This is a total of (n + 1) values. Continuing, bit 3 could get its own value, one of (n – 3) bits to its left or bits 1, 2 or 3 of the load register (D1, D2 or D3). It would get D1 if LL = 3, D2 if LL = 2 and D3 if LL = 1. Once again, this is a total of (n + 1) values. Generically, bit r gets its own value, one of (n – r) bits to its left or one of r bits {1, 2, 3 … r} of the load register – D1, D2, D3 … Dr. It gets D1 if (LL = r), D2 if LL = (r – 1), D3 if LL = (r – 2) and so on. This is a total of (n + 1) values. Thus, in general bit r gets the value of bit D(r – LL + 1) if LL = r. If LL > r, then bit r either may either get a shifted value or hold its previous value. From above results it may be noted that, at most n (n + 1):1 multiplexers are needed for the implementation. The multiplexer size starts reducing from the (n – m + 1)th bit onwards because there are fewer bits on the left to choose from while shifting. The nth bit can only get its own value or one of m values from the load register, since it does not have bits on its left. FIG. 5B illustrates an exemplary implementation of the proposed loadable programmable shift register with programmable load location (pSRL), in accordance with an embodiment of the present disclosure. In an embodiment, FIG. 5B illustrates the proposed loadable programmable shift register with an additional input that defines where data is loaded (pSRL). It is to be appreciated that for the exemplary implementation purpose, D1, D2, D3 … etc. are connected in the reverse order of d2, d3, d4… etc, which enables a simple way of realizing the expression (r – LL + 1), since bit r will get the value of bit D(r – LL + 1) from the load register while loading. In an exemplary embodiment, in an implementation, the proposed pSRL focuses on the way pi’ is computed, wherein using the implementation as illustrated in FIG. 5C, for pi’ generation for the pSRL: p1’ is realized by: if ((L = 1, S = 0) and (LL = 1)) p1’ = (LL – 1) else if (S = 1) p1’ = p + 1 else p1’ = 1 if (L = 1, S = 0) and (LL = 3): LL p1’ selects 1 0 D3 2 1 D2 3 2 D1 else if (S = 1) p p1’ selects 1 4 d4 2 5 d5 3 6 d6 … … … else X 3 d3 p2’ is realized by if ((L = 1, S = 0) and (LL = 2)) p2’ = (LL – 1) else if (S = 1) p2’ = p + 2 else p2’ = 2 if (L = 1, S = 0) and (LL = 2): LL p2’ selects 1 0 D2 2 1 D1 else if (S = 1) p p2’ selects 1 3 d3 2 4 d4 3 5 d5 … … … else X 2 d2 p3’ is realized by: if ((L = 1, S = 0) and (LL = 3)) p3’ = (LL – 1) else if (S = 1) p3’ = p + 3 else p3’ = 3 if (L = 1, S = 0) and (LL = 3): LL p3’ selects 1 0 D3 2 1 D2 3 2 D1 else if (S = 1) p p3’ selects 1 4 d4 2 5 d5 3 6 d6 … … … else X 3 d3 pi’ is realized by: if ((L = 1, S = 0) and (LL = i)) pi’ = (LL – 1) else if (S = 1) pi’ = p + i else pi’ = i if (L = 1, S = 0) and (LL = p): LL pi’ selects 1 0 Dp 2 1 Dp-1 3 2 Dp-2 … … … p p–1 D1 else if (S = 1) p pi selects 1 1+p dp+1 2 2+p dp+2 3 3+p dp+3 … … … else X p dp Thus, it may be noted form the above that, the n (n + 1):1 multiplexers and pi’ together defines the bit re-mapper function d, which is a complete solution for a pSRL. FIG. 5C illustrates an exemplary conceptual block diagram of the proposed loadable programmable shift register with programmable load location (pSRL) as illustrated in FIGs. 5A-B with a bit-remapper function (d) 594, in accordance with an embodiment of the present disclosure. The proposed loadable programmable shift register includes with an additional input that defines where data is loaded (pSRL). Considering the above analysis representations and analysis, FIG. 5C illustrates the block diagram of pSRL. As shown in FIG. 5C, the bit-mapper function d (also interchangeably referred to as bit-mapper d 594) receives a data (Din) from a load register having a data width (M) 592 along with at least one of control inputs 582 that control at least one of load location (LL) of data 584, loading (L) of data 584, shifting (S) of data 588, and a programmable shift value (p) 590. It may be noted from the above that, FIG. 5C provides a generalized programmable shift register with programmable load location which serves as a storage. In an exemplary embodiment, the proposed loadable programmable shift register with programmable load location (pSRL) 580 is provided. The pSRL being configured to receive a programmable input LL 584 that defines where data D is to be loaded from the Load Register when L (Load Control Signal) = 1. In an exemplary embodiment, the pSR with programmable load location (pSRL) includes a bit-remapper d 594 function that receives L (Load Control Signal) 586, S (Shift Control Signal) 588, LL (Load Location Control Signal) 584, and p (programmable shift value 590, and based on n (n+1):1 multiplexers and pi’, outputs a load vector, wherein pi’ = (LL-1) when ((L = 1, S = 0) and (LL = i)), else if (S = 1), pi’ = p + i, else pi’ = i. In an exemplary embodiment, the pSRL receives the L (Load Control Signal), the S (Shift Control Signal), the LL (Load Location Control Signal), and the p (programmable shift value) from a control Finite State Machine (FSM) (not shown). In an exemplary embodiment, if L=1 and S =0, di = Di-LL if LL = i = min (n, (LL+m)), else di = di. In another aspect, if L=0 and S =1, di = di+p if i < (n-p), else di = 0. In yet another aspect, if L=1 and S=1, di = di+p if i

Documents

Application Documents

# Name Date
1 201741039137-STATEMENT OF UNDERTAKING (FORM 3) [02-11-2017(online)].pdf 2017-11-02
2 201741039137-FORM FOR SMALL ENTITY(FORM-28) [02-11-2017(online)].pdf 2017-11-02
3 201741039137-FORM FOR SMALL ENTITY [02-11-2017(online)].pdf 2017-11-02
4 201741039137-FORM 1 [02-11-2017(online)].pdf 2017-11-02
5 201741039137-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [02-11-2017(online)].pdf 2017-11-02
6 201741039137-EVIDENCE FOR REGISTRATION UNDER SSI [02-11-2017(online)].pdf 2017-11-02
7 201741039137-DRAWINGS [02-11-2017(online)].pdf 2017-11-02
8 201741039137-DECLARATION OF INVENTORSHIP (FORM 5) [02-11-2017(online)].pdf 2017-11-02
9 201741039137-COMPLETE SPECIFICATION [02-11-2017(online)].pdf 2017-11-02
10 201741039137-FORM-26 [28-11-2017(online)].pdf 2017-11-28
11 Correspondence by Agent_Power Of Attorney_01-12-2017.pdf 2017-12-01
12 201741039137-REQUEST FOR CERTIFIED COPY [26-01-2018(online)].pdf 2018-01-26
13 201741039137-FORM28 [26-01-2018(online)].pdf 2018-01-26
14 201741039137-FORM FOR SMALL ENTITY [26-01-2018(online)].pdf 2018-01-26
15 201741039137-EVIDENCE FOR REGISTRATION UNDER SSI [26-01-2018(online)].pdf 2018-01-26
16 201741039137-Proof of Right (MANDATORY) [02-05-2018(online)].pdf 2018-05-02
17 Correspondence by Agent_ Form1_15-05-2018.pdf 2018-05-15
18 201741039137-FORM 3 [09-02-2019(online)].pdf 2019-02-09