CN112016259B - Circuit and configuration method thereof - Google Patents
Circuit and configuration method thereof Download PDFInfo
- Publication number
- CN112016259B CN112016259B CN202010893469.8A CN202010893469A CN112016259B CN 112016259 B CN112016259 B CN 112016259B CN 202010893469 A CN202010893469 A CN 202010893469A CN 112016259 B CN112016259 B CN 112016259B
- Authority
- CN
- China
- Prior art keywords
- module
- modules
- circuit
- boundary
- level
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
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
一种电路及其配置方法。此种包括多个模块的电路及其配置方法包括,以多个模块中的一个为第一级模块,以除第一级模块外的模块为第一剩余模块,获取第一级模块与第一剩余模块中的边界时序单元的连线数量,比较第一级模块与第一剩余模块的连线数量的大小,选取与第一级模块的连接线数量最大的第一剩余模块为第二级模块,以及配置第二级模块与第一级模块相邻。
A circuit and a method of configuring the same. The circuit including multiple modules and the configuration method thereof include: taking one of the multiple modules as a first-level module, taking modules other than the first-level module as the first remaining modules, and obtaining the first-level module and the first-level module. The number of connections of the boundary timing units in the remaining modules, compare the number of connections between the first-level module and the first-remaining module, and select the first-remaining module with the largest number of connections with the first-level module as the second-level module , and configure the second-level module adjacent to the first-level module.
Description
技术领域technical field
本发明是一种电路及其配置方法,特别涉及一种基于模块间边界时序单元的相连数量配置的一种电路及其配置方法。The present invention relates to a circuit and a configuration method thereof, in particular to a circuit and a configuration method thereof configured based on the connected quantity of boundary sequential units between modules.
背景技术Background technique
以现有技术而言,前端工程师可以提供粗略的数据流,但前端工程师提供的数据流受制于前端工程师对设计的了解程度及其本身的经验。物理实现工具也可以提供数据流,但物理实现工具提供的数据流包括在分析和所有其他模块的互连关系的数据云,干扰信息多。因此,如基于这些现有技术的数据流进行模块间的时序路径分析的话,则分析结果将出现精确度、实时性、覆盖面不能满足工程设计要求的情形。According to the existing technology, front-end engineers can provide a rough data flow, but the data flow provided by front-end engineers is limited by the front-end engineers' understanding of the design and their own experience. The physical implementation tool can also provide data flow, but the data flow provided by the physical implementation tool includes the data cloud in the analysis and the interconnection of all other modules, and there is a lot of interference information. Therefore, if the time sequence path analysis between modules is performed based on these prior art data flows, the analysis results will have situations where the accuracy, real-time performance, and coverage cannot meet the engineering design requirements.
例如,藉由物理实现工具利用网表(Netlist)产生的数据云所提供的数据流包括逻辑单元间的数据流、逻辑单元与边界时序单元间的数据流以及边界时序单元间的数据流。因为逻辑单元的稳态输出仅与输入的数据信号有关,也就是说,在时序路径中,逻辑单元仅相当于传输数据信号的节点,所以某些情况下,逻辑单元间的数据流以及逻辑单元与边界时序单元间的数据流并不能作为模块间的数据流,也因此,直接使用数据云提供的数据流分析的模块间的时序路径指导模块间的设置的话将导致模块布局的偏差。For example, the data flow provided by the data cloud generated by the physical implementation tool using the netlist includes data flow between logical units, data flow between logical units and boundary sequential units, and data flow between boundary sequential units. Because the steady-state output of the logic unit is only related to the input data signal, that is, in the timing path, the logic unit is only equivalent to the node that transmits the data signal, so in some cases, the data flow between the logic units and the logic unit The data flow with the boundary timing unit cannot be used as the data flow between modules. Therefore, directly using the timing paths between modules provided by the data flow analysis provided by the data cloud to guide the settings between modules will lead to deviations in module layout.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本发明提出一种电路及其配置方法,在设计初期阶段即快速且精准地将网表结构中的数据云整理成清楚的数据流指导配置一种电路。通过本发明所提出的电路配置方法,首先整理出模块间的有效数据流。通过获取有效数据流对应的连接线的数量,指导电路的早期配置,加快设计收敛,降低成本。在本发明的设计中,早期配置的电路数据与实际需要相符,配置的电路各模块间发生数据流交叉缠绕的概率变小,避免因电路模块所配置的物理位置不合理造成迭代而增加设计收敛时间,对于加快时序收敛有很大的帮助。In view of this, the present invention proposes a circuit and a configuration method thereof, which can quickly and accurately organize the data cloud in the netlist structure into a clear data flow to guide the configuration of a circuit in the early stage of design. Through the circuit configuration method proposed by the present invention, the effective data flow between modules is sorted out first. By obtaining the number of connecting lines corresponding to the effective data flow, it can guide the early configuration of the circuit, speed up the design convergence, and reduce the cost. In the design of the present invention, the circuit data configured in the early stage is in line with the actual needs, the probability of data flow cross winding between the modules of the configured circuit is reduced, and it is avoided to increase the design convergence due to iteration caused by the unreasonable physical positions of the circuit modules. time, which is of great help in speeding up timing closure.
本发明实施例提供一种电路的配置方法,适用于一种包括多个模块的电路,包括以多个模块中的一个为第一级模块,以除第一级模块外的模块为第一剩余模块;获取第一级模块与第一剩余模块中的边界时序单元的连线数量;比较第一级模块与第一剩余模块的连线数量的大小;选取与第一级模块的连接线数量最大的第一剩余模块为第二级模块;以及配置第二级模块与第一级模块相邻。An embodiment of the present invention provides a method for configuring a circuit, which is applicable to a circuit including multiple modules, including using one of the multiple modules as a first-level module, and using modules other than the first-level module as the first remaining modules module; obtain the number of connections between the first-level module and the boundary sequence unit in the first remaining module; compare the size of the number of connections between the first-level module and the first remaining module; select the largest number of connections with the first-level module The first remaining modules are second-level modules; and the second-level modules are configured adjacent to the first-level modules.
本发明实施例提供一种电路,此电路包括:第一级模块、第一剩余模块以及微处理器,微处理器耦接至第一级模块及第一剩余模块,获取第一级模块与第一剩余模块中边界时序单元的连线数量,比较第一级模块与第一剩余模块的该连线数量的大小,选取与第一级模块的连接线数量最大的第一剩余模块为第二级模块,配置第二级模块为与第一级模块相邻。An embodiment of the present invention provides a circuit, the circuit includes: a first-level module, a first residual module, and a microprocessor, the microprocessor is coupled to the first-level module and the first residual module, and obtains the first-level module and the first-level module and the first residual module. The number of connections of boundary timing units in a remaining module, compare the number of connections between the first-level module and the first remaining module, and select the first remaining module with the largest number of connections with the first-level module as the second-level module module, the second-level module is configured to be adjacent to the first-level module.
关于本发明其他附加的特征与优点,本领域技术人员在不脱离本发明的精神和范围内,当可根据本申请实施方法中所公开的电路及其装置配置方法做些许的更动与润饰而得到。Regarding other additional features and advantages of the present invention, those skilled in the art can make some changes and modifications according to the circuit and device configuration method disclosed in the implementation method of the present application without departing from the spirit and scope of the present invention. get.
附图说明Description of drawings
图1为本发明一实施例所述的基于网表产生的数据云100的示意图。FIG. 1 is a schematic diagram of a
图2为本发明一实施例所述的依据有效数据流指导电路配置的方法200的流程图。FIG. 2 is a flowchart of a method 200 for directing circuit configuration according to a valid data flow according to an embodiment of the present invention.
图3为本发明一实施例所述的电路300的示意图。FIG. 3 is a schematic diagram of a
图4为本发明另一实施例所述的依据有效数据流指导电路配置的方法400的流程图。FIG. 4 is a flowchart of a method 400 for directing circuit configuration according to a valid data flow according to another embodiment of the present invention.
图5为本发明另一实施例所述的电路500的示意图。FIG. 5 is a schematic diagram of a
具体实施方式Detailed ways
为使本发明的上述和其他目的、特征与优点能更明显易懂,下文特举出优选实施例,并配合所附图示,做详细说明如下。注意的是,本章节所叙述的是实施本发明的最佳方式,目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件或上述任意组合来实现。In order to make the above-mentioned and other objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are exemplified below, and are described in detail as follows in conjunction with the accompanying drawings. It should be noted that what is described in this chapter is the best mode for implementing the present invention, and the purpose is to illustrate the spirit of the present invention rather than limit the protection scope of the present invention. It should be understood that the following embodiments can be implemented through software, hardware, firmware or the above any combination to achieve.
图1为本发明一实施例所述的藉由物理实现工具利用网表产生的数据云100的示意图。如图1所示,数据云100包括模块m1~m3及模块m1~m3彼此间的数据流。模块m1~m3包括逻辑模块d1~d3、边界时序单元r1~r6以及逻辑单元c1~c7。边界时序单元r1~r6以及逻辑单元c1~c7通过连接线n1~n4来进行模块间的数据传输。其中,逻辑单元间的数据流例如是逻辑单元c5与逻辑单元c7间的数据流,逻辑单元与边界时序单元间的数据流例如是逻辑单元c5与边界时序单元r5间的数据流。FIG. 1 is a schematic diagram of a
如图1所示,模块m3中的信号从边界时序单元r5到逻辑单元c5,再经由模块m1中的逻辑单元c7,再到模块m2中的逻辑单元c6,最终到达模块m2中的边界时序单元r6。信号首先经由模块m3至模块m1,再由模块m1至模块m2,模块m3与m2之间没有直接的数据流。但时序路径是始于时序单元终于时序单元的,所以边界时序单元r5到边界时序单元r6的时序路径中,逻辑单元c7仅相当于传输信号的节点,信号只是从模块m1(孤立的节点c7)路过,本质上还是从模块m3(边界时序单元r5)直接流向模块m2(边界时序单元r6)。因此,若以“信号由模块m3流向模块m1,再由模块m1流向模块m2”作为模块m1、m2、m3间的数据流,将对模块间时序路径的分析及之后模块间的布局产做出错误的指导。因而,为了得到正确的模块间的数据流,从而指导模块间时序路径的建立和模块间的布局,需要首先从基于网表产生的数据流中提取出对应的边界时序单元间的数据流(下称有效数据流),例如从“信号从模块m3中的边界时序单元r5到逻辑单元c5,再经由模块m1中的逻辑单元c7,再到模块m2中的逻辑单元c6,最终到达模块m2中的边界时序单元r6”中提取出“信号从模块m3中的边界时序单元r5到达模块m2中的边界时序单元r6”的边界时序单元间的有效数据流,并以此提取出“信号从模块m3到达模块m2”的模块间的数据流。根据本发明一实施例,边界时序单元可以是边界寄存器或例化单元,以下将结合图2、图3对边界时序单元为边界寄存器的情况以及如何从数据云中提取有效数据流以及后续需进行的操作进行说明。As shown in Figure 1, the signal in the module m3 goes from the boundary sequence unit r5 to the logic unit c5, then passes through the logic unit c7 in the module m1, then goes to the logic unit c6 in the module m2, and finally reaches the boundary sequence unit in the module m2. r6. The signal first passes through the module m3 to the module m1, and then from the module m1 to the module m2. There is no direct data flow between the modules m3 and m2. However, the timing path starts from the timing unit and ends at the timing unit, so in the timing path from the boundary timing unit r5 to the boundary timing unit r6, the logic unit c7 is only equivalent to the node that transmits the signal, and the signal is only from the module m1 (isolated node c7) Passing by, in essence, flows directly from module m3 (boundary sequential unit r5) to module m2 (boundary sequential unit r6). Therefore, if "signals flow from module m3 to module m1, and then from module m1 to module m2" as the data flow between modules m1, m2, and m3, the analysis of the timing paths between modules and the subsequent layout production between modules will be made. wrong guidance. Therefore, in order to obtain the correct data flow between modules, so as to guide the establishment of timing paths between modules and the layout between modules, it is necessary to first extract the data flow between the corresponding boundary timing units from the data flow generated based on the netlist (below). Called valid data flow), for example, from the "signal from the boundary timing unit r5 in the module m3 to the logic unit c5, then through the logic unit c7 in the module m1, to the logic unit c6 in the module m2, and finally to the logic unit c6 in the module m2. The valid data flow between the boundary timing units of "the signal arrives from the boundary timing unit r5 in the module m3 to the boundary timing unit r6 in the module m2" is extracted from the boundary timing unit r6", and the "signal arrives from the module m3" is extracted. Data flow between modules of module m2". According to an embodiment of the present invention, the boundary sequential unit may be a boundary register or an instantiated unit. The following describes the case where the boundary sequential unit is a boundary register and how to extract a valid data stream from the data cloud and subsequent steps to be performed in conjunction with FIG. 2 and FIG. 3 . operation is explained.
图2为本发明一实施例所述的根据有效数据流指导电路配置方法200的流程图,图3为本发明一实施例的电路300的示意图。图2所公开的根据有效数据流指导电路配置的方法200适用于图3所示的电路300。为便于理解,图3例示在图1的模块配置下,根据本发明所提出的根据有效数据流指导电路配置200,指导电路布局。FIG. 2 is a flowchart of a method 200 for directing circuit configuration according to an effective data flow according to an embodiment of the present invention, and FIG. 3 is a schematic diagram of a
同时参照图2及图3。如图3所示,电路300包括微处理器310及模块群320。微处理器310耦接模块群320,模块群320包括模块m1~m3,模块m1~m3包括逻辑模块d1、d2及d3以及时序单元r1~r6、逻辑单元c1~c7,并通过连接线n1~n5实现模块间的互连,连接线n1~n5上的箭头代表了模块间数据的流向。举例来说,处理器310可以是配置在计算机主机中的中央处理器(Central Processing Unit,CPU),在本申请中执行此根据有效数据流指导电路配置的方法。2 and 3 at the same time. As shown in FIG. 3 , the
本发明的主要精神在于,因为一个模块可能与多个模块间存在数据流及相连关系,首先根据网表内定义的层级和连接关系获得模块及其内的边界时序单元;再根据数据云的逻辑单元间的数据流、逻辑单元与边界时序单元间的数据流,提取出边界时序单元间的有效数据流;获取有效数据流对应的模块间的连接线的数量,将模块间的连线数量排序,与定义的基准模块的连线数量最多的模块,即为可以在此基准模块下一个进行布局的下级模块,其中下级模块与基准模块配置为相邻。根据本发明一实施例,定义基准模块是指首先确定基准模块的布局位置。根据本发明一实施例,获得模块间的连接线的数量是指以一个模块中的至少一个边界时序单元与另一个模块中的至少一个边界时序单元的连接线的数量为该两个模块间的连接线的数量。The main spirit of the present invention is that, because a module may have data flow and connection relationship with multiple modules, first obtain the module and its boundary sequence units according to the level and connection relationship defined in the netlist; then according to the logic of the data cloud The data flow between the units, the data flow between the logic unit and the boundary sequence unit, extract the valid data flow between the boundary sequence units; obtain the number of connection lines between the modules corresponding to the valid data flow, and sort the number of connections between the modules , the module with the largest number of connections with the defined reference module is the lower-level module that can be laid out next to the reference module, wherein the lower-level module and the reference module are configured to be adjacent. According to an embodiment of the present invention, defining the reference module refers to first determining the layout position of the reference module. According to an embodiment of the present invention, obtaining the number of connection lines between modules refers to taking the number of connection lines between at least one boundary sequential cell in one module and at least one boundary sequential cell in another module as the number of connection lines between the two modules. The number of connecting lines.
本发明所述的根据有效数据流指导电路配置方法包括:步骤S210,微处理器310分别获取基准模块中的至少一个边界时序单元与其他多个模块中的至少一个边界时序单元的连接线的数量;步骤S220,微处理器310比较基准模块与各个模块的连接线的数量。步骤S230,微处理器310选出在各个其他模块中,与该基准模块之间具有最大连接线数量的为可布局与该基准模块相邻的下一级模块。The method for directing circuit configuration according to the effective data flow of the present invention includes: step S210, the
在本发明第一实施例中,如以上步骤S210至步骤S230,参照图3,定义模块m3为基准模块。模块m3与模块m1之间,边界时序单元的互连数为0,模块m3的边界时序单元r5与模块m1之间,并无任何的边界时序单元相连,仅有组合逻辑单元c5及c7相连,组合逻辑单元的连接不计入,故互连数为0。而模块m3与m2之间有边界时序单元r5及r6互连,故互连数为1。也就是说,在图3的例子中,当m3为基准模块,模块m3的下级模块则是与其有最大边界时序单元互连数量的模块m2,也就是说,模块m2为基准模块m3后第一个可以布局在基准模块m3周边的下级模块,下称第一相邻模块。In the first embodiment of the present invention, as in steps S210 to S230 above, referring to FIG. 3 , the module m3 is defined as a reference module. Between module m3 and module m1, the interconnection number of boundary sequential units is 0. Between the boundary sequential unit r5 of module m3 and module m1, there is no boundary sequential unit connected, only combinational logic units c5 and c7 are connected. The connection of the combinational logic unit is not counted, so the number of interconnections is 0. There are boundary sequential units r5 and r6 interconnected between modules m3 and m2, so the interconnection number is 1. That is to say, in the example of Fig. 3, when m3 is the reference module, the lower-level module of module m3 is the module m2 with the maximum number of interconnected boundary timing units, that is to say, the module m2 is the first module after the reference module m3. A lower-level module that can be arranged around the reference module m3 is hereinafter referred to as the first adjacent module.
在本发明的根据有效数据流指导电路配置的方法,还包括步骤S240:选出第一相邻模块后,以第一相邻模块为基准模块,在与第一相邻模块相邻的其余模块中,选出与第一相邻模块之间具有最高互连数量的第二相邻模块,为第一相邻模块的下级模块。In the method for guiding circuit configuration according to the effective data flow of the present invention, it further includes step S240: after selecting the first adjacent module, taking the first adjacent module as a reference module, and selecting the remaining modules adjacent to the first adjacent module Among them, the second adjacent module with the highest number of interconnections with the first adjacent module is selected as the lower-level module of the first adjacent module.
以图3而言,在选出m2为第一相邻模块后,在模块m2的相邻模块m1及m3中,选出与模块m2之间具有最高互连数量的第二相邻模块。模块m2的边界时序单元r2与模块m1的边界时序单元r1相连,模块m2的边界时序单元r4与模块m1的边界时序单元r3相连,故模块m2与模块m1的互连数为2。而模块m2的边界时序单元r6跟模块m3的边界时序单元r5相连,故模块m2与模块m3的互连数为1。因为模块m2与m1的互连数最高,所以模块m1为模块m2的下级模块。Referring to FIG. 3 , after selecting m2 as the first adjacent module, among the adjacent modules m1 and m3 of the module m2, the second adjacent module with the highest number of interconnections with the module m2 is selected. The boundary sequence unit r2 of the module m2 is connected to the boundary sequence unit r1 of the module m1, and the boundary sequence unit r4 of the module m2 is connected to the boundary sequence unit r3 of the module m1, so the number of interconnections between the module m2 and the module m1 is 2. The boundary sequence unit r6 of the module m2 is connected with the boundary sequence unit r5 of the module m3, so the interconnection number between the module m2 and the module m3 is 1. Because the number of interconnections between the modules m2 and m1 is the highest, the module m1 is a subordinate module of the module m2.
承上所述,以图3的例子来说,若依照本发明的根据有效数据流指导电路配置的方法,可以整理出模块m1、m2及m3相对的数据流存在在模块m3与模块m2之间,以及,模块m2与模块m1之间。Continuing from the above, taking the example of FIG. 3 as an example, according to the method of directing the circuit configuration according to the effective data flow of the present invention, it can be sorted out that the relative data flow of the modules m1, m2 and m3 exists between the module m3 and the module m2. , and between module m2 and module m1.
图4为本发明另一实施例所述的根据有效数据流指导电路配置方法的流程图,图5为本发明另一实施例所述的电路500的示意图。电路500与其他实施例最大的差异主要在于电路500包括例化模块以及端口。例化模块是指设计者依据设计需求将常用的功能制式化的模块,一般而言,可以直接通过调整输入参数的方式调整例化模块所执行的电路功能。例化模块是边界时序单元的一种,而端口550为电路500的数据输出及输入接口。在本发明实施例中,例化模块会配置在所选出的第一相邻模块中最接近基准模块(端口550)的区域,以利数据的输入输出。FIG. 4 is a flowchart of a method for directing circuit configuration according to a valid data flow according to another embodiment of the present invention, and FIG. 5 is a schematic diagram of a
图5所示的电路500包括微处理器310以及模块群520,模块群520包括模块m4、模块m5、模块m6及模块m7。模块m4中包括例化模块组530,模块m7包括例化模块组540。例化模块组530包括8个例化模块,例化模块组540包括4个例化模块。模块m4包括内部逻辑d4,模块m5包括内部逻辑d5,模块m6包括内部逻辑d6,模块m7包括内部逻辑d7。模块群520包括的边界时序单元r1~r19、逻辑单元c1~c15,配置在不同的模块中。如图5所示,藉由边界时序单元r1~r19、逻辑单元c1~c15以及连接线n1~n7实现模块间的边界寄存器的互连。The
参照图4及图5,在本实施例中,当模块群520包括或耦接端口550,端口550也可视作是模块群520中的模块之一,此时,微处理器310首先以端口550作为首先确定位置的基准模块,选择电路500各模块中,与电路500的端口550之间具有最高互连数量的为第一相邻模块,以端口550与其他多个模块中的至少一个边界时序单元的连接线的数量作为基准模块与各个其他模块的连接线的数量(图4所示的步骤S405)。如图5所示,模块m4包括的例化模块组530与端口550互连,例化模块组530包括8个可视为边界时序单元的例化模块,且每一例化模块均与端口相连,所以模块m4与端口550的互连数量为8,所以与端口550的互连数量最高的是模块m4,其他模块m5、m6及m7与端口的连接都小于模块m4与端口550的互连数量,模块m4为该实施例所选出的第一相邻模块。4 and 5, in this embodiment, when the
图5中微处理器310继续以第一相邻模块m4作为新的基准模块,分别获取第一相邻模块m4中的边界时序单元与剩余模块m5、m6及m7中边界时序单元的互连数量,即图4的步骤S410,其中,以基准模块中的至少一个边界时序单元与其他多个模块中的至少一个边界时序单元的连接线的数量为基准模块与各个其他模块的连接线的数量。微处理器310比较第一相邻模块m4中与剩余模块m5、m6及m7之间,边界时序单元的互连数量(图4的步骤S420)。微处理器310选出在剩余模块m5、m6及m7中,与第一相邻模块m4之间具有最高互连数量的作为第一相邻模块m4的下级模块,亦即第二相邻模块(图4的步骤S430)。第一相邻模块m4的例化模块组530中有4个例化模块与模块m7的例化模块组540中4个例化模块相连,且第一相邻模块m4的边界时序单元r1与模块m7的边界时序单元r15互连,故第一相邻模块m4与模块m7的互连数为5,大于第一相邻模块m4与其他剩余模块m5、m6的互连数量。因此,具有与第一相邻模块m4最高互连数的模块m7,为本实施例的第二相邻模块。In FIG. 5 , the
接着,选出第二相邻模块m7后,在剩余模块m5、m6中,选出与第二相邻模块m7之间具有最高互连数量的第二相邻模块m7的下级模块为第三相邻模块(图4的步骤S440)。模块m7的边界时序单元r17、r18及r19分别与模块m6的边界时序单元r14、r13及r12互连,故第二相邻模块m7与模块m6的互连数量为3。而第二相邻模块m7仅有边界时序单元r16与模块m5的边界时序单元r8相连,所以第二相邻模块m7与模块m5的互连数量仅为1。第二相邻模块m7的下一级模块m6为第三相邻模块。此时,因为剩余模块仅有一个模块m5,因此直接将模块m5定义为第三相邻模块m6的下级模块,亦即第四相邻模块。Next, after the second adjacent module m7 is selected, among the remaining modules m5 and m6, the lower-level module of the second adjacent module m7 with the highest interconnection quantity with the second adjacent module m7 is selected as the third phase module neighbor module (step S440 in FIG. 4 ). The boundary sequential units r17, r18 and r19 of the module m7 are respectively interconnected with the boundary sequential units r14, r13 and r12 of the module m6, so the number of interconnections between the second adjacent module m7 and the module m6 is three. In the second adjacent module m7, only the boundary sequential unit r16 is connected to the boundary sequential unit r8 of the module m5, so the number of interconnections between the second adjacent module m7 and the module m5 is only one. The next-level module m6 of the second adjacent module m7 is the third adjacent module. At this time, since there is only one module m5 in the remaining modules, the module m5 is directly defined as the subordinate module of the third adjacent module m6, that is, the fourth adjacent module.
整体来说,经过本发明所提出的根据有效数据流指导电路配置的流程,即可以整理出在图5所示的实施例中,布局顺序是从模块m4开始,至模块m7,再至模块m6,最后到模块m5。在经由本发明实施例的流程来做数据流整理后,即可依据这样的顺序来进行模块间的物理布局,也就是说,把具有与端口550最高互连数的第一相邻模块m4布局在与基准模块(端口550)相邻的位置,接下来依序将第二相邻模块m7布局在与第一相邻模块m4相邻的位置、将第三相邻模块m6布局在第二相邻模块m7相邻的位置,以及将第四相邻模块m5布局在与第三相邻模块m6相邻的位置。如此一来,通过从数据云提取的有效数据流可以用于指导电路布局的顺序和位置。As a whole, through the process of guiding the circuit configuration according to the effective data flow proposed by the present invention, it can be sorted out that in the embodiment shown in FIG. , and finally to module m5. After the data flow is sorted through the process of the embodiment of the present invention, the physical layout between the modules can be carried out according to this order, that is, the first adjacent module m4 with the highest number of interconnections with the
本发明提出一种根据有效数据流指导电路配置的方法,在设计初期阶段即可根据网表产生数据云,快速且精准地从数据云中提取出有效数据流指导电路设计中的电路配置。通过本发明所提出的有效数据流提取方法,指导电路内模块的位置和配置的顺序,对电路的早期布局有很大的指导作用。本发明基于有效数据流指导的电路布局与实际需要的电路模块间的数据流相符,指导配置的电路模块在物理位置上发生数据流交叉缠绕的概率得到了有效降低,避免因模块所配置的物理位置不合理造成迭代而增加数据传送时间,对加快时序收敛有很大的帮助。The present invention proposes a method for guiding circuit configuration according to effective data flow, which can generate a data cloud according to the netlist in the initial stage of design, and quickly and accurately extract the circuit configuration in the circuit design instructed by the effective data flow from the data cloud. Through the effective data flow extraction method proposed by the present invention, the position and configuration sequence of the modules in the circuit are guided, which has a great guiding effect on the early layout of the circuit. According to the present invention, the circuit layout based on the effective data flow guidance is consistent with the data flow between the actual required circuit modules, and the probability of data flow cross-entanglement in the physical position of the circuit modules configured by the guidance is effectively reduced. The unreasonable location causes iteration and increases the data transfer time, which is of great help to speed up timing closure.
虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神与范围内,当可作些许的更动与润饰。举例来说,本发明实施例所述的系统以及方法可以硬件、软件或硬件以及软件的组合的实体实施例加以实现。因此本发明的保护范围当视所附权利要求书界定范围为准。Although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention, and those skilled in the art can make some changes and modifications without departing from the spirit and scope of the present invention. For example, the system and method described in the embodiments of the present invention may be implemented in a physical embodiment of hardware, software, or a combination of hardware and software. Therefore, the protection scope of the present invention should be determined by the scope defined by the appended claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893469.8A CN112016259B (en) | 2020-08-31 | 2020-08-31 | Circuit and configuration method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893469.8A CN112016259B (en) | 2020-08-31 | 2020-08-31 | Circuit and configuration method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112016259A CN112016259A (en) | 2020-12-01 |
CN112016259B true CN112016259B (en) | 2022-08-30 |
Family
ID=73503876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893469.8A Active CN112016259B (en) | 2020-08-31 | 2020-08-31 | Circuit and configuration method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016259B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003085564A1 (en) * | 2002-04-03 | 2003-10-16 | Silicon Perspective Corporation | Ic layout system employing a hierarchical database |
US6865726B1 (en) * | 2001-10-22 | 2005-03-08 | Cadence Design Systems, Inc. | IC layout system employing a hierarchical database by updating cell library |
CN103399979A (en) * | 2013-07-04 | 2013-11-20 | 电子科技大学 | Board level circuit testing model automatic generation method |
CN107798159A (en) * | 2016-08-31 | 2018-03-13 | Arm 有限公司 | Method for generating three dimensional integrated circuits design |
CN109284578A (en) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | Logic circuit layout wiring method, graphic software platform method and its system |
-
2020
- 2020-08-31 CN CN202010893469.8A patent/CN112016259B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865726B1 (en) * | 2001-10-22 | 2005-03-08 | Cadence Design Systems, Inc. | IC layout system employing a hierarchical database by updating cell library |
WO2003085564A1 (en) * | 2002-04-03 | 2003-10-16 | Silicon Perspective Corporation | Ic layout system employing a hierarchical database |
CN103399979A (en) * | 2013-07-04 | 2013-11-20 | 电子科技大学 | Board level circuit testing model automatic generation method |
CN107798159A (en) * | 2016-08-31 | 2018-03-13 | Arm 有限公司 | Method for generating three dimensional integrated circuits design |
CN109284578A (en) * | 2018-02-27 | 2019-01-29 | 上海安路信息科技有限公司 | Logic circuit layout wiring method, graphic software platform method and its system |
Also Published As
Publication number | Publication date |
---|---|
CN112016259A (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8782591B1 (en) | Physically aware logic synthesis of integrated circuit designs | |
CN112131813B (en) | FPGA wiring method for improving wiring speed based on port exchange technology | |
CN113177380B (en) | Time sequence optimization method based on dummy | |
CN111352697B (en) | Flexible physical function and virtual function mapping | |
CN112597733A (en) | Storage unit identification method and device and computer readable storage medium | |
CN113569524A (en) | Method for extracting clock tree based on comprehensive netlist in chip design and application | |
US7325218B2 (en) | Wiring method, program, and apparatus | |
WO2015075805A1 (en) | Source code division method and lsi implementation device | |
CN105404728A (en) | FPGA based chip multi-control signal layout method | |
CN112016259B (en) | Circuit and configuration method thereof | |
CN114297959A (en) | FPGA routing method to improve routing efficiency by splitting the net | |
CN102495356A (en) | Processing method of reset port of scan chain asynchronous reset register | |
US8621411B1 (en) | Generating and selecting bit-stack candidates from a graph using dynamic programming | |
CN116502578B (en) | Construction method of netlist reduction time sequence model and static time sequence analysis method | |
US8904318B1 (en) | Method and apparatus for performing optimization using don't care states | |
CN110457839A (en) | A Method for Accelerating Timing Analysis of Chip-Level Circuits | |
US7216321B2 (en) | Pattern recognition in an integrated circuit design | |
CN111695321B (en) | Circuit design methods and related computer program products | |
WO2004046975A1 (en) | Electronic circuit design timing improvement method, program, and apparatus | |
JP2853649B2 (en) | How to create a logic simulation model | |
US10409945B1 (en) | Methods, systems, and computer program product for connectivity verification of electronic designs | |
JP2016014950A (en) | Circuit design support device, circuit design support method, and program | |
US20110191739A1 (en) | Circuit design method, circuit design system, and recording medium | |
CN114282472B (en) | A source code segmentation method and system for FPGA | |
JP7331069B2 (en) | Data processing method and circuit based on Trojan horse circuit detection |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |