Universal digital block interconnection and channel routing
First Claim
Patent Images
1. An apparatus, comprising:
- an array of digital blocks; and
a programmable interconnect matrix including horizontal channels that programmably couple different groups of one or more digital blocks together and segmentation elements that programmably interconnect different horizontal channels together, wherein the digital blocks each comprise a first group of uncommitted logic elements that are programmable into different logic functions and a second group of dedicated logic elements that together form a programmable arithmetic sequencer.
5 Assignments
0 Petitions
Accused Products
Abstract
A programmable routing scheme provides improved connectivity both between Universal Digital Blocks (UDBs) and between the UDBs and other micro-controller elements, peripherals and external Inputs and Outputs (I/Os) in the same Integrated Circuit (IC). The routing scheme increases the number of functions, flexibility, and the overall routing efficiency for programmable architectures. The UDBs can be grouped in pairs and share associated horizontal routing channels. Bidirectional horizontal and vertical segmentation elements extend routing both horizontally and vertically between different UDB pairs and to the other peripherals and I/O.
1076 Citations
16 Claims
-
1. An apparatus, comprising:
-
an array of digital blocks; and a programmable interconnect matrix including horizontal channels that programmably couple different groups of one or more digital blocks together and segmentation elements that programmably interconnect different horizontal channels together, wherein the digital blocks each comprise a first group of uncommitted logic elements that are programmable into different logic functions and a second group of dedicated logic elements that together form a programmable arithmetic sequencer. - View Dependent Claims (2, 5, 6, 7)
-
-
3. An apparatus, comprising:
-
an array of digital blocks; a programmable interconnect matrix including horizontal channels that programmably couple different groups of one or more digital blocks together and segmentation elements that programmably interconnect different horizontal channels together; and vertical channels that programmably interconnect the horizontal channels in different rows, wherein the horizontal channels provide more connectivity between the digital blocks located in the same rows than connectivity provided by the vertical channels between the digital blocks located in different rows.
-
-
4. An apparatus, comprising:
-
an array of digital blocks; and a programmable interconnect matrix including horizontal channels that programmably couple different groups of one or more digital blocks together and segmentation elements that programmably interconnect different horizontal channels together, wherein two digital blocks in a same digital block pair are tightly coupled together to common routes in a same associated horizontal channel and different digital block pairs are less tightly coupled together through the segmentation elements.
-
-
8. An apparatus, comprising:
-
an array of digital blocks; and a programmable interconnect matrix including horizontal channels that programmably couple different groups of one or more digital blocks together and segmentation elements that programmably interconnect different horizontal channels together; and a micro-controller system programmably coupled to the different digital blocks and to different selectable Inputs/Outputs (I/Os) through the interconnect matrix. - View Dependent Claims (9, 10)
-
-
11. An integrated circuit, comprising:
-
a micro-controller system; a programmable interconnect including horizontal channels and vertical channels; a memory device accessible by the micro-controller to control how functional elements in the integrated circuit connect to the horizontal channels and control how the horizontal channels and vertical channels connect to each other; programmably configurable digital blocks that are selectively coupled to the horizontal channels according to bits loaded into the memory device; and undedicated external input and output pins that are programmably coupled to different inputs and outputs in the micro-controller system through the programmable interconnect and also programmably coupled to different selectable functional elements in the different digital blocks through the programmable interconnect. - View Dependent Claims (12, 13)
-
-
14. An integrated circuit, comprising:
-
a micro-controller system; a programmable interconnect including horizontal channels and vertical channels; and a memory device accessible by the micro-controller to control how functional elements in the integrated circuit connect to the horizontal channels and control how the horizontal channels and vertical channels connect to each other; an interrupt controller that receives interrupt requests through the programmable interconnect from different selectable digital blocks or different selectable I/Os; and a Direct Memory Access (DMA) controller that receives DMA requests through the programmable interconnect from different selectable digital blocks or different selectable I/Os.
-
-
15. A method, comprising:
-
providing an interconnect matrix; programming the interconnect matrix to connect different functional elements to associated local routing channels; programming the interconnect matrix to interconnect different local routing channels together; programming the interconnect matrix to further connect different local routing channels to each other through general routing channels; writing a first set of values into a configuration memory that control connections between the functional elements and the associated local routing channels; writing a second set of values into the configuration memory that control the interconnections between different local routing channels; and writing a third set of values into the configuration memory that control the interconnections between the local routing channels and the general routing channels.
-
-
16. A method, comprising:
-
providing an interconnect matrix; programming the interconnect matrix to connect different functional elements to associated local routing channels; programming the interconnect matrix to interconnect different local routing channels together; programming the interconnect matrix to further connect different local routing channels to each other through general routing channels; and programming different paths through the interconnect matrix that connect different external pins or different internal functional elements to a same interrupt line on an internal interrupt controller;
orprogramming different paths through the interconnect matrix that connect different external pins or different internal functional elements to a same Direct Memory Access (DMA) line on an internal DMA controller.
-
Specification