CN107526861A - 半导体lsi设计装置以及设计方法 - Google Patents
半导体lsi设计装置以及设计方法 Download PDFInfo
- Publication number
- CN107526861A CN107526861A CN201710224087.4A CN201710224087A CN107526861A CN 107526861 A CN107526861 A CN 107526861A CN 201710224087 A CN201710224087 A CN 201710224087A CN 107526861 A CN107526861 A CN 107526861A
- Authority
- CN
- China
- Prior art keywords
- order
- functional block
- circuit
- unit
- sequential circuit
- 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.)
- Granted
Links
- 238000013461 design Methods 0.000 title claims abstract description 63
- 239000004065 semiconductor Substances 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000003860 storage Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 30
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 238000003786 synthesis reaction Methods 0.000 claims description 13
- 230000005611 electricity Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000000039 congener Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000000941 radioactive substance Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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
本发明提供一种半导体LSI设计装置以及设计方法。在控制装置中,提供削减逻辑安装所需的资源的技术。为此,构成一种半导体LSI设计装置,其生成根据应用程序规格由在功能块库中所定义的功能块所构成的组合电路,并附加组合电路内的功能块的运算顺序,以使在连接到输入引脚的功能块的运算结束后开始运算,并转换为分时方式来多次使用功能块的顺序电路,提取所述顺序电路的执行时的运算顺序,判断附加到所述组合电路的运算顺序与提取出的所述运算顺序的一致。
Description
技术领域
本发明涉及用于要求较高安全性的控制装置的半导体LSI设计装置以及设计方法。
背景技术
在核电站,为了基于来自放射线测量装置、其他各种传感器的输入进行核反应堆紧急停止、防止放射性物质泄露的各种阀门的关闭等的控制而设置有安全保护系统。
以往,在控制装置中使用微型计算机,但是当在基于设备多重化的冗余系统中使用相同软件时,由于该软件的缺陷可能损害设备多重化的功能。另外,如果宇宙射线等放射线照射到存储装置的存储单元,则可能发生被称为软错误的电荷丢失、数据被改写的现象,并引起偶发的异常动作。还开始要求防止软件的改写等防篡改性。
因此,在要求较高安全性的原子能发电站等的控制装置中,以提高安全性为目的,要求无处理器的硬连线方式。
作为背景技术,有日本专利第4371856号公报(专利文献1)。在该专利中记载了“一种安全保护仪表化系统,其特征在于,在使用安装在从ASIC以及FPGA所选择的硬件中的数字逻辑所构建出的核反应堆的安全保护仪表化系统中,使用在安装前的阶段预先验证了针对输入的全部的逻辑模式的输出的逻辑模式的功能单元和组合所述验证完成的功能单元而构成的功能模块的至少一方来构成数字逻辑部分,所述功能模块仅由具有与所述验证完成的功能单元相同的逻辑结构的功能单元构成。”。
以提高原子能发电站的控制装置的安全性为目的,为了满足针对无处理器的硬连线方式的要求,在专利文献1中记载有由可靠性高的数字信号处理装置所构成的安全保护仪表化系统及其操作方法。但是,并没有考虑安装到ASIC、FPGA中时使用资源数量的削减。
例如,为了构成高安全性控制装置,考虑FPGA使用防软错误性高的闪存型的FPGA,但是存在闪存型的FPGA一般与SRAM型的FPGA相比可搭载的逻辑规模小的问题。
另外,作为另一个例子,当以低成本化为目的而采用低价的FPGA时,1个FPGA中可搭载的逻辑规模小。因此,无法将控制逻辑安装在1个FPGA中而是要跨越多个芯片,逻辑的复杂化、验证成本的增大等成为问题。
因此,FPGA等设备的使用资源数量对于高安全性控制装置的实现是1个重要因素。
专利文献1:日本专利第4371856号公报
发明内容
因此,本发明的目的在于,提供削减控制装置的逻辑安装所需的资源的技术。
为了解决上述问题,本发明的半导体LSI设计装置被构成为具备:生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的单元;以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的单元;把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元;提取所述顺序电路的执行时的运算顺序的单元;以及判断对所述组合电路附加的运算顺序与提取出的所述运算顺序的一致的单元。
另外,为了解决上述问题,本发明的半导体LSI设计装置被构成为具备:生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的单元;以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的单元;把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元;以及判断所述组合电路与所述顺序电路的等价性的单元。
另外,作为本发明的其他的特征,在所述半导体LSI设计装置中,把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元,是把所述组合电路转换为如下顺序电路的单元,该顺序电路具有:存储附加所述功能块的运算顺序的单元所生成的运算顺序的运算顺序存储部;至少把在所述组合电路内所使用的功能块按照不同种类逐一并联连接的功能块群;依次存储基于输入数据、功能块的运算结果的存储器;读出存储在所述存储器中的数据来作为对所述功能块的输入的存储器控制部;选择所述读出的数据,作为对所述功能块群的输入的输入选择器;选择所述功能块群的运算结果并存储至所述存储器的输出选择器;以及按照所述运算顺序来控制所述存储器控制部、所述输入选择器以及所述输出选择器的运算执行控制部。
另外,为了解决上述问题,本发明的半导体LSI设计方法被构成为具有:生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的步骤;以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的步骤;把所述组合电路转换为以分时方式多次使用功能块的顺序电路的步骤;提取所述顺序电路的执行时的运算顺序的步骤;以及判断对所述组合电路附加的运算顺序与提取出的所述运算顺序的一致的步骤。
根据本发明,能够削减控制装置的逻辑安装所需的资源。
上述以外的问题、结构以及效果,通过以下的实施方式的说明会变得更清楚。
附图说明
图1是本发明的第1实施方式所涉及的半导体LSI设计装置的结构图的例子。
图2是本发明的第1实施方式所涉及的控制电路设计部中的处理的流程图的例子。
图3是本发明的第1实施方式所涉及的组合电路设计部所输出的组合电路HDL的块图的例子。
图4是本发明的第1实施方式所涉及的运算顺序附加部的流程图的例子。
图5是本发明的第1实施方式所涉及的运算顺序附加部所生成的运算顺序信息表的例子。
图6是在本发明的第1实施方式所涉及的组合电路-顺序电路转换部所生成的顺序电路的例子。
图7是本发明的第2实施方式所涉及的控制电路设计部中的处理的流程图的例子。
图8是本发明的第3实施方式所涉及的半导体LSI设计装置的结构图的例子。
图9是本发明的第3实施方式所涉及的控制电路设计部中的处理的流程图的例子。
符号说明
10 组合电路HDL;
50 运算顺序信息;
60 顺序电路HDL;
70 顺序电路HDL的运算顺序;
80 运算顺序判断结果;
91 顺序电路网表;
92 等价性判断结果;
100 半导体LSI设计装置;
101 控制电路设计部;
102 应用程序规格;
110 运算部;
111 组合电路设计部;
112 运算顺序附加部;
113 组合电路-顺序电路转换部;
114 运算执行顺序提取部;
115 运算顺序判断部;
116 等价性判断部;
117 逻辑合成配置布线部;
118 逻辑等价性判断部;
120 存储部;
121 功能块库;
122 组合电路HDL存储区域;
123 运算顺序存储区域;
124 顺序电路HDL存储区域;
125 顺序电路的运算顺序存储区域;
126 运算顺序判断结果存储区域;
127 顺序电路网表存储区域;
128 等价性判断结果存储区域;
130 输入部;
140 显示/输出部;
150 介质读取部;
160 通信部;
170 网络;
181 逻辑电路模拟器;
182 逻辑合成装置;
190 半导体LSI制造装置;
200 顺序电路;
201 运算顺序存储部;
202 运算控制部;
203 功能块群;
204 存储器;
205 存储器控制部;
206 存储器输入选择器;
207 存储器输出选择器;
208 输入选择器;
209 输出选择器;
210 运算执行控制部。
具体实施方式
以下,使用附图来说明实施例。
[实施例1]
图1是本实施例的半导体LSI设计装置100的结构图的例子。
半导体LSI设计装置100能够在通用计算机上构成,其硬件结构具备:由CPU(Central Processing Unit)、RAM(Random Access Memory)等构成的运算部110;由ROM(Read Only Memory)、HDD(Hard Disk Drive)、使用了闪存等的SSD(Solid State Drive)等构成的存储部120;由键盘、鼠标等输入设备所构成的输入部130;由CRT显示器、LCD(Liquid Crystal Display)、有机EL显示器等显示装置、各种输出装置等构成的显示/输出部140;读出CD-ROM、USB存储器等具有便携性的便携式存储介质的信息的介质读取部150;以及由NIC(Network Interface Card)等构成的通信部160等。
通信部160经由网络170与外部的逻辑电路模拟器181、逻辑合成装置182以及半导体LSI制造装置190相连接。
运算部110通过把存储在存储部120中的控制电路设计程序(未图示)加载至RAM并由CPU执行来实现具有以下的各功能部的控制电路设计部101。控制电路设计部101由以下各功能部构成:向控制电路设计者(用户)提供用户界面来对由控制电路设计者(用户)所进行的功能块的组合电路10的设计进行辅助的组合电路设计部111;提取所述组合电路设计部111所输出的组合电路HDL10内的各功能块的运算顺序信息50并进行输出的运算顺序附加部112;转换为按照所述运算顺序信息50执行功能块运算的顺序电路,并输出顺序电路HDL60的组合电路-顺序电路转换部113;提取所述顺序电路HDL60的运算顺序70的运算执行顺序提取部114;以及判断所述运算顺序附加部112所输出的运算顺序信息50与所述运算执行顺序提取部114所输出的顺序电路HDL60的运算顺序70相同,并输出运算顺序判断结果80的运算顺序判断部115。
存储部120具有登记了在多个应用程序的控制电路中共同使用的各种功能块的功能块库121。功能块是逻辑运算、四则运算、积分运算等,电路规模是多样的,但是,是能够确认针对对功能块的全部输入模式的输出模式与根据设计规格所期待的预测值的模式全部一致的逻辑规模。各功能块是预先用属性验证、动态验证等验证并登记的验证完成HDL库。
存储部120还具有:存储所述组合电路设计部111所输出的组合电路HDL10的组合电路HDL存储区域122;存储所述运算顺序附加部112所输出的运算顺序信息50的运算顺序存储区域123;存储所述组合电路-顺序电路转换部113所输出的顺序电路HDL60的顺序电路HDL存储区域124;存储所述运算执行顺序提取部114所输出的顺序电路HDL60的运算顺序70的顺序电路的运算顺序存储区域125;以及存储所述运算顺序判断部115所输出的运算顺序判断结果80的运算顺序判断结果存储区域126。
图2表示控制电路设计部101中的处理的流程图。
组合电路设计部111通过在显示/输出部140中提示用户界面,针对控制电路设计者(用户)之后要进行设计的控制电路,根据应用程序(application)规格102以硬件描述语言形式或配置表示功能块的图形的输入形式等接受从输入部130所输入的信息来生成组合电路。组合电路设计部111提示登记到功能块库121中的功能块的菜单,控制电路设计者(用户)自由地配置菜单内的功能块,对所配置的各功能块之间进行布线,附加输入输出引脚,进行实现应用程序规格102的组合电路的设计。组合电路设计部111输出HDL形式的组合电路HDL10,并存储到组合电路HDL存储区域122中。
图3是组合电路设计部111所输出的组合电路HDL10的块图的例子。在图3的例子中,排列配置4个功能块(21~24),并配置输入引脚(31~34)和输出引脚(35~36),在功能块21~24之间以及功能块与输入输出引脚之间通过布线(W01~W10)进行接线,并实现4输入2输出的应用程序。
图2示出的运算顺序附加部112在由组合电路设计部111所制作出的组合电路HDL10中,基于下面示出的约束条件,向各功能块赋予运算顺序。约束条件为“某功能块X的运算顺序是在连接到功能块X的输入引脚的全部功能块的运算顺序之后”。
图4用流程图示出了运算顺序附加部112的处理例。基于图4的流程图的动作如下。
步骤S101:读入由组合电路设计部111制作出的组合电路HDL10。
步骤S102:收集组合电路HDL10内的配置完成功能块信息,并作为数据C。例如,C={“块A”,“块B”,“块C”,“块B”}这样的集合。
步骤S103:把表示所赋予的运算顺序的变量“顺序(order)”初始化为1。
步骤S104:把指示赋予运算顺序的数据C内的功能块的变量i初始化为1。
步骤S105:判断是否可以赋予所述变量i所指示的功能块的运算顺序。此外,当变量i所指示的功能块未被赋予运算顺序并且连接到该功能块的输入引脚的全部功能块被赋予了运算顺序时,判断为可以赋予运算顺序。
步骤S106:对变量i加1,并将处理移至下一个功能块。
步骤S107:对变量i所指示的功能块赋予运算顺序。赋予的值设为所述变量“顺序(order)”。
步骤S108:对变量“顺序(order)”加1,并改变赋予的运算顺序。
步骤S109:为了判断是否对全部功能块赋予了运算顺序,对变量“顺序(order)”与C的要素数量进行比较。例如,当顺序(order)比C的要素数量小时,存在未赋予运算顺序的功能块。
步骤S110:以图5示出的运算顺序信息50的表形式制作并输出赋予了的运算顺序。运算顺序信息表的块ID栏50a是指示功能块的变量i的值,运算顺序栏50b是赋予了的运算顺序,块种类栏50c是识别登记到功能块库中的功能块的种类的数据,连接信息的输入栏50d是识别连接到相应功能块的输入引脚的布线的符号数据,连接信息的输出栏50e对识别连接到相应功能块的输出引脚的布线的符号数据分别进行存储。图5的运算顺序信息表存储有图3示出的组合电路HDL10的例子。运算顺序附加部112在运算顺序存储区域123中存储运算顺序信息50。
此外,图4的流程图是运算顺序附加部112的实现方法的一个例子,例如设计者也可以附加运算顺序等。
图2示出的组合电路-顺序电路转换部113输入组合电路设计部111所输出的组合电路HDL10和运算顺序附加部112所输出的运算顺序信息50,并参照功能块库121来制作顺序电路HDL60。图6示出了把组合电路HDL转换为顺序电路HDL的形式。
图6是组合电路-顺序电路转换部113所输出的顺序电路HDL60的结构例(200)。在组合电路-顺序电路转换部113中,生成按照由运算顺序附加部112所附加的运算顺序50来执行各功能块的运算的顺序电路。所生成的顺序电路200由运算顺序存储部201、运算控制部202和功能块群203所构成。
在运算顺序存储部201中,存储图5所示的运算顺序信息50中的运算顺序栏50b、块种类栏50c、连接信息的输入栏50d以及连接信息的输出栏50e的各数据。
运算控制部202由例如存储器204、存储器控制部205、存储器输入选择器206、存储器输出选择器207、输入选择器208、输出选择器209和运算执行控制部210所构成。
把在组合电路HDL10内所使用的功能块作为对象,按照种类逐一并联地连接到输入选择器208和输出选择器209而构成功能块群203。
运算控制部202和功能块预先进行验证。
本顺序电路200的动作如下。
动作1:输入数据(In(输入)1~In(输入)4)通过存储器输入选择器206选择1个数据,并附加布线(连接)信息而存储在存储器控制部205所控制的存储器204中。
动作2:运算执行控制部210按照运算顺序,取得存储在运算顺序存储部201中的下一个要执行的块种类、连接信息(输入、输出)。
动作3:存储器控制部205控制存储器204,并从存储器204按照连接信息读出输入数据。读出的数据通过输入选择器208按顺序地存储到FF中。输入选择器208控制运算执行控制部210。
动作4:由功能块群203执行各功能块的运算。
动作5:输出选择器209按顺序地选择执行了运算的功能块的各输出,附加连接信息后依次存储在存储器204中。输出选择器209被运算执行控制部210控制。
动作6:针对存储在运算顺序存储部201中的全部数据,执行动作2到动作5。
动作7:从存储在存储器204中的数据中,按顺序地读出运算结果数据,并由存储器输出选择器207向各输出端口进行输出。
此外,图6是用顺序电路HDL60表示的电路的一个例子,也可以作为例如不具有存储器204而直接把输入数据写入FF的结构。
另外,在功能块群203中,可以搭载功能块库121中所包含的全部种类的功能块,也可以只搭载参照并使用运算顺序信息50的功能块。
组合电路-顺序电路转换部113把制作出的顺序电路HDL60存储到顺序电路HDL存储区域124中。
图2示出的运算执行顺序提取部114分析组合电路-顺序电路转换部113所输出的顺序电路HDL60,并取得功能块群203的各功能块被运算执行的顺序。作为顺序电路HDL60的分析方法,考虑例如执行HDL模拟。在图6的例子中,执行顺序电路200的HDL模拟,确认输出选择器209选择出哪个功能块的输出信号,并取得功能块的运算执行顺序。通过从运算执行控制部210向输出选择器的控制信号控制输出选择器的选择,因此可以监视运算执行控制部的输出信号并取得运算执行顺序。
在图1示出的例子中,运算执行顺序提取部114的处理可以使用安装在外部计算机中的公知的逻辑电路模拟器181来进行计算,也可以使用安装在半导体LSI设计装置100中的逻辑电路模拟器。运算执行顺序提取部114分析并输出的顺序电路HDL60的运算顺序70被存储在顺序电路的运算顺序存储区域125中。
图2示出的运算顺序判断部115判断运算执行顺序提取部114所分析出的顺序电路HDL60的运算顺序70与运算顺序附加部112所生成的运算顺序信息50相同,并作为运算顺序判断结果80进行输出,存储到运算顺序判断结果存储区域126中。当运算顺序判断结果80为“相同”时,判断为正确执行了组合电路-顺序电路转换。这是由于在图6的电路构成要素中,运算控制部202和功能块群203已经验证完成,未验证的电路构成要素只有运算顺序存储部201,因此只要顺序电路HDL60的运算顺序70正确,则视为存储有运算执行顺序的运算顺序存储部201进行了正确的动作。
此外,当运算顺序判断结果80为“不相同”时,则先进行向运算顺序存储部201存储由运算顺序附加部112所制作出的运算顺序信息50的处理。
当运算顺序判断结果80被判断为“相同”时,存储在顺序电路HDL存储区域124中的顺序电路HDL60被发送到逻辑合成装置182中进行逻辑合成和配置布线处理,并制作顺序电路网表。该顺序电路网表被发送到半导体LSI制造装置190等,并安装到ASIC或FPGA中。
此外,还考虑把公知的逻辑电路模拟器、逻辑合成工具安装到半导体LSI设计装置100的结构。在这种情况下,在运算部110中执行一系列的设计处理。
如上述说明,根据本实施例,通过把多次执行同种类的功能块的组合电路转换为以分时方式多次使用作为1个功能块的同种类的功能块的顺序电路,能够削减电路使用资源。例如,在组合50种功能块,共计使用10,000次功能块的应用程序的情况下,在组合电路中配置10,000个功能块,但是在顺序电路中只配置50个功能块。因此,用于功能块的安装的电路资源成为50/10000=1/200。在使用了实现复杂的模拟计算的功能块的应用程序、例如核仪表化等中,功能块的使用资源是占支配地位的,因此整体的电路使用资源的削减效果变大,可以认为即使考虑运算顺序存储部和运算控制部的使用资源,也能够把整体的电路使用资源削减到1/100左右。由此,能够用较少电路资源实现高安全性控制装置的逻辑。
[实施例2]
图7表示第2实施例。对与图2相同的构成要素赋予相同的符号,由于结构、动作相同,因此省略说明。本实施例为了验证顺序电路HDL60的合理性,判断组合电路HDL10与顺序电路HDL60的等价性,来代替对所赋予的运算顺序50与顺序电路中的运算执行顺序70进行比较。参照图7,以下只针对从实施例1发生改变的构成要素进行说明。
等价性判断部116判断组合电路设计部111所输出的组合电路HDL10与组合电路-顺序电路转换部113所输出的顺序电路HDL60的等价性,并把判断结果作为等价性判断结果90进行输出。当等价性判断结果90为“等价”时,能够判断为正确执行了组合电路-顺序电路转换。作为等价性的判断方法,有例如向用组合电路HDL10表示的组合电路和用顺序电路HDL60表示的顺序电路提供相同的输入信号,并比较一定时间后的各电路的输出信号的方法。如果以图3和图6为例,则向各电路的输入1~输入4(In1~In4)提供相同的输入信号,并比较一定时间后的各电路的彼此的输出1(Out1)和输出2(Out2)。针对全部的输入模式,如果比较结果一致,则判断为等价。
通过像这样进行改变,能够验证顺序电路HDL60与组合电路HDL10的运算结果一致,因此能够更准确地执行顺序电路HDL60的合理性验证。由此,能够以较少电路资源实现高安全性控制装置的逻辑。
[实施例3]
图9表示第3实施例。对与图2相同的构成要素赋予相同的符号,由于结构、动作相同,因此省略说明。逻辑合成配置布线部117读入顺序电路HDL60,并进行用于向ASIC或FPGA进行安装的逻辑合成和配置布线,输出顺序电路网表91。逻辑等价性判断部118判断顺序电路HDL60和顺序电路网表91的逻辑等价性。设逻辑等价性的判断方法是与等价性判断部116同样的方法。
通过像这样进行改变,可以把电路使用资源较少的顺序电路安装到ASIC或FPGA中。通过运算顺序判断部115和逻辑等价性判断部118能够判断顺序电路的合理性。由此,可以用较少的电路资源实现高安全性控制装置的逻辑,并安装在ASIC或FPGA中。
图8示出了第3实施例的半导体LSI设计装置100的结构图的例子。逻辑合成配置布线部117的处理,把存储在顺序电路HDL存储区域124中的顺序电路HDL60发送至安装在外部计算机中的公知的逻辑合成工具182,委托逻辑合成处理,接收处理结果的顺序电路网表91并存储到顺序电路网表存储区域127中。或者也可以是把逻辑合成工具安装到半导体LSI设计装置100中,在运算部110中执行逻辑合成配置布线处理的结构。
当等价性判断结果92以及运算顺序判断结果80都判断为“相等”时,存储在顺序电路网表存储区域127中的顺序电路网表91被发送至半导体LSI制造装置190等,并安装在ASIC或FPGA中。
此外,本发明不限定于上述实施例,包含多种变形例。例如,上述实施例是为了更清楚地理解本发明而详细说明的例子,不限定于必须具备所说明的全部结构。另外,可以把某实施例的结构的一部分置换为其他实施例的结构,另外,也可以在某实施例的结构中增加其他实施例的构成。另外,针对各实施例的结构的一部分,还可以进行其他结构的增加、删除和置换。另外,上述各结构、功能、处理部、处理单元等,可以通过例如在集成电路中进行设计等来由硬件实现它们的一部分或者全部。另外,也可以通过处理器解释实现各个功能的程序并进行执行来由软件实现上述各结构、功能等。实现各功能的程序、表、文件等信息能够存放在存储器、硬盘、SSD(Solid State Drive)等记录装置或IC卡、SD卡、DVD等记录介质中。
Claims (9)
1.一种半导体LSI设计装置,其特征在于,具备:
生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的单元;
以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的单元;
把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元;
提取所述顺序电路的执行时的运算顺序的单元;以及
判断对所述组合电路附加的运算顺序与提取出的所述运算顺序的一致的单元。
2.一种半导体LSI设计装置,其特征在于,具备:
生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的单元;
以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的单元;
把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元;以及
判断所述组合电路与所述顺序电路的等价性的单元。
3.根据权利要求1或2所述的半导体LSI设计装置,其特征在于,
把所述组合电路转换为以分时方式多次使用功能块的顺序电路的单元是把所述组合电路转换为如下顺序电路的单元,
所述顺序电路具有:
运算顺序存储部,其存储附加所述功能块的运算顺序的单元所生成的运算顺序;
功能块群,其至少把在所述组合电路内所使用的功能块按照不同种类逐一并联连接;
存储器,其依次存储基于输入数据、功能块的运算结果;
存储器控制部,其读出存储在所述存储器中的数据,作为对所述功能块的输入;
输入选择器,其选择读出的所述数据,作为对所述功能块群的输入;
输出选择器,其选择所述功能块群的运算结果并存储至所述存储器;以及
运算执行控制部,其按照所述运算顺序来控制所述存储器控制部、所述输入选择器以及所述输出选择器。
4.根据权利要求2所述的半导体LSI设计装置,其特征在于,
判断所述组合电路与所述顺序电路的等价性的单元是向所述组合电路和所述顺序电路提供相同的输入信号并比较一定时间后的各电路的输出信号,如果针对全部输入模式比较结果为一致,则判断为等价的单元。
5.根据权利要求1或2所述的半导体LSI设计装置,其特征在于,
从所述功能块库选择要在转换为所述顺序电路的单元所输出的顺序电路HDL中使用的功能块。
6.根据权利要求1所述的半导体LSI设计装置,其特征在于,
该半导体LSI设计装置还具备:
为了在ASIC或FPGA中进行安装,针对转换为所述顺序电路的单元所输出的顺序电路HDL执行逻辑合成和配置布线的单元;以及
判断对所述顺序电路HDL执行所述逻辑合成和配置布线而生成的顺序电路网表的逻辑等价性的单元。
7.一种半导体LSI设计方法,其特征在于,具备:
生成根据应用程序规格组合在功能块库中所定义的功能块而构成的组合电路的步骤;
以在连接到输入引脚的功能块的运算结束后开始运算的条件,附加组合电路内的各功能块的运算顺序的步骤;
把所述组合电路转换为以分时方式多次使用功能块的顺序电路的步骤;
提取所述顺序电路的执行时的运算顺序的步骤;以及
判断对所述组合电路附加的运算顺序与提取出的所述运算顺序的一致的步骤。
8.根据权利要求7所述的半导体LSI设计方法,其特征在于,
该半导体LSI设计方法具备:
判断所述组合电路与所述顺序电路的等价性的步骤,以代替提取所述顺序电路的执行时的运算顺序的步骤、以及判断对所述组合电路附加的运算顺序与提取出的所述运算顺序的一致的步骤。
9.根据权利要求7所述的半导体LSI设计方法,其特征在于,
该半导体LSI设计方法还具备:
为了在ASIC或FPGA中进行安装,针对在转换为所述顺序电路的步骤中所输出的顺序电路HDL执行逻辑合成和配置布线的步骤;以及
判断对所述顺序电路HDL执行所述逻辑合成和配置布线而生成的顺序电路网表的逻辑等价性的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016118531A JP6663801B2 (ja) | 2016-06-15 | 2016-06-15 | 半導体lsi設計装置および設計方法 |
JP2016-118531 | 2016-06-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107526861A true CN107526861A (zh) | 2017-12-29 |
CN107526861B CN107526861B (zh) | 2020-11-17 |
Family
ID=59067493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710224087.4A Active CN107526861B (zh) | 2016-06-15 | 2017-04-07 | 半导体lsi设计装置以及设计方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10339242B2 (zh) |
EP (1) | EP3258401A1 (zh) |
JP (1) | JP6663801B2 (zh) |
CN (1) | CN107526861B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414029A (zh) * | 2018-04-27 | 2019-11-05 | 株式会社日立制作所 | 半导体lsi设计装置以及设计方法 |
CN111931450A (zh) * | 2020-08-11 | 2020-11-13 | 上海华力微电子有限公司 | 一种集成电路数字后端设计的方法和系统 |
CN113435145A (zh) * | 2020-03-23 | 2021-09-24 | 株式会社东芝 | 记录介质、运算方法以及运算装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240184965A1 (en) * | 2021-04-28 | 2024-06-06 | Nippon Telegraph And Telephone Corporation | Calculation resource control device and control method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197246A (zh) * | 1996-12-25 | 1998-10-28 | 日本电气株式会社 | 半导体集成电路器件的定位方法和实施该方法的设备 |
CN1536487A (zh) * | 2003-04-09 | 2004-10-13 | ���µ�����ҵ��ʽ���� | 仿真器设备及相关技术 |
CN101023439A (zh) * | 2004-09-21 | 2007-08-22 | 松下电器产业株式会社 | 半导体存储卡 |
CN101111834A (zh) * | 2004-11-30 | 2008-01-23 | 东京毅力科创株式会社 | 动态可重配置处理器 |
CN102855933A (zh) * | 2011-06-27 | 2013-01-02 | 三星电子株式会社 | 逻辑器件及具有该逻辑器件的半导体封装 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259545A (ja) * | 1998-03-11 | 1999-09-24 | Toshiba Corp | 半導体集積回路の動作合成方法及びその処理システム |
US6163876A (en) * | 1998-11-06 | 2000-12-19 | Nec Usa, Inc. | Method for verification of RTL generated from scheduled behavior in a high-level synthesis flow |
JP4029959B2 (ja) * | 2001-08-31 | 2008-01-09 | シャープ株式会社 | 演算器アロケーション設計装置および演算器アロケーション設計方法 |
US7076753B2 (en) * | 2003-12-18 | 2006-07-11 | Synopsys, Inc. | Method and apparatus for solving sequential constraints |
JP4371856B2 (ja) | 2004-03-04 | 2009-11-25 | 株式会社東芝 | 安全保護計装システムおよびその取扱方法 |
JP4208751B2 (ja) * | 2004-03-09 | 2009-01-14 | 三洋電機株式会社 | データフローグラフ処理装置。 |
JP4568143B2 (ja) * | 2005-02-28 | 2010-10-27 | 株式会社東芝 | 安全系装置の検証方法およびその検証方法で検証された安全系装置 |
US7284218B1 (en) * | 2005-03-18 | 2007-10-16 | Calypto Design Systems, Inc. | Method and system for inplace symbolic simulation over multiple cycles of a multi-clock domain design |
JP2007087215A (ja) * | 2005-09-22 | 2007-04-05 | Hitachi Ltd | ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム |
JP4500249B2 (ja) * | 2005-11-08 | 2010-07-14 | 富士通セミコンダクター株式会社 | 半導体集積回路の設計の方法および設計装置 |
JP4784368B2 (ja) * | 2006-03-29 | 2011-10-05 | 日本電気株式会社 | 等価性検証システム、動作合成装置、方法、及び、プログラム |
US7610567B2 (en) * | 2006-04-27 | 2009-10-27 | Achronix Semiconductor Corporation | Systems and methods for performing automated conversion of representations of synchronous circuit designs to and from representations of asynchronous circuit designs |
JP5001190B2 (ja) * | 2008-02-14 | 2012-08-15 | パシフィック・デザイン株式会社 | Lsi設計検証システム、lsi設計検証方法およびそのプログラム |
US8352505B1 (en) * | 2008-04-16 | 2013-01-08 | The Mathworks, Inc. | Identification of resource sharing patterns through isomorphic subtree enumeration |
JP2010257003A (ja) * | 2009-04-21 | 2010-11-11 | Sharp Corp | 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 |
JP5944358B2 (ja) * | 2013-09-10 | 2016-07-05 | 株式会社東芝 | 半導体集積回路の検証装置、半導体集積回路の検証方法、及び、プログラム |
-
2016
- 2016-06-15 JP JP2016118531A patent/JP6663801B2/ja active Active
-
2017
- 2017-04-07 CN CN201710224087.4A patent/CN107526861B/zh active Active
- 2017-06-07 EP EP17174833.8A patent/EP3258401A1/en not_active Ceased
- 2017-06-14 US US15/622,805 patent/US10339242B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197246A (zh) * | 1996-12-25 | 1998-10-28 | 日本电气株式会社 | 半导体集成电路器件的定位方法和实施该方法的设备 |
CN1536487A (zh) * | 2003-04-09 | 2004-10-13 | ���µ�����ҵ��ʽ���� | 仿真器设备及相关技术 |
CN101023439A (zh) * | 2004-09-21 | 2007-08-22 | 松下电器产业株式会社 | 半导体存储卡 |
CN101111834A (zh) * | 2004-11-30 | 2008-01-23 | 东京毅力科创株式会社 | 动态可重配置处理器 |
CN102855933A (zh) * | 2011-06-27 | 2013-01-02 | 三星电子株式会社 | 逻辑器件及具有该逻辑器件的半导体封装 |
Non-Patent Citations (1)
Title |
---|
HUBERT KAESTLIN: "《Digital Integrated Circuit Design》", 1 January 2008 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414029A (zh) * | 2018-04-27 | 2019-11-05 | 株式会社日立制作所 | 半导体lsi设计装置以及设计方法 |
CN110414029B (zh) * | 2018-04-27 | 2023-06-27 | 株式会社日立制作所 | 半导体lsi设计装置以及设计方法 |
CN113435145A (zh) * | 2020-03-23 | 2021-09-24 | 株式会社东芝 | 记录介质、运算方法以及运算装置 |
CN111931450A (zh) * | 2020-08-11 | 2020-11-13 | 上海华力微电子有限公司 | 一种集成电路数字后端设计的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107526861B (zh) | 2020-11-17 |
JP2017224128A (ja) | 2017-12-21 |
US20170364610A1 (en) | 2017-12-21 |
EP3258401A1 (en) | 2017-12-20 |
JP6663801B2 (ja) | 2020-03-13 |
US10339242B2 (en) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201562275U (zh) | 用于在物理验证期间管理违例和错误分类的设备 | |
CN107526861A (zh) | 半导体lsi设计装置以及设计方法 | |
CN114065677B (zh) | 用于集成电路硬件设计的故障注入测试的方法和系统 | |
US11010522B2 (en) | Efficient mechanism for interactive fault analysis in formal verification environment | |
CN109542711A (zh) | 自动模拟故障注入 | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
CN103853863A (zh) | Pdk自动测试界面实现方法 | |
JP2020149270A (ja) | 回路適正化装置及び回路適正化方法 | |
CN102855147B (zh) | 用于局部重配置模拟的方法和系统 | |
CN107506509A (zh) | 应用逻辑及其验证方法和构成方法 | |
US8281277B2 (en) | Signal selecting apparatus, circuit amending apparatus, circuit simulator, circuit emulator, method of signal selection and program | |
CN111079356B (zh) | 一种单粒子加固有效性系统级验证方法 | |
US10747920B2 (en) | Semiconductor LSI design device and design method | |
Ahmed et al. | Design verification enhancement of field programmable gate array-based safety-critical I&C system of nuclear power plant | |
McNelles et al. | Field programmable gate array reliability analysis using the dynamic flowgraph methodology | |
US9275175B2 (en) | Integrated circuit clock tree visualizer | |
US8751985B1 (en) | Hierarchical layout versus schematic (LVS) comparison with extraneous device elimination | |
CN116802640A (zh) | 用于确定安全相关逻辑中的故障类型的结构分析 | |
Drechsler et al. | Self-verification as the key technology for next generation electronic systems | |
Shimizu et al. | Open source hardware and EDA tools for analog/mixed-signal design and prototyping | |
Rizvi et al. | Implementation and verification of synchronous FIFO using system Verilog verification methodology | |
US9514258B2 (en) | Generation of memory structural model based on memory layout | |
CN112347723A (zh) | 基于版图的rom代码提取验证方法及装置 | |
Devarajegowda et al. | A mutually-exclusive deployment of formal and simulation techniques using proof-core analysis | |
US20090089723A1 (en) | Circuit design using a spreadsheet |
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 |