CN107038267B - Design method of basic unit of FPGA chip - Google Patents

Design method of basic unit of FPGA chip Download PDF

Info

Publication number
CN107038267B
CN107038267B CN201610080684.XA CN201610080684A CN107038267B CN 107038267 B CN107038267 B CN 107038267B CN 201610080684 A CN201610080684 A CN 201610080684A CN 107038267 B CN107038267 B CN 107038267B
Authority
CN
China
Prior art keywords
unit
basic
auxiliary
auxiliary unit
basic unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610080684.XA
Other languages
Chinese (zh)
Other versions
CN107038267A (en
Inventor
刘成利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingwei Qili Beijing Technology Co ltd
Original Assignee
Beijing Weiyage Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Weiyage Beijing Technology Co ltd filed Critical Beijing Weiyage Beijing Technology Co ltd
Priority to CN201610080684.XA priority Critical patent/CN107038267B/en
Publication of CN107038267A publication Critical patent/CN107038267A/en
Application granted granted Critical
Publication of CN107038267B publication Critical patent/CN107038267B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention relates to a design method of a basic unit of an FPGA chip, which comprises the following steps: acquiring a basic unit of an FPGA chip; acquiring time sequence constraint information of the input/output port of the basic unit, and finishing the internal physical design of the basic unit according to the time sequence constraint information; acquiring time sequence constraint information of a metal wire to be passed through in the basic unit, and finishing the metal wire wiring according to the time sequence constraint of the metal wire; simulating the wiring result of the metal wire; after the basic unit is determined to be a physically completely independent unit, generating a netlist of the FPGA chip; and producing a tape-out according to the netlist. The invention freely combines chips meeting different requirements and sizes and suitable for various processes through each physically independent basic unit; thereby shortening the production time of the chip, reducing the workload, quickening the time of the chip product on the market and further reducing the cost.

Description

Design method of basic unit of FPGA chip
Technical Field
The invention relates to the technical field of integrated circuit design in the field of microelectronics, in particular to a design method of an FPGA chip basic unit.
Background
A Field Programmable Gate Array (FPGA) is a logic device with rich hardware resources, powerful parallel processing capability and flexible reconfigurable capability. These features have led to the widespread use of FPGAs in many areas such as data processing, communications, networking, etc.
The design flow of the FPGA is a process of developing an FPGA chip by using EDA development software and a programming tool. The typical FPGA development process generally includes main steps of function definition/device model selection, design input, function simulation, comprehensive optimization, simulation after synthesis, implementation, simulation after wiring, board-level simulation, chip programming and debugging, and the like.
The production process of the FPGA chip at present comprises the steps of firstly designing a circuit, and making an embedded storage module EMB (embedded storage), a digital sound processor module DSP (digital sound processor), a programmable Logic module PLB (programmable Logic Block), a programmable Logic module PLBR (programmable Logic Block Local memory) with a Local memory and an input/output module I/O (input output) into a complete circuit; then manually drawing the layout of each layer according to the hierarchical requirement, and then carrying out production. Such a production flow, a medium-scale chip, requires five people to complete in three months. For large FPGA chips, the method has no way to do so.
At present, the industry does not find a method for freely combining all basic modules to form an FPGA chip which meets different requirements and sizes and is suitable for various processes.
Disclosure of Invention
The invention aims to provide a design method of a basic unit of an FPGA chip, aiming at the defects of the prior art, the method can design the basic unit in the FPGA chip into a physically absolutely independent unit, so that each independent basic unit can be freely combined to form a chip which meets different requirements and sizes and is suitable for various processes.
The invention provides a design method of a basic unit of an FPGA chip, which comprises the following steps: acquiring a basic unit of an FPGA chip; acquiring time sequence constraint information of the input/output port of the basic unit, and finishing the internal physical design of the basic unit according to the time sequence constraint information; acquiring time sequence constraint information of a metal wire to be passed through in the basic unit, and finishing the metal wire wiring according to the time sequence constraint of the metal wire; simulating the wiring result of the metal wire; after the basic unit is determined to be a physically completely independent unit, generating a netlist of the FPGA chip; and producing a tape-out according to the netlist.
In the above method, the base unit comprises an embedded memory unit, a digital sound processor unit, an input-output unit, a programmable logic block unit, and a programmable logic block unit with a local memory; an auxiliary unit placed in a horizontal direction and an auxiliary unit placed in a vertical direction.
In the above method, the auxiliary units in the horizontal direction include an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input-output auxiliary unit, a programmable logic block auxiliary unit, and a programmable logic block auxiliary unit with a local memory; and the physical size of the auxiliary unit in the horizontal direction coincides with the size of the assisted basic unit.
In the above method, the auxiliary units placed in the vertical direction include a first auxiliary unit, a second auxiliary unit, and a third auxiliary unit; wherein the first auxiliary unit comprises an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input-output auxiliary unit, a programmable logic block auxiliary unit and a programmable logic block auxiliary unit with a local memory; the second auxiliary unit comprises one or more phase-locked loop auxiliary units; and the third auxiliary unit is used for core power-on initialization.
In the above method, the physically completely independent unit means that the input and output ports are distributed around the basic unit, and the connection lines of the basic unit are distributed inside the basic unit.
The invention freely combines chips meeting different requirements and sizes and suitable for various processes through each physically independent basic unit; thereby shortening the production time of the chip, reducing the workload, quickening the time of the chip product on the market and further reducing the cost.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic flow chart of a method for designing a basic unit of an FPGA chip according to an embodiment of the present invention;
fig. 2 is a schematic diagram of PLB and PLBR basic units in an FPGA chip according to an embodiment of the present invention;
fig. 3 is a schematic diagram of an EMB or DSP basic unit in an FPGA chip according to an embodiment of the present invention;
fig. 4 is a schematic diagram of an I/O basic unit in an FPGA chip according to an embodiment of the present invention;
fig. 5 is a schematic diagram of an auxiliary unit disposed along a vertical direction in an FPGA chip according to an embodiment of the present invention;
fig. 6 is a schematic diagram of an auxiliary unit disposed along a horizontal direction in an FPGA chip according to an embodiment of the present invention;
fig. 7 is a schematic diagram of a chip with freely combined basic units according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention.
The invention provides a design method of a basic unit of an FPGA chip, which can design the basic unit in the FPGA chip into a physically absolutely independent unit, so that each independent basic unit can be freely combined to form a chip which meets different requirements and sizes and is suitable for various processes. That is, the method provided by the invention can be used for producing chips, so that one person can make several chips in one day, and the method is more suitable for batch production of large chips.
An embodiment of the present invention will be described below with reference to fig. 1 as an example. Fig. 1 is a schematic flow chart of a method for designing a basic unit of an FPGA chip according to an embodiment of the present invention. As shown, the method includes steps S101-S106:
step S101: acquiring a basic unit of an FPGA chip;
in the above method, the basic unit includes an embedded memory unit emb (embedded storage), a digital sound processor unit dsp (digital sound processor), an input-output unit I/o (input output), a programmable Logic Block unit plb (programmable Logic Block), and a programmable Logic Block unit plbr (programmable Logic Block Local memory) with a Local memory; a secondary unit Seam _ unit placed in the horizontal direction and a secondary unit Spine _ unit placed in the vertical direction.
It should be noted that, here, the FPGA chip is cut into a plurality of basic units according to the physical position and physical shape in the chip; different numbers of basic units are combined together to form an FPGA chip.
In the above method, the auxiliary units in the horizontal direction include an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input-output auxiliary unit, a programmable logic block auxiliary unit, and a programmable logic block auxiliary unit with a local memory; and the physical size of the auxiliary unit in the horizontal direction coincides with the size of the assisted basic unit.
In the above method, the auxiliary units placed in the vertical direction include a first auxiliary unit, a second auxiliary unit, and a third auxiliary unit; wherein the first auxiliary unit comprises an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input-output auxiliary unit, a programmable logic block auxiliary unit and a programmable logic block auxiliary unit with a local memory; the second auxiliary unit comprises one or more phase-locked loop auxiliary units; and the third auxiliary unit is used for core power-on initialization.
The auxiliary unit is also a management unit, and configures and resets the clock of the auxiliary basic unit, for example: the second auxiliary unit is used for assisting the phase-locked loop in the case that one or more phase-locked loops are needed in the chip.
Step S102: acquiring time sequence constraint information of the input/output port of the basic unit, and finishing the internal physical design of the basic unit according to the time sequence constraint information;
it should be noted that the input/output port of each basic unit has its own timing information and constraint requirement. For example: the input interface of each basic unit comprises information such as data reaching time, data delay, data rising time and data falling time, and related constraint requirements; each output interface also has information of output driving capability, output delay, data rising time, data falling time and the like, and related constraint requirements.
In this step, the internal physical design of the basic unit is completed according to the timing constraint information of the input/output port of each basic unit, and attention is paid to the constraint that the metal line level cannot exceed the metal layer number of the current layer.
Step S103: acquiring time sequence constraint information of a metal wire to be passed through in the basic unit, and finishing the metal wire wiring according to the time sequence constraint of the metal wire;
it should be noted that each of the basic cells is located in the interconnections of the upper, lower, left, right, and oblique wires of the chip, and these wires also have their own timing requirements and their own timing constraints.
In this step, the number of metal lines to be passed through in each basic unit, the number of layers, timing information, and constraint requirements need to be determined; the metal lines are routed in accordance with timing constraint information of the metal lines.
Step S104: simulating the wiring result of the metal wire;
it should be noted that, here, the timing simulation is performed on the wiring result of the metal wire; here, the wiring results of each basic cell are subjected to timing simulation.
The time sequence simulation comprises the most complete and accurate delay information and can better reflect the actual working condition of the chip. Because the internal delays of different chips are different, different wiring schemes also have different effects on the delays. Therefore, after wiring, it is necessary to perform timing simulation on each basic unit, analyze the timing relationship, estimate the system performance, and check and eliminate the risk of competition.
Step S105: after the basic unit is determined to be a physically completely independent unit, generating a netlist of the FPGA chip;
in the above method, the physically completely independent unit means that the input and output ports are distributed around the basic unit, and the connection lines of the basic unit are distributed inside the basic unit.
It should be noted that each of the physically completely independent basic units can realize the functions of each basic unit, for example: the EMB can realize single-port and double-port information storage, the DSP performs addition, subtraction, multiplication and division operation, the I/O completes the driving and matching requirements of the chip and an external circuit on input/output signals under different conditions, the PLB can have the functions of 8 lookup tables (LUTs), and the PLBR has the functions of the PLB, a 256Bit memory and a 16 multiplied by 1 shift register; further, the lines passing through the basic unit include lines associated with the basic unit and lines not associated with the basic unit.
In this step, a single-level chip netlist is generated, which includes the physically independent basic units, all the input/output ports of the basic units, and the connection information on the input/output ports of the basic units. The single level here means that the layout of each layer is drawn and then produced according to the layering standard without manual work; but the various basic units which are physically independent can be directly and freely combined according to the needs.
Step S106: and producing a tape-out according to the netlist.
It should be noted that tape-out refers to the fabrication of chips through a series of process steps as a flow line.
Next, the combination of chips is described by taking fig. 7 as an example, and fig. 7 is a schematic diagram of a chip with freely combined basic units according to an embodiment of the present invention.
Fig. 7 is a schematic diagram of a PLB and a PLBR, as shown in fig. 2, and fig. 2 is a schematic diagram of a PLB and a PLBR basic unit in an FPGA chip according to an embodiment of the present invention; as shown in fig. 3, fig. 3 is a schematic diagram of an EMB or DSP basic unit in an FPGA chip according to an embodiment of the present invention; by I/O, as shown in fig. 4, fig. 4 is a schematic diagram of an I/O basic unit in an FPGA chip according to an embodiment of the present invention; as shown in fig. 5, an auxiliary unit Spine _ unit is placed along the vertical direction, and fig. 5 is a schematic diagram of an auxiliary unit placed along the vertical direction in the FPGA chip according to the embodiment of the present invention; the FPGA chip is formed by combining auxiliary units Seam _ unit placed along the horizontal direction, as shown in fig. 6, fig. 6 is a schematic diagram of the auxiliary units placed along the horizontal direction in the FPGA chip according to the embodiment of the present invention.
It should be noted that, as shown in fig. 7, the size of the auxiliary unit placed in the horizontal direction matches the size of the assisted base unit in the horizontal direction; the auxiliary unit arranged along the vertical direction is suitable for being used commonly by all the auxiliary basic units; the physical length of the EMB or DSP in the vertical direction is 4 times the physical length of the I/O or PLB or PLBR in the vertical direction.
It should be further noted that fig. 2 is a schematic diagram of a PLB and a PLBR basic unit in an FPGA chip according to an embodiment of the present invention, where the PLB includes a logic unit le (logical element) and a routing resource, and the routing resource is further divided into a routing resource xbar inside the PLB and a routing resource oxbar leading to the outside of the PLB; and the winding resources of PLB and PLBR are the same, so they are not separately shown in the figure. The remaining basic units are similar to the PLB and will not be described again here.
The invention freely combines chips meeting different requirements and sizes and suitable for various processes through each physically independent basic unit; thereby shortening the production time of the chip, reducing the workload, quickening the time of the chip product on the market and further reducing the cost.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (4)

1. A design method of basic units of an FPGA chip is characterized by comprising the following steps:
the FPGA chip is divided into a plurality of basic units;
acquiring time sequence constraint information of input and output ports of each basic unit, and finishing internal physical design of each basic unit according to the time sequence constraint information;
acquiring time sequence constraint information of metal wires to be passed through in each basic unit, and finishing the metal wire wiring according to the time sequence constraint of the metal wires;
simulating the wiring result of the metal wire; performing timing simulation on the wiring result of each basic unit;
after determining that each basic unit is a physically completely independent unit, generating a single-level netlist of the FPGA chip according to the plurality of basic units; the physically completely independent unit means that input and output ports are distributed around a basic unit, and connecting lines of the basic unit are distributed inside the basic unit; the netlist comprises all basic units, all input and output ports of all the basic units and connection information on the input and output ports of all the basic units; the single-level netlist enables all basic units to be directly freely combined according to needs;
and producing a tape-out according to the netlist.
2. The method of claim 1, wherein the base unit comprises an embedded memory unit, a digital sound processor unit, an input output unit, a programmable logic block unit, and a programmable logic block unit with local memory; an auxiliary unit placed in a horizontal direction and an auxiliary unit placed in a vertical direction.
3. The method of claim 2, wherein the auxiliary units in the horizontal direction include an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input-output auxiliary unit, a programmable logic block auxiliary unit, and a programmable logic block auxiliary unit with local memory; and the physical size of the auxiliary unit in the horizontal direction coincides with the size of the assisted basic unit.
4. The method of claim 2, wherein the auxiliary units placed in the vertical direction include a first auxiliary unit, a second auxiliary unit, and a third auxiliary unit; wherein,
the first auxiliary unit comprises an embedded memory auxiliary unit, a digital sound processor auxiliary unit, an input and output auxiliary unit, a programmable logic block auxiliary unit and a programmable logic block auxiliary unit with a local memory;
the second auxiliary unit comprises one or more phase-locked loop auxiliary units;
and the third auxiliary unit is used for core power-on initialization.
CN201610080684.XA 2016-02-04 2016-02-04 Design method of basic unit of FPGA chip Active CN107038267B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610080684.XA CN107038267B (en) 2016-02-04 2016-02-04 Design method of basic unit of FPGA chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610080684.XA CN107038267B (en) 2016-02-04 2016-02-04 Design method of basic unit of FPGA chip

Publications (2)

Publication Number Publication Date
CN107038267A CN107038267A (en) 2017-08-11
CN107038267B true CN107038267B (en) 2021-06-18

Family

ID=59532595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610080684.XA Active CN107038267B (en) 2016-02-04 2016-02-04 Design method of basic unit of FPGA chip

Country Status (1)

Country Link
CN (1) CN107038267B (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053158A (en) * 2005-10-05 2007-10-10 松下电器产业株式会社 Reconfigurable semiconductor integrated circuit and its processing allocation method
CN101488462B (en) * 2008-01-15 2010-12-08 南茂科技股份有限公司 Modulated multi-die package construction and method thereof
CN101436225B (en) * 2008-12-11 2010-09-15 国网电力科学研究院 Implementing method of dynamic local reconstructing embedded type data controller chip
JP2011100351A (en) * 2009-11-06 2011-05-19 Ricoh Co Ltd Asic verification apparatus and image forming apparatus
CN102412808B (en) * 2011-11-25 2015-01-21 南京中新赛克科技有限责任公司 FPGA (Field-Programmable Gate Array)-based high-performance multipath FIR (Finite Impulse Response) digital extraction filter and reading method thereof
CN103366028B (en) * 2012-03-31 2016-03-16 中国科学院微电子研究所 On-site programmable gate array chip layout method
CN104424369B (en) * 2013-08-28 2017-08-25 京微雅格(北京)科技有限公司 The sequential evaluation method of netlist after a kind of FPGA mappings
CN103746948A (en) * 2013-11-22 2014-04-23 天津理工大学 FPGA-based modularization blind source separating logic circuit

Also Published As

Publication number Publication date
CN107038267A (en) 2017-08-11

Similar Documents

Publication Publication Date Title
US10242146B2 (en) Method and apparatus for placing and routing partial reconfiguration modules
US6298472B1 (en) Behavioral silicon construct architecture and mapping
US8543955B1 (en) Apparatus and methods for time-multiplex field-programmable gate arrays
US7926011B1 (en) System and method of generating hierarchical block-level timing constraints from chip-level timing constraints
US5422833A (en) Method and system for propagating data type for circuit design from a high level block diagram
CN107924428A (en) The block storage layout and architectural framework and its operating method of programmable logic IC
US7269815B2 (en) Modifying a design to reveal the data flow of the design in order to create a more favorable input for block placement
US9026967B1 (en) Method and apparatus for designing a system on multiple field programmable gate array device types
US10374605B2 (en) Logical elements with switchable connections in a reconfigurable fabric
JP2008537268A (en) An array of data processing elements with variable precision interconnection
US8788985B1 (en) Method and apparatus for implementing a processor interface block with an electronic design automation tool
DeHon Fundamental underpinnings of reconfigurable computing architectures
CN110780843A (en) High performance FPGA addition
Soni VLSI Implementation of a Wormhole Runtime Reconfigurable Processor
US8793629B1 (en) Method and apparatus for implementing carry chains on FPGA devices
JP2009003765A (en) Data processing apparatus and its control method
JP5779237B2 (en) Method and apparatus for performing asynchronous and synchronous reset release during synthesis
US8443334B1 (en) Method and apparatus for generating graphical representations of slack potential for slack paths
US20180041214A1 (en) Embedded FPGA with Multiple Configurable Flexible Logic Blocks Instantiated and Interconnected by Abutment
US7620925B1 (en) Method and apparatus for performing post-placement routability optimization
CN107038267B (en) Design method of basic unit of FPGA chip
US7509618B1 (en) Method and apparatus for facilitating an adaptive electronic design automation tool
Khvatov et al. Development of an IP-cores Libraries as Part of the Design Flow of Integrated Circuits on FPGA
US10810341B1 (en) Method and system for making pin-to-pin signal connections
CN113050919A (en) Efficient logic block architecture for multiplier dense mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240819

Address after: 601, Floor 6, Building 5, Yard 8, Kegu 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing, 100176 (Yizhuang Cluster, High-end Industrial Zone, Beijing Pilot Free Trade Zone)

Patentee after: Jingwei Qili (Beijing) Technology Co.,Ltd.

Country or region after: China

Address before: 20th Floor, Building B, Tiangong Building, No. 30 Yuan Road, Haidian District, Beijing 100083

Patentee before: CAPITAL MICROELECTRONICS Co.,Ltd.

Country or region before: China