Multi-port register file with an input pipelined architecture with asynchronous reads and localized feedback
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-012/00
G06F-013/00
G06F-013/28
G06F-005/00
출원번호
US-0160174
(2011-06-14)
등록번호
US-8862836
(2014-10-14)
발명자
/ 주소
Damodaran, Raguram
Venkatasubramanian, Ramakrishnan
Bhoria, Naveen
출원인 / 주소
Texas Instruments Incorporated
대리인 / 주소
Marshall, Jr., Robert D.
인용정보
피인용 횟수 :
0인용 특허 :
7
초록▼
In an embodiment of the invention, a multi-port register file includes write port inputs (e.g. write address, write enable, data input) that are pipelined and synchronous and read port inputs (e.g. read address) that are asynchronous and are not pipelined. Because the write port inputs are pipelined
In an embodiment of the invention, a multi-port register file includes write port inputs (e.g. write address, write enable, data input) that are pipelined and synchronous and read port inputs (e.g. read address) that are asynchronous and are not pipelined. Because the write port inputs are pipelined, they are stored in pipelined registers. When data is written to the multi-port register file, data is first written to the pipelined registers during a first clock cycle. On the next clock cycle, data is read from the pipelined registers and written into memory array registers. Which bits of data from a pipelined synchronous data register are written into the multi-port register file is determined by a pipelined synchronous bit-write register. The output of the pipelined synchronous bit-write register selects which inputs of multiplexers contained in registers in the multi-port register file are stored.
대표청구항▼
1. A dual port register file comprising: a clock signal;a memory array comprising: a group of rows of memory array registers;wherein each memory array register in the memory array comprises: a multiplexer, the multiplexer having first and second data inputs, a select input and a data output;a memory
1. A dual port register file comprising: a clock signal;a memory array comprising: a group of rows of memory array registers;wherein each memory array register in the memory array comprises: a multiplexer, the multiplexer having first and second data inputs, a select input and a data output;a memory cell, the memory cell having a data input connected to the output of the multiplexer, a data output connected to the second data input of the multiplexer and an input connected to the clock signal;synchronous write address decode logic having inputs and outputs, wherein the synchronous write address decode logic outputs select which row from the group of rows of memory array registers data is written;a write port, the write port comprising: pipelined synchronous data registers having inputs and outputs wherein the outputs of the pipelined synchronous data registers are connected to the first data inputs of the memory array registers;pipelined synchronous bit-write registers having inputs and outputs wherein outputs of the pipelined synchronous bit-write registers select which data inputs of the multiplexers are written to the inputs of the memory cells;pipelined synchronous write address registers having inputs and outputs wherein the outputs are electrically connected to the inputs of the write address decode logic, wherein the pipelined synchronous write address registers store a write address;a pipelined synchronous write-enable register, wherein the pipelined synchronous write-enable register selects when the data from the pipelined synchronous data registers is written to the memory array;a read port, the read port comprising an asynchronous read address;asynchronous read address decode logic having inputs and outputs wherein the outputs from the asynchronous read address decode logic select which row of memory array registers is read from the memory array, wherein an asynchronous read address is electrically connected to the inputs of the asynchronous read address decode logic. 2. The dual port register file of claim 1 wherein when the pipelined synchronous write-enable register does not select data to be written, the pipelined synchronous data registers do not switch. 3. The dual port register file of claim 1 wherein when the pipelined synchronous write-enable register does not select data to be written, the pipelined synchronous bit-write registers do not switch. 4. The dual port register file of claim 1 wherein when the dual port register file writes a byte, only registers in the synchronous data registers that contain the byte switch. 5. The dual port register file of claim 1 wherein when the dual port register file writes a word, only registers in the synchronous data registers that contain the word switch. 6. The dual port register file of claim 1 wherein when the dual port register file writes a double-word, only registers in the synchronous data registers that contain the double-word switch. 7. The dual port register file of claim 1 wherein the memory array register is a standard cell. 8. A dual port register file comprising: a clock signal;a memory array comprising: a group of rows of memory array registers;wherein each memory array register in the memory array comprises: a multiplexer, the multiplexer having first and second data inputs, a select input and a data output;a memory cell, the memory cell having a data input connected to the output of the multiplexer, a data output connected to the second data input of the multiplexer and an input connected to the clock signal;synchronous write address decode logic having inputs and outputs, wherein the synchronous write address decode logic outputs select which row from the group of rows of memory array registers data is written;a write port, the write port comprising: pipelined synchronous data registers having inputs and outputs wherein the outputs of the pipelined synchronous data registers are connected to the first data inputs of the memory array registers;pipelined synchronous bit-write registers having inputs and outputs wherein outputs of the pipelined synchronous bit-write registers select which data inputs of the multiplexers are written to the inputs of the memory cells;pipelined synchronous write address registers having inputs and outputs wherein the outputs are electrically connected to the inputs of the write address decode logic, wherein the pipelined synchronous write address registers store a write address;a pipelined synchronous write-enable register, wherein the pipelined synchronous write-enable register selects when the data from the pipelined synchronous data registers is written to the memory array;a read port, the read port comprising an asynchronous read address;asynchronous read address decode logic having inputs and outputs, wherein an asynchronous read address is electrically connected to the inputs of the asynchronous read address decode logic;array multiplexers, the array multiplexers having data inputs, select inputs and outputs, wherein the select inputs of the array multiplexers select which data inputs of the array multiplexers are presented on the output of the array multiplexers;wherein outputs from the asynchronous read address decode logic are electrically connected to the select inputs of the array multiplexers;read data-forwarding multiplexers, the read data-forwarding multiplexers having select inputs, first data inputs, second data inputs and outputs wherein the first data inputs of the read data-forwarding multiplexers are electrically connected to the outputs of the array multiplexers;wherein the second data inputs of the read data-forwarding multiplexers are electrically connected to a result of a bit-wise ANDing of the output from the pipelined synchronous data registers and the output from the pipelined synchronous bit-write registers. 9. The dual port register file of claim 8 wherein when the pipelined synchronous write-enable register does not select data to be written, the pipelined synchronous data registers do not switch. 10. The dual port register file of claim 8 wherein when the pipelined synchronous write-enable register does not select data to be written, the pipelined synchronous bit-write registers do not switch. 11. The dual port register file of claim 8 wherein when the dual port register file writes a byte, only registers in the synchronous data registers that contain the byte switch. 12. The dual port register file of claim 8 wherein when the dual port register file writes a word, only registers in the synchronous data registers that contain the word switch. 13. The dual port register file of claim 8 wherein when the dual port register file writes a double-word, only registers in the synchronous data registers that contain the double-word switch. 14. A four port register file comprising: a clock signal;a memory array comprising: a group of rows of memory array registers;wherein each memory array register in the memory array comprises: a multiplexer, the multiplexer having first, second, and third data inputs, a select input and an output;a memory cell, the memory cell having a data input connected to the output of the multiplexer, a data output connected to the third data input of the multiplexer and an input connected to the clock signal;a first synchronous write address decoder having inputs and outputs, wherein the first synchronous write address decoder outputs select which row from the group of rows of memory array registers a first group of data is written;a first write port, the first write port comprising: a first group of pipelined synchronous data registers having inputs and outputs wherein the outputs of the first group of pipelined synchronous data registers are connected to the first data inputs of the memory array registers;a first group of pipelined synchronous bit-write registers having inputs and outputs wherein outputs of the pipelined synchronous bit-write registers select which data inputs of the multiplexers are written to the inputs of the memory cells;a first group of pipelined synchronous write address registers having inputs and outputs wherein the outputs are electrically connected to the inputs of the write address decode logic, wherein the pipelined synchronous write address registers store a first write address;a first pipelined synchronous write-enable register, wherein the first pipelined synchronous write-enable register selects when the data from the first group of pipelined synchronous data registers is written to the memory array;a first read port, the first read port comprising a first asynchronous read address;a first asynchronous read address decoder having inputs and outputs wherein the outputs from the asynchronous read address decoder select which row of memory array registers is read from the memory array, wherein a first asynchronous read address is electrically connected to the inputs of the first asynchronous read address decoder;a second synchronous write address decoder having inputs and outputs, wherein the second synchronous write address decoder outputs select which row from the group of rows of memory array registers a second group of data is written;a second write port, the second write port comprising: a second group of pipelined synchronous data registers having inputs and outputs wherein the outputs of the second group of pipelined synchronous data registers are connected to the second data inputs of the memory array registers;a second group of pipelined synchronous bit-write registers having inputs and outputs wherein outputs of the second group of pipelined synchronous bit-write registers select which data inputs of the multiplexers are written to the inputs of the memory cells;a second group of pipelined synchronous write address registers having inputs and outputs wherein the outputs are electrically connected to the inputs of the write address decode logic, wherein the pipelined synchronous write address registers store a first write address;a second pipelined synchronous write-enable register, the second pipelined synchronous write-enable register selects when the data is written to the memory array;a second read port, the second read port comprising a second asynchronous read addressa second asynchronous read address decoder having inputs and outputs wherein the outputs from the second asynchronous read address decoder select which row of memory array registers is read from the memory array, wherein a second asynchronous read address is electrically connected to the inputs of the second asynchronous read address decoder. 15. The four port register file of claim 14 wherein when the first pipelined synchronous write-enable register does not select data to be written, the first group of pipelined synchronous data registers do not switch. 16. The four port register file of claim 14 wherein when the first pipelined synchronous write-enable register does not select data to be written, the first group of pipelined synchronous bit-write registers do not switch. 17. The four port register file of claim 14 wherein when the four port register file writes a byte, only registers in the first group of synchronous data registers that contain the byte switch. 18. The four port register file of claim 14 wherein when the four port register file writes a word, only registers in the first group of synchronous data registers that contain the word switch. 19. The four port register file of claim 14 wherein when the four port register file writes a double-word, only registers in the first group of synchronous data registers that contain the double-word switch.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (7)
Wagner Lawrence F. (Berkeley CA) Van Dyke Korbin S. (Fremont CA) Burleson Wayne P. (Palo Alto CA) Hemming Robert D. (San Jose CA) Guadagna John P. (Morgan Hill CA), Digital processor with a four part data register for storing data before and after data conversion and data calculations.
Lin, Kenneth Chenghao; Ren, Haoqi; Zhao, Zhongmin; Zhang, Bingchun; Zheng, Changchun, Reconfigurable system having plurality of basic function units with each unit having a plurality of multiplexers and other logics for performing at least one of a logic operation or arithmetic operation.
Guillo, Jean Roger; Roland, Sophie; Jeanne, Francois; Lecoeuvre, Jean Francois; Obadia, Jean Marc; Bouquier, Benoit, Sealing and reinforcing strips principally for airbag assembly joints.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.