Display processor integrated circuit with on-chip programmable logic for implementing custom enhancement functions

Information

  • Patent Grant
  • 7782398
  • Patent Number
    7,782,398
  • Date Filed
    Wednesday, September 4, 2002
    22 years ago
  • Date Issued
    Tuesday, August 24, 2010
    14 years ago
Abstract
A display processor integrated circuit (for example, for a television or for a digital camera) includes a display processor portion and an on-chip programmable logic portion. The on-chip programmable logic portion can be configured or programmed to implement custom video and/or image enhancement functions. Accordingly, an individual television or camera manufacturer can have his/her own custom enhancement function incorporated into the display processor integrated circuit by having the programmable logic portion configured or programmed appropriately. In one embodiment, the programming of the programmable logic portion involves changing just one mask, thereby reducing the cost, complexity and time associated with implementing the custom video/image enhancement function.
Description
BACKGROUND INFORMATION


FIG. 1 (Prior Art) is a simplified system level diagram of the electronics of a standard television 1. An incoming signal is received, for example via an antenna 2 or a coaxial cable 3. The signal passes through a tuner 4, a demodulator 5, an analog-to-digital converter 6, and a display processor 7. Display processor 7 is typically a commercially available off-the-shelf integrated circuit. Display processors are available from numerous manufacturers including Genesis Microchip Inc., Pixelworks Inc, Trident Microsystems Inc., and Silicon Image Inc. Display processor 7 may, for example, implement certain picture enhancement algorithms. Frames of video information are stored in an external RAM 8. Display processor 7 also interfaces to a microcontroller 9. Enhanced video features such as Picture-In-Picture (PIP), Picture-Out-Picture (POP), Cinema 1, Cinema 2, format conversion, film detection, panorama scaling, alpha blending and overlay, VBI/Closed Captioning, and On-Screen Display (OSD) may be controlled through microcontroller 9. The output of display processor 7 passes through driver electronics 10 and to the display device. The display device may, for example, be a cathode ray tube (CRT) 11, a liquid crystal display (LCD) screen 12, or a plasma display 16. Audio passes through audio circuitry 13 and to speaker 14.


An individual television manufacturer may, however, want to implement a custom video enhancement algorithm and/or other special feature. Such a custom enhancement feature may be implemented for branding purposes and to provide a measure of distinction over televisions made by other manufacturers. To facilitate implementing such custom algorithms, an interface is provided on display processor 7 so that display processor 7 can be coupled with a custom external device such as an application specific integrated circuit (ASIC), specially-configured field programmable gate array (FPGA) 15, DSP, or microprocessor. The custom enhancement algorithm is performed by the external device, and the resulting processed information is communicated back to display processor 7 for output to the display device.


There are numerous such custom video enhancement algorithms. One particular example relates to a particular LCD display that can be driven. To make the LCD display look brighter, the LCD power amplifiers of the LCD are specially tuned in accordance with this enhancement technique based on characteristics of the video signal. When this is done, the LCD display looks brighter.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 (Prior Art) is a simplified diagram of the electronics of a conventional television.



FIG. 2 is a simplified block diagram of the electronics of a television 100 in accordance with one particular embodiment of the present invention.



FIG. 3 is a simplified block diagram of integrated circuit 101 of FIG. 2.



FIG. 4 is a more detailed diagram showing the interface between programmable logic portion 103 and the rest of the blocks in integrated circuit 101.



FIG. 5 is a flowchart of a method in accordance with one particular embodiment of the present invention.



FIG. 6 is a simplified diagram of a macrocell of the programmable logic portion 103.



FIG. 7 is a simplified diagram showing vertical and horizontal routing extending across the macrocell of FIG. 5.



FIG. 8 is a simplified diagram showing a plurality of interface cells (and their associated routing channels) of programmable logic block 103.



FIG. 9 is a diagram showing an integrated circuit with a display processor and programmable logic disposed in a digital camera.



FIG. 10 is a diagram showing an integrated circuit with a display processor and programmable logic disposed in a camcorder.





