Patent classifications
H03K19/17724
Semiconductor device
A semiconductor device is provided. The semiconductor device includes first and second logic cells adjacent to each other on a substrate, and a mixed separation structure extending in a first direction between the first and second logic cells. Each logic cell includes first and second active fins that protrude from the substrate, the first and second active fins extending in a second direction intersecting the first direction and being spaced apart from each other in the first direction, and gate electrodes extending in the first direction and spanning the first and second active fins, and having a gate pitch. The mixed separation structure includes a first separation structure separating the first active fin of the first logic cell from the first active fin of the second logic cell; and a second separation structure on the first separation structure. A width of the first separation structure is greater than the gate pitch.
Semiconductor device
A semiconductor device is provided. The semiconductor device includes first and second logic cells adjacent to each other on a substrate, and a mixed separation structure extending in a first direction between the first and second logic cells. Each logic cell includes first and second active fins that protrude from the substrate, the first and second active fins extending in a second direction intersecting the first direction and being spaced apart from each other in the first direction, and gate electrodes extending in the first direction and spanning the first and second active fins, and having a gate pitch. The mixed separation structure includes a first separation structure separating the first active fin of the first logic cell from the first active fin of the second logic cell; and a second separation structure on the first separation structure. A width of the first separation structure is greater than the gate pitch.
Methods and apparatus for providing a high-speed universal serial bus (USB) interface for a field-programmable gate array (FPGA)
A system containing a host and a device having a field-programmable gate array (“FPGA”) is disclosed. The system includes a set of configurable logic blocks (“LBs”), a bus, and a Universal Serial Bus (“USB”) interface. The configurable LBs, in one aspect, are able to be selectively programmed to perform one or more logic functions. The bus contains a P-channel and an N-channel operable to transmit signals in accordance with a high-speed USB protocol. The USB interface is configured to include a first differential comparator operable to identify a logic zero state at the P-channel and a second differential comparator operable to identify a logic zero state at the N-channel.
Methods and apparatus for providing a high-speed universal serial bus (USB) interface for a field-programmable gate array (FPGA)
A system containing a host and a device having a field-programmable gate array (“FPGA”) is disclosed. The system includes a set of configurable logic blocks (“LBs”), a bus, and a Universal Serial Bus (“USB”) interface. The configurable LBs, in one aspect, are able to be selectively programmed to perform one or more logic functions. The bus contains a P-channel and an N-channel operable to transmit signals in accordance with a high-speed USB protocol. The USB interface is configured to include a first differential comparator operable to identify a logic zero state at the P-channel and a second differential comparator operable to identify a logic zero state at the N-channel.
Multiplier-Accumulator Circuitry, and Processing Pipeline including Same
An integrated circuit comprising a plurality of multiply-accumulator circuits, connected in series, wherein the plurality of multiply-accumulator circuits includes a first MAC circuit, including a multiplier to multiply first data and first multiplier weight data and output first product data, and an accumulator, coupled to the multiplier of the first MAC circuit, to add second data and the first product data and output first sum data. The plurality of multiply-accumulator circuits further includes a second MAC circuit including a multiplier to multiply third data and second multiplier weight data and output second product data, and an accumulator, coupled to the multiplier of the second MAC circuit and the accumulator of the first MAC circuit, to generate and output second sum data. A first load-store register is coupled to an output of the accumulator of the first MAC circuit and an input of the accumulator of the second MAC circuit.
Multiplier-Accumulator Circuitry, and Processing Pipeline including Same
An integrated circuit comprising a plurality of multiply-accumulator circuits, connected in series, wherein the plurality of multiply-accumulator circuits includes a first MAC circuit, including a multiplier to multiply first data and first multiplier weight data and output first product data, and an accumulator, coupled to the multiplier of the first MAC circuit, to add second data and the first product data and output first sum data. The plurality of multiply-accumulator circuits further includes a second MAC circuit including a multiplier to multiply third data and second multiplier weight data and output second product data, and an accumulator, coupled to the multiplier of the second MAC circuit and the accumulator of the first MAC circuit, to generate and output second sum data. A first load-store register is coupled to an output of the accumulator of the first MAC circuit and an input of the accumulator of the second MAC circuit.
METHOD AND SYSTEM FOR PROVIDING WORD ADDRESSABLE NONVOLATILE MEMORY IN A PROGRAMMABLE LOGIC DEVICE
A programmable integrated circuit device able to be selectively programmed to perform one or more logic functions includes multiple configurable logic blocks (“LBs”), routing fabric, and a nonvolatile memory (“NVM”). While the configurable LBs are able to be selectively programmed to perform one or more logic functions, the routing fabric selectively routes information between the configurable LBs and input/output ports based on a routing configuration signals. The NVM, such as magnetoresistive random access memory (“MRAM”), phase-change memory, or ferroelectric RAM (“FeRAM”), is flexibly organized to contain a configuration NVM storage and a user NVM storage, wherein the user NVM storage is a word addressable memory capable of facilitating random memory access.
METHOD AND SYSTEM FOR PROVIDING WORD ADDRESSABLE NONVOLATILE MEMORY IN A PROGRAMMABLE LOGIC DEVICE
A programmable integrated circuit device able to be selectively programmed to perform one or more logic functions includes multiple configurable logic blocks (“LBs”), routing fabric, and a nonvolatile memory (“NVM”). While the configurable LBs are able to be selectively programmed to perform one or more logic functions, the routing fabric selectively routes information between the configurable LBs and input/output ports based on a routing configuration signals. The NVM, such as magnetoresistive random access memory (“MRAM”), phase-change memory, or ferroelectric RAM (“FeRAM”), is flexibly organized to contain a configuration NVM storage and a user NVM storage, wherein the user NVM storage is a word addressable memory capable of facilitating random memory access.
Reducing resource requirements for high-frequency counter arrays
Systems and method include receiving counter update requests that are at a maximum frequency of f.sub.counters; sending the counter update requests to a main block of counters that operate at a maximum frequency of f.sub.main, where (f.sub.main)≥(f.sub.counters)/2; and responsive to a block of the main block of counters experiencing an overflow, sending corresponding counter update requests for the block of the main block of counters experiencing the overflow to a cache counter block that operates at a maximum frequency of f.sub.cache, where (f.sub.main)≥(f.sub.cache) and (f.sub.cache)≥(f.sub.counters)−(f.sub.main). The counter update requests can be for Y×K total counters, and the main block of counters can include Y blocks of counters each block having K counters, Y and K are positive integers. (f.sub.main)≥(f.sub.counters)/2 ensures only one block of the main block of counters overflows simultaneously.
Reducing resource requirements for high-frequency counter arrays
Systems and method include receiving counter update requests that are at a maximum frequency of f.sub.counters; sending the counter update requests to a main block of counters that operate at a maximum frequency of f.sub.main, where (f.sub.main)≥(f.sub.counters)/2; and responsive to a block of the main block of counters experiencing an overflow, sending corresponding counter update requests for the block of the main block of counters experiencing the overflow to a cache counter block that operates at a maximum frequency of f.sub.cache, where (f.sub.main)≥(f.sub.cache) and (f.sub.cache)≥(f.sub.counters)−(f.sub.main). The counter update requests can be for Y×K total counters, and the main block of counters can include Y blocks of counters each block having K counters, Y and K are positive integers. (f.sub.main)≥(f.sub.counters)/2 ensures only one block of the main block of counters overflows simultaneously.