DETAILED DESCRIPTION

Although the provision of ASIC or FPGA 15 in the television of FIG. 1 works satisfactorily in many cases to allow individual television manufacturers to implement their own custom enhancements, the incorporation of additional ASIC or FPGA or DSP integrated circuit chips into each television produced increases manufacturing costs. Increasing manufacturing cost in a high-volume consumer product such as a television is highly undesirable. Not only does the inclusion of ASIC or FPGA or DSP 15 into each television increase manufacturing cost, but the turn-around time required to redesign and retest an ASIC may be significant. It may, for example, take six months to a year to “turn-around” a custom ASIC (to identify a flaw in the ASIC design, to redesign the ASIC accordingly, to remanufacture the redesigned ASIC, and to retest and requalify the fixed ASIC design). Such a long turn-around time to design a new television or to fix a bug or design flaw may adversely impact the product design cycle. A solution is desired.



FIG. 2 is a simplified diagram of a television 100 in accordance with an embodiment of the present invention. Television 100 is substantially the same as the television in FIG. 1, except that the display processor 7 and the ASIC or FPGA or DSP 15 in the television of FIG. 1 are replaced with a single integrated circuit 101. For example, television 100 receives an NTSC or a PAL signal. Integrated circuit 101 includes both a display processor portion 102 as well as an on-chip programmable logic portion 103. Programmable logic portion 103 in the example of FIG. 2 contains an amount of logic functionally equivalent to approximately 50,000 gates. The on-chip programmable logic portion 103 can be programmed or otherwise configured to implement a custom video enhancement function desired by an individual television manufacturer. Accordingly, the same or substantially the same integrated circuit design can be sold to multiple television manufacturers thereby facilitating high volume manufacturing and decreased per-part cost.


In one embodiment, the programming of the programmable logic portion 103 involves changing just one mask used in the manufacturing process, thereby reducing the cost and complexity and time associated with configuring the programmable logic portion 103. The ability to manufacture and configure/program integrated circuit 101 may be licensed to an individual television manufacturer such that the individual television manufacturer can mask-program and manufacture customized integrated circuits 101. In another embodiment, integrated circuit 101 is programmable by a television manufacturer such that the television manufacturer purchases unprogrammed but otherwise completed devices, and then after taking delivery programs those devices to implement his/her own custom video enhancement functions. Alternatively, integrated circuits 101 may be manufactured with their programmable logic portions 103 being customized for various television manufacturers, and the so-customized integrated circuits 101 are then delivered to the appropriate television manufacturers.



FIG. 3 is a conceptual view of integrated circuit 101. Display processor portion 102 includes multiplexer 104, a signal detector multiplexer control block 105, a color decoder block 106, a phase-locked loop block 107, a frame buffer block 108, a memory controller block 109 a motion detect block 110, a noise reduction block 111, a de-interlacer block 112, and a scalar block 113. The design of the display processor portion 102 need not have this particular topology, however. The circuitry of display processor portion 102 may, for example, be implemented along the lines of known display processors such as the Trident DPTV Video Processor, the Genesis GM6010 Digital TV Controller, and the Pixelworks PW105 Display Processor.


The same standard techniques used to implement custom enhancement algorithms and features into ASIC or FPGA or DSP 15 may be used to implement custom enhancement algorithms and features into on-chip programmable logic portion 103. For example, in one embodiment an enhancement function to be implemented is described in verilog, and a circuit synthesizer is then used to convert the verilog output into a file that configures the particular hardware building blocks available in programmable logic portion 103 so as to realize a particular hardware circuit that implements the described enhancement function.


In another embodiment, the enhancement function to be implemented is described in verilog and the verilog file is synthesized. Place and route software is then executed to generate a GDS output file that represents final routing of programmable logic portion 103. This GDS file is then merged with a GDS file for the remainder of integrated circuit 101. The resulting merged GDS file is used to make a mask for a layer of conductive vias. Fabrication of this one layer of conductive vias is what results in the customization of programmable logic portion 103. All the other layers of integrated circuit 101 are the same, regardless of how programmable logic portion 103 is customized.



FIG. 4 is a more detailed diagram showing the interface between programmable logic portion 103 and blocks 109-113 in integrated circuit 101. Each of blocks 109-113 is interfaced to programmable logic portion 103 by its own 24-bit parallel input bus and its own 24-bit parallel output bus. Each of blocks 109-113 has its own configuration register. For example, memory controller block 109 is interfaced to programmable logic portion 103 via its own input bus 115 and its own output bus 114. Memory controller block 109 also has its own configuration register 116. To configure and/or to control one of these blocks 109-113, MCU 24 writes an appropriate configuration value into the configuration register of the block to be configured via configuration bus 117. Each of the blocks also receives a global clock signal from PLL block 107 via clock bus 118. MCU 9 controls the sequence by which the various blocks manipulate and process the video data.



FIG. 5 is a flow chart of a method 200 of one particular custom enhancement algorithm that may be implemented by integrated circuit 101. The video information as it is received is written into frame buffer 108 (step 201). A function of frame buffer 108 is to act as a cache. It may, for example, be able to store four frames of video. System external SDRAM, on the other hand, has the capacity to store from six to twenty frames of video. Next (step 202), under control of MCU 9, video information is processed through noise reduction block 111. The resulting processed data is then written back into either frame buffer 108 and/or external SDRAM 8.


Next, in an ordinary system, MCU 9 would ordinarily cause motion detect block 110 to act next on the video information. Motion detect block 110, however, is only configurable to adjust the intensity of the video signal within a particular range. In the present example, an individual television manufacturer wishes to increase the intensity of the video signal beyond the range provided by the general purpose motion detect block 110.


In accordance with an embodiment of the present invention, programmable logic portion 103 is configured/programmed to increase the intensity of the signal as desired. The video information is retrieved from either frame buffer 108 and/or external SDRAM 8 by memory controller block 109. The video information passes to (step 203) programmable logic portion 103 via input bus 115 (see FIG. 4). Programmable logic portion 103 processes the video information and the resulting processed video passes through output bus 114 to memory controller block 109 and is then written to either the frame buffer 108 and/or external SDRAM 8.


Subsequent processing (step 204) needed is then performed under the control of MCU 9. In the present example, standard de-interlacing and scaling of the video information is performed under the control of MCU 9 by de-interlacer and scalar blocks 112 and 113.


The example of FIG. 5 describes programmable logic portion 103 receiving frames of video information from memory (via memory controller block 109), processing the video information, and then returning the video information back to the memory (via memory controller block 109). In addition to this mechanism, programmable logic portion 103 can also receive video information from one of blocks 110-113, process the video information, and return the processed information back to the block. Noise reduction block 111 may, for example, perform initial noise reduction and then pass the video information to programmable logic portion 103 via bus 131. Programmable logic portion 103 does subsequent noise reduction and returns the processed information back to noise reduction block 111 via bus 132. In a third mechanism, programmable logic portion 103 receives video information from one of blocks 110-113, processes the video information, and returns the processed video information back to memory or to another of the blocks. Accordingly, in one case the programmable logic portion 103 receives the information to be processed from memory, processes the information, and returns the processed information back to memory. In another case, programmable logic portion 103 receives the video information to be processed from another of the blocks 110-113, processes the video information, and returns the processed video information back to a block (back to either the block from which the video information originated or back to another block).


In FIG. 4, programmable logic portion 103 includes an array of macrocells 133 surrounded by a ring of interface cells 119. FIG. 6 is a simplified diagram of a macrocell 133. Macrocell 133 includes a logic portion 120 and a dual-port SRAM portion 121. Logic portion 120 includes four NAND gates 122-125, two 2-to-1multiplexers 126 and 127, a D type flip-flop 128 with scan capability, and high drive buffer/inverter 129. In FIG. 6, the bubble symbol designated with an “S” indicates selectable inversion. Input leads and output leads of these logic elements extend in one direction in a first metal layer (the horizontal direction in the illustration) such that they cross perpendicularly (the vertical direction in the illustration) extending routing conductors 130 in a second metal layer. The GDS file described above determines whether conductive vias are placed at intersections of the various leads and routing conductors.



FIG. 7 is a simplified diagram showing vertical and horizontal routing extending across the macrocell 133 of FIG. 6. Many of the routing conductors extend across only one macrocell. In order to form a longer conductor across programmable logic portion 103, vias are placed between colinear routing conductors of adjacent macrocells so as to couple the routing conductors in end-to-end fashion. Although not illustrated in FIG. 6, some of the routing conductors span multiple macrocells (for example, span across two adjacent macrocells, four adjacent co-linear macrocells, six adjacent co-linear macrocells).



FIG. 8 is a simplified diagram of some of the interface cells 119 of programmable logic portion 103. Each interface cell includes a tri-statable output buffer (OUTBUF) and an input buffer (INBUF). Each cell can be configured as an input cell, an output cell, or an input/output (I/O) cell by providing conductive vias at the appropriate crossings of the input and output leads of the logic elements (horizontally extending leads in the diagram of FIG. 8) and the perpendicularly extending routing conductors (vertically extending conductors in the diagram of FIG. 8).


In one embodiment, the programmable logic portion 103 is realized as set forth in: 1) U.S. patent application Ser. No. 10/164,455, entitled “Cell Architecture To Reduce Customization In A Semiconductor Device”, filed Jun. 6, 2002, now U.S. Pat. No. 6,580,289 B2 and 2) U.S. patent application Ser. No. 10/150,685, entitled “Distributed Ram In A Logic Array”, filed May 17, 2002, now U.S. Pat. No. 6,693,454 (the contents of these two documents is incorporated herein by reference).


In one embodiment, integrated circuit 101 is embodied within a digital camera. Digital still image information from the digital camera is supplied to integrated circuit 101 via multiplexer 104. Display processor portion 102 in this example includes standard circuitry employed by camera manufacturers for picture/image processing. An example of such standard circuitry is embodied in a chip (SiP-1250Processor chip) produced by NuCORE Technology Inc. In this example involving a digital camera, the programmable logic portion 103 is customized by an individual camera manufacturer to implement a desired enhancement algorithm. Examples of image enhancement algorithms are skin tone detection algorithms, color correction algorithms, gamma correction algorithms, edge enhancement algorithms, and NTSC/PAL encoders. The output of integrated circuit 101 is, in one example, supplied to a television so that enhanced digital pictures and/or enhanced video taken with the digital camera can be displayed on the television


Although the present invention is described in connection with certain specific embodiments for instructional purposes, the present invention is not limited thereto. Programmable logic portion 103 may be implemented using any suitable programmable logic architecture, including for example an SRAM-based FPGA or PLD core, an antifuse-based FPGA or PLD core, an EEPROM-based FPGA or PLD core, a Flash-based FPGA or PLD core, or a mask-programmable logic core. Specialized logic structures and/or specialized memory structures may be provided in order to speed up circuit operation and/or to reduce the amount of chip area required to implement a particular enhancement function. Multiple on-chip programmable logic blocks may be provided. Enhancement circuitry may be designed, hot-spots in the circuitry identified, and then custom circuitry provided in programmable logic portion 103 in order to better implement the enhancement circuitry (for example, to reduce size, reduce manufacturing cost, reduce power consumption, increase operating speed, facilitate compatibility with interfaces and communication standards, and so forth). Color decoder block 106 may, in some embodiments, be an external component. Accordingly, various modifications, adaptations, and combinations of various features of the described embodiments can be practiced without departing from the scope of the invention as set forth in the following claims.

Claims
  • 1. A display processor integrated circuit, comprising: a display processor configured to process video; andprogrammable logic integrated with the display processor, the programmable logic comprising an array of macrocells surrounded by a ring of interface cells that are adjacent to the macrocells, wherein the programmable logic is unprogrammed when manufacture of the display processor integrated circuit is completed, and wherein the programmable logic is programmable to implement at least one of multiple video enhancement algorithms configured to enhance the video when the display processor integrated circuit is implemented after manufacture in a device configured to display the video.
  • 2. The display processor integrated circuit of claim 1, wherein the multiple video enhancement algorithms include at least one of a peaking algorithm, a brightness enhancing algorithm, a sharpness enhancing algorithm, an upscaling algorithm, a downscaling algorithm, a 2:2 pulldown algorithm, a 3:2 pulldown algorithm, or a VBI information extracting algorithm.
  • 3. The display processor integrated circuit of claim 1, wherein the display processor integrated circuit is configured to: receive the video from an analog-to-digital converter; andoutput processed and enhanced video to a display driver including at least one of a CRT driver, an LCD driver, or a plasma display driver.
  • 4. The display processor integrated circuit of claim 1, wherein the device configured to display the video is an HDTV, the display processor is further configured to process high-definition television video in the HDTV, and wherein the programmable logic is further programmable to enhance the high-definition television video.
  • 5. The display processor integrated circuit of claim 1, wherein the device configured to display the video is a digitally-enhanced television, the display processor integrated circuit is part of the digitally-enhanced television, and wherein the digitally-enhanced television receives the video as at least one of an NTSC signal or a PAL signal.
  • 6. The display processor integrated circuit of claim 1, wherein the programmable logic comprises at least one of an antifuse-based programmable logic core or a Flash-based programmable logic core.
  • 7. The display processor integrated circuit of claim 1, wherein the programmable logic comprises a dual-port SRAM memory.
  • 8. The display processor integrated circuit of claim 1, wherein the programmable logic comprises a configurable SRAM memory block having a configurable width.
  • 9. The display processor integrated circuit of claim 1, wherein the display processor comprises a memory controller configured to interface with an external memory coupled to the programmable logic.
  • 10. The display processor integrated circuit of claim 1, wherein the programmable logic comprises logic functionally equivalent to approximately at least 50,000 gates.
  • 11. The display processor integrated circuit of claim 1, wherein the programmable logic is programmable by customizing only one mask of a multi-mask process used to fabricate the display processor integrated circuit.
  • 12. The display processor integrated circuit of claim 1, wherein each of the macrocells comprises a dual-port SRAM memory.
  • 13. An integrated circuit, comprising: a display processor configured to process digital images; andprogrammable logic integrated with the display processor, the programmable logic comprising an array of macrocells surrounded by a ring of interface cells that are adjacent to the macrocells, wherein the programmable logic is unprogrammed when manufacture of the integrated circuit is completed, and wherein the programmable logic is programmable to implement at least one of multiple image enhancement algorithms configured to enhance the digital images when the integrated circuit is implemented after manufacture in a device configured to at least one of process or display the digital images.
  • 14. The integrated circuit of claim 13, wherein the multiple image enhancement algorithms include at least one of a skin tone detection algorithm, a color correction algorithm, a gamma correction algorithm, an edge enhancement algorithm, or an NTSC/PAL encoder.
  • 15. The integrated circuit of claim 13, wherein the programmable logic comprises at least one of an antifuse-based programmable logic core or a Flash-based programmable logic core.
  • 16. The integrated circuit of claim 13, wherein the programmable logic comprises a dual-port SRAM memory.
  • 17. The integrated circuit of claim 13, wherein the programmable logic comprises a configurable SRAM memory block having a configurable width.
  • 18. The integrated circuit of claim 13, wherein the display processor comprises a memory controller configured to interface with an external memory coupled to the programmable logic.
  • 19. The integrated circuit of claim 13, wherein the programmable logic is programmable by customizing only one mask of a multi-mask process used to fabricate the integrated circuit.
US Referenced Citations (85)
Number Name Date Kind
4472740 Doi Sep 1984 A
4625311 Fitzpatrick et al. Nov 1986 A
5019903 Dougall et al. May 1991 A
5027203 Samad et al. Jun 1991 A
5065144 Edelson et al. Nov 1991 A
5093721 Rabii Mar 1992 A
5162907 Keating et al. Nov 1992 A
5206184 Allen et al. Apr 1993 A
5241281 Wilkes et al. Aug 1993 A
5241659 Parulski et al. Aug 1993 A
5365604 Kwok et al. Nov 1994 A
5410356 Kikuchi et al. Apr 1995 A
5428397 Lee Jun 1995 A
5473383 Sezan et al. Dec 1995 A
5495593 Elmer et al. Feb 1996 A
5521644 Sezan et al. May 1996 A
5543925 Timmermans Aug 1996 A
5548135 Avery Aug 1996 A
5555098 Parulski Sep 1996 A
5642262 Terrill et al. Jun 1997 A
5682205 Sezan et al. Oct 1997 A
5689305 Ng et al. Nov 1997 A
5732246 Gould et al. Mar 1998 A
5835864 Diehl et al. Nov 1998 A
5892966 Petrick et al. Apr 1999 A
5909244 Waxman et al. Jun 1999 A
5922047 Newlin et al. Jul 1999 A
5931934 Li et al. Aug 1999 A
5956744 Robertson et al. Sep 1999 A
5982459 Fandrianto et al. Nov 1999 A
5990858 Ozolins Nov 1999 A
6011408 Kolze Jan 2000 A
6026227 Furtek et al. Feb 2000 A
6115066 Gowda et al. Sep 2000 A
6133957 Campbell Oct 2000 A
6134379 LaMacchia Oct 2000 A
6150837 Beal et al. Nov 2000 A
6166773 Greggain et al. Dec 2000 A
6175390 Kim et al. Jan 2001 B1
6189064 MacInnis et al. Feb 2001 B1
6252906 Canfield Jun 2001 B1
6272451 Mason et al. Aug 2001 B1
6275259 Gowda et al. Aug 2001 B1
6310659 Glen Oct 2001 B1
6334207 Joly et al. Dec 2001 B1
6339434 West et al. Jan 2002 B1
6348949 McVeigh Feb 2002 B1
6356313 Champion et al. Mar 2002 B1
6407775 Frink et al. Jun 2002 B1
6421094 Han Jul 2002 B1
6426649 Fu et al. Jul 2002 B1
6446192 Narasimhan et al. Sep 2002 B1
6486889 Meyers et al. Nov 2002 B1
6552410 Eaton et al. Apr 2003 B1
6567768 Matos et al. May 2003 B1
6577345 Lim, II et al. Jun 2003 B1
6625788 Vashi et al. Sep 2003 B1
6694491 Osann, Jr. et al. Feb 2004 B1
6744917 Sadowski et al. Jun 2004 B1
6748286 Losch Jun 2004 B1
6769109 Osann, Jr. et al. Jul 2004 B2
6788573 Choi Sep 2004 B2
6829010 Suzuki Dec 2004 B1
6848055 Yarch Jan 2005 B1
6943820 Schmidt Sep 2005 B2
6992713 McCaffrey et al. Jan 2006 B2
7055125 Osann, Jr. et al. May 2006 B2
7142882 Schmidt Nov 2006 B2
7165230 Park Jan 2007 B2
7202908 Zhou et al. Apr 2007 B2
20010013123 Freeman et al. Aug 2001 A1
20020050518 Roustaei May 2002 A1
20020059481 Nunally May 2002 A1
20020184452 Simmons et al. Dec 2002 A1
20030018398 Juntunen et al. Jan 2003 A1
20030025811 Keelan et al. Feb 2003 A1
20030080971 Hochmuth et al. May 2003 A1
20030093806 Dureau et al. May 2003 A1
20030121057 Singh Jun 2003 A1
20030190157 Aubry et al. Oct 2003 A1
20030212979 Osann, Jr. et al. Nov 2003 A1
20040100421 Webb et al. May 2004 A1
20050030425 Nagakura et al. Feb 2005 A1
20050280438 Park Dec 2005 A1
20090128699 Nagakura et al. May 2009 A1
Related Publications (1)
Number Date Country
20040041918 A1 Mar 2004 US