WO2006003702A1 - 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 - Google Patents
検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 Download PDFInfo
- Publication number
- WO2006003702A1 WO2006003702A1 PCT/JP2004/009340 JP2004009340W WO2006003702A1 WO 2006003702 A1 WO2006003702 A1 WO 2006003702A1 JP 2004009340 W JP2004009340 W JP 2004009340W WO 2006003702 A1 WO2006003702 A1 WO 2006003702A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- verification
- generated
- functional
- software
- Prior art date
Links
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/33—Design verification, e.g. functional simulation or model checking
Definitions
- Verification support device verification support method, verification support program, and recording medium
- the present invention relates to a verification support apparatus, a verification support method, a verification support program, and a recording medium that support LSI verification.
- SoCs system “on” chips
- FIG. 38 is a flowchart showing a conventional LSI development processing procedure.
- step S3801—step S38 05 is a design flow for designing LSI
- step S3806—step S3809 is a verification flow for verifying the designed LSI.
- step S3801 conceptual design is performed in step S3801.
- a designer creates a requirement specification 3810 in natural language based on a design request from a customer.
- a requirement specification 3810 written in a natural language is received from a customer.
- step S3802 functional design is performed.
- the LSI to be designed is divided into functional blocks from the contents described in the requirement specification 3810, and a functional specification 3820 describing the contents of each functional block is created.
- step S3803 a structural design is performed.
- hardware design is performed from the functional specification 3820 to create the structural specification 3830. Specifically Is to design what kind of architecture can be used to realize the functions described in the functional specification 3820.
- the architecture of a certain functional block is realized by software, and the architecture of a certain functional block is realized by purchasing IP (Intellectual Property).
- IP Intelligent Property
- the architecture of the block is created by the designer, and the architecture of a certain functional block is realized by the underbus.
- step S3804 unit design is performed.
- unit design a unit specification 3840 is created by dividing each hardware module described in the structural specification 3830 into multiple modules and designing in detail.
- step S3805 mounting is performed.
- RTL Registered Transfer Level
- HDL Hard Descripti on Language
- step S3806 unit verification is performed.
- unit verification according to unit verification item 3860, verification of unit specification 3840 for each unit designed by unit design, that is, debugging is performed.
- step S3807 joint verification is performed.
- the interface of each unit verified by unit verification is combined according to combined verification item 3870 to verify whether it operates normally.
- step S3808 functional verification is performed.
- functional verification verify whether the functional requirements of the system to be designed are satisfied according to functional verification item 3880.
- step S3809 actual machine verification is performed.
- LSI is actually mounted on the chip using RTL3850, and it is verified whether it actually operates. It is determined whether the requirement specification 3810 from the customer satisfies the requirement verification item 3890.
- step S3805 if the implementation (step S3805) is not performed, the LSI verification (steps S3806 S3809) cannot be performed.
- VCS simulation speed
- NC_Sim NC_Sim and other EDA vendor tools
- the present invention has been made in view of the above problems, and a verification support apparatus capable of easily and efficiently realizing improvement of LSI design accuracy and shortening of a verification period.
- An object is to provide a support method, a verification support program, and a recording medium on which the program is recorded.
- the verification support apparatus, the verification support method, the verification support program, and the recording medium on which the program is recorded are analyzed for the required specifications related to the design target of the LSI.
- Input analysis information indicating the result, and based on the input analysis information, the basic function of the design object is modeled, and the concept of the physical architecture and time of the design object is abstracted
- Generate and enter Based on the analyzed information, a function model is generated by dividing the modules constituting the design object and extracting the parallel or parallelism of the divided modules, and the generated function model
- it is characterized by verifying, based on the generated conceptual model, whether the module constituting the design object is divided and whether the parallel or parallelism of the divided modules is valid.
- information regarding a plurality of types of physical architectures also extracts information regarding an arbitrary architecture, and information regarding the extracted architecture is By mapping to a functional model that has been verified to be valid, an operation model that models the operation of the design object is generated, and a module that configures the design object modeled by the generated operation model It is characterized by verifying whether it is valid.
- the module when it is verified that the operation model is valid, the module is located at a place where the abstraction level between modules constituting the design object modeled by the functional model is different.
- An ICA model is generated by inserting an interface with a predetermined clock cycle accuracy between them, and whether the clock cycle accuracy of the interface inserted in the generated ICA model is valid is determined in the generated conceptual model. It is characterized by verifying based on.
- the software modeled to include a task executable by software based on the design object modeled by the functional model A feature is that a model is generated, and whether or not the task included in the generated software model is valid is verified based on the generated conceptual model.
- the verification support apparatus by introducing verification step by step, it is possible to design a problem that could not be found without generating an RTL until now.
- the risk can be avoided by removing it at an early stage. Therefore, it is possible to improve the LSI design accuracy and shorten the verification period easily and efficiently.
- FIG. 1 is a conceptual diagram of verification support that works on an embodiment of the present invention.
- FIG. 2 is a graph showing the abstraction level of each model shown in FIG.
- FIG. 3 is a block diagram showing a hardware configuration of a verification support apparatus according to an embodiment of the present invention.
- FIG. 4 is a block diagram showing a functional configuration of a verification support apparatus according to an embodiment of the present invention.
- FIG. 5 is a flowchart showing a verification support processing procedure of the verification support apparatus according to the embodiment of the present invention.
- FIG. 6 is a block diagram showing a hardware configuration of a system LSI including a design object that is relevant to the embodiment of the present invention.
- FIG. 7 is an explanatory diagram showing specifications of a bus that is an interface of an external device (timing chart at the time of writing).
- FIG. 8 is an explanatory diagram showing specifications of a bus that is an interface of an external device (timing chart at the time of reading).
- FIG. 9 is an explanatory diagram showing specifications of a transmitter that is an interface of an external device.
- FIG. 10 is an explanatory diagram showing specifications of a receiver that is an interface of an external device.
- FIG. 11 is an explanatory diagram showing a configuration of a packet transmitted / received by a CPU.
- FIG. 12 is an explanatory diagram showing a configuration of a transmission packet.
- FIG. 13 is an explanatory diagram showing a request item list of a system LSI which is a request definition.
- FIG. 14 is a use case diagram of a system LSI that is a requirement definition.
- FIG. 15 is an analysis class diagram of a system LSI that is a result of a requirement definition.
- FIG. 16 is a sequence diagram of a system LSI that is a result of a requirement definition.
- FIG. 17 is a design class diagram of a system LSI including a serial transmission / reception system.
- FIG. 18 is an explanatory diagram showing the implementation code of the conceptual model.
- FIG. 19 is an explanatory diagram showing verification items of a system LSI including a serial transmission / reception system.
- FIG. 20 is an explanatory diagram showing a verification scenario of a system LSI including a serial transmission / reception system.
- Ser 21 This is a flowchart showing the implementation code generation processing procedure for the functional model of the system LSI including the serial transmission / reception system.
- FIG. 18 is an explanatory diagram showing a divided design class diagram obtained by dividing the design class diagram shown in FIG.
- FIG. 23 is an explanatory diagram showing a communication path for connecting modules represented by a divided design class diagram.
- FIG. 24 is an explanatory diagram showing an example of generating an implementation code of a function model of a system LSI including a serial transmission / reception system.
- FIG. 25 is an explanatory diagram showing an example of a class diagram of an architecture model of a system LSI including a serial transmission / reception system.
- G-26 It is an explanatory diagram showing the mapping between the functional model and the architecture model.
- FIG. 27 is a flowchart showing an implementation code generation processing procedure for an operation model of a system LSI including a serial transmission / reception system.
- FIG. 29 is an explanatory diagram showing an example of adding the estimated processing time of each module to the implementation code.
- FIG. 32 is a structural diagram in which an interface wrapper is inserted into the communication path in the structural diagram shown in FIG.
- FIG. 33 is an explanatory diagram showing an example of the internal structure of an encoder module of an ICA model.
- FIG. 34 is an explanatory diagram showing an example of an implementation code of an encoder module of an ICA model
- FIG. 35 is a flowchart showing an implementation code generation processing procedure of a software model of a system LSI including a serial transmission / reception system.
- FIG. 36 is an explanatory diagram showing an example in which a part of the function model is mapped to the architecture model by software.
- FIG. 1 is a conceptual diagram of verification support that works on the embodiment of the present invention.
- the designer performs object-oriented analysis using UML (Unified Modeling Language) on the required specifications 100 from the system LSI customer including the design object, and models the analysis result as a conceptual model 101.
- UML Unified Modeling Language
- the conceptual model 101 is a model that represents a conceptual analysis result of a design target.
- the conceptual model 101 is a model that is completely independent of implementation. Specifically, the concept of physical architecture and time is abstracted and modeled around the basic functions of the design target.
- the conceptual model 101 is a result of modeling the analysis results of system LSI requirement specifications using UML or C ++, and includes all of the UML model, C ++ model, and verification scenario. It is a generic name. In this conceptual model 101, misunderstandings and mistakes in the requirement specification 100, or verification of the algorithm can be performed.
- the functional model 102 is a model constructed by extracting, from the conceptual model 101, the division of the modules constituting the system LSI that is the design target, and the parallelism or parallelism of the divided modules. .
- the functional model 102 has no concept of time. With this functional model, it is possible to verify the correctness of module division, parallelism I, and the accuracy of concurrency.
- the architecture model 103 is a model representing physical hardware components of an existing design such as a bus or IP (Intellectual Property). Specifically, the architecture model 103 is roughly divided into processing resources and communication resources.
- the processing resource is a model for mapping the function model 102 module. For example, hardware processing module, processor, RT ⁇ S, DSP, etc.
- the communication resource is a model obtained by modeling a channel for realizing communication between modules of the function model. For example, signal lines between buses, memories, and hardware modules. Since this architecture model 103 uses physical hardware parts of an existing design, it is not necessary to perform verification.
- the operation model 104 is a result of conceptually mapping the function model 102 to the architecture model 103. Specifically, the process of the function model 102 is mapped to the processing resource of the architecture model 103, and the communication channel of the function is assembled using the communication resource. In this behavior model 104, it is possible to verify whether or not the behavior (performance) requested by the customer is satisfied.
- the operation model 104 is divided into HWZSWs, and an ICA (Interface Cycle Accurate) model 105 representing hardware implementation and a software model 106 representing software implementation are generated.
- ICA Interface Cycle Accurate
- the ICA model 105 is a model constructed by the cycle accuracy for the interface outside the module and the operation level inside the module.
- An RTL description 107 is generated by high-level synthesis of the ICA model 105.
- the ICA model 105 can verify the accuracy of the interface.
- the software model 106 is a model that divides the tasks of the software that configures the system LSI including the design target and executes it on the virtual OS. By executing code generation processing for the software model 106, the implementation code 108 is generated. In this software model 106, the function of the software can be verified.
- Fig. 2 is a graph showing the abstraction level of each model 101-106 shown in Fig. 1.
- the graph in Fig. 2 consists of three axes centered on the origin. Each axis represents the abstraction level of “function”, the abstraction level of “structure”, and the abstraction level of “time”, and the abstraction level increases as the distance from the origin increases.
- FIG. 3 is a block diagram showing the hardware configuration of the verification support apparatus which is particularly useful for the embodiment of the present invention.
- the verification support apparatus includes a CPU 301, a ROM 302, a RAM 303, an HDD (hard disk drive) 304, an HD (node disk) 305, and an FDD (flexible disk).
- a CPU 301 central processing unit 301
- ROM 302 read-only memory
- RAM 303 random access memory 303
- HDD hard disk drive
- HD node disk
- FDD flexible disk
- FD flexible disk
- display 308 I / F (interface) 309
- keyboard 310 keyboard 310
- mouse 311 scanner 312
- printer And 313 printer And
- the CPU 301 governs overall control of the verification support apparatus.
- the ROM 302 takes care of programs such as a boot program.
- the RAM 303 is used as a work area for the CPU 301.
- the HDD 304 controls reading / writing of data with respect to the HD 305 according to the control of the CPU 301.
- the HD 305 stores data written under the control of the HDD 304.
- the FDD 306 controls reading / writing of data with respect to the FD 307 in accordance with the control of the CPU 301.
- the FD 307 stores data written under the control of the FDD 306, and causes the verification support apparatus to read data stored in the FD 307.
- the power of FD307, CD-ROM (CD_R, CD-RW), M0, DVD (Digital Versatile Disk), memory card, etc. may be used.
- the display 308 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box.
- a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.
- the I / F 309 is connected to a network such as the Internet through a communication line, and is connected to another device through this network.
- the I / F 309 controls a network and an internal interface, and controls data input / output from an external device.
- a modem or a LAN adapter can be used as the I / F 309.
- the keyboard 310 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. It can also be a touch panel input pad or numeric keypad.
- the mouse 311 is used to move the cursor, select a range, move the window, and change the size. If it has the same function as a pointing device, it can be a trackball or joystick.
- the scanner 312 optically reads an image and takes in the image data into the verification support apparatus.
- the scanner 312 may have an OCR function.
- the printer 313 Print image data and document data.
- FIG. 4 is a block diagram showing a functional configuration of the verification support apparatus according to the embodiment of the present invention.
- the verification support apparatus 400 includes an analysis information input unit 401 and a conceptual model generation unit.
- the analysis information input unit 401 receives input of information (analysis information) indicating an analysis result of a required specification from a system LSI customer including a design target.
- the analysis information includes, for example, information that can be read by a computer, such as a use case diagram, a sequence diagram, a class diagram of a design object described in UML, and basic function items required for the design object.
- the conceptual model generation unit 402 models the basic function of the design target based on the analysis information input by the analysis information input unit 401, and also determines the physical architecture and time of the design target.
- a conceptual model in which the concept is abstracted, that is, the conceptual model 101 shown in FIG. 1 is generated.
- the conceptual model generation unit 402 analyzes analysis information such as use case diagrams, and implements the design target implementation code, items to be verified (verification items), and verification by circuit simulation. A verification scenario indicating the processing procedure is generated.
- the generated implementation code, verification items, and verification scenario are the conceptual model 101 shown in FIG.
- the function model generation unit 403 extracts the division of the modules constituting the design object and the parallel or parallelism of the divided modules based on the analysis information input by the analysis information input unit 401. By doing so, a modeled functional model is generated. For example, a function that represents the function to be designed based on a class diagram that is analysis information Generate a model.
- the class diagram input to the conceptual model generation unit 402 is divided into a plurality of functions, and an implementation code is generated for each divided class diagram (divided class diagram).
- the generated implementation code for each divided class diagram is the function model 102 shown in FIG.
- the functional model verification unit 404 determines whether the division of the modules constituting the design target and the parallel or parallelism of the divided modules are valid. The verification is performed based on the conceptual model generated by the conceptual model generation unit 402.
- the simulation result power of the implementation code for each divided class diagram By determining whether the implementation code of the conceptual model matches the simulation result simulated in the verification scenario of the conceptual model, Verify correctness.
- the simulation result is what kind of output data can be obtained for certain input data.
- the functional model generation unit 403 corrects the implementation code of the functional model.
- the architecture information storage unit 405 stores information related to physical hardware components of an existing design such as a bus and IP (Intellectual Property). Specifically, the architecture information storage unit 405 realizes its function by, for example, the ROM 302, RAM 303, HD 305, FD 307, etc. shown in FIG.
- the architecture information extraction unit 406 extracts the architecture information stored in the architecture information storage unit 405. For processing resources, for example, hardware processing modules, processors, RTOS, and DSP are extracted. On the other hand, for communication resources, signal lines between buses, memories, and hardware modules are extracted.
- the architecture information power extracted by this architecture information extraction unit 406 corresponds to the architecture model 103 shown in FIG.
- the behavior model generation unit 407 includes the key extracted by the architecture information extraction unit 406. By mapping the information about the architecture to the function model verified by the function model verification unit 404, an operation model that models the operation of the design object is generated.
- the functional model 102 is mapped to the architecture model 103 to generate the behavior model 104 to be designed.
- the process of the function model 102 is mapped to the processing resource of the architecture model 103, and the communication channel of the function is assembled using the communication resource.
- an implementation code that takes into account the processing time of the module obtained by mapping is generated.
- the generated implementation code corresponds to the behavior model 104 shown in FIG.
- the behavior model verification unit 408 verifies whether the operation timing of the module constituting the design target modeled by the behavior model generated by the behavior model generation unit 407 is valid.
- the simulation result power S of the implementation code generated by the behavior model generation unit 407 whether the implementation code of the conceptual model matches the simulation result simulated in the verification scenario of the conceptual model The validity of the behavior model is verified.
- the simulation result means what kind of output data can be obtained for a certain input data.
- the behavior model generation unit 407 modifies the implementation code of the behavior model.
- the ICA model generation unit 409 includes the module at a place where the abstraction level between the modules constituting the design target modeled by the functional model is different.
- An ICA model is generated by inserting an interface with a predetermined clock cycle accuracy in between.
- the operation model 104 is subjected to HW / SW partitioning, and an ICA model 105 representing a hardware implementation is generated.
- an ICA model 105 representing a hardware implementation is generated. For example, if the abstraction level between modules is different, the module level shown in the class diagram is set so that the abstraction level between the modules is equivalent. Replace the communication path between modules with an interface wrapper.
- the implementation code of the class diagram replaced with the interface wrapper is generated.
- the generated implementation code is the ICA model 105 shown in Fig. 1.
- the RTL description 107 can be generated by high-level synthesis of the implementation code of the ICA model 105.
- the ICA model verification unit 410 includes an ICA model generated by the ICA model generation unit 409.
- the result of simulation of the implementation code generated by the ICA model generation unit 409 Determines whether the implementation code of the conceptual model matches the simulation result simulated in the verification scenario of the conceptual model By doing so, the validity of the functional model is verified.
- the simulation result means what kind of output data can be obtained for a certain input data.
- the ICA model is valid. Specifically, the interface represented by the replaced interface wrapper is accurate. On the other hand, if there is a mismatch, the replaced interface wrapper will be inaccurate. In this case, the IC A model generation unit 409 corrects the implementation code of the ICA model.
- the software model generation unit 411 includes a task that can be executed by software based on the design object modeled by the functional model. Generate a modeled software model.
- the operation model 104 is subjected to HW / SW partitioning to generate a software model 106 (see FIG. 1) representing the software implementation.
- a software model 106 representing the software implementation.
- the task that divides the software that constitutes the system LSI including the design object is divided, and the implementation code that can be executed on the virtual S is generated.
- the software model verification unit 412 determines whether the task power included in the software model generated by the software model generation unit 411 is valid based on the conceptual model generated by the conceptual model generation unit 402. Validate. [0074] Specifically, it is determined whether the simulation result power S of the implementation code generated by the software model generation unit 411 matches the simulation result obtained by simulating the implementation code of the conceptual model in the verification scenario of the conceptual model. To verify the validity of the software model 106.
- the simulation result means what kind of output data can be obtained with respect to certain input data.
- the function represented by the implementation code of the software model 106 is valid. Then, the implementation code 108 (see FIG. 1) for the entire design object is generated by incorporating the implementation code of the software model 106. On the other hand, in the case of a mismatch, the function represented by the implementation code of the software model 106 becomes inaccurate. In this case, the software model generation unit 411 corrects the software model implementation code.
- analysis information input unit 401 the conceptual model generation unit 402, and the functional model generation unit described above.
- the function is realized by the CPU 301 executing the program recorded in the R0M302, RAM303, HD305, FD307, etc. shown in Fig. 3 or by the I / F309. To do.
- FIG. 5 is a flowchart showing a verification support processing procedure of the verification support apparatus according to the embodiment of the present invention.
- the designer analyzes the required specification 100 from the system LSI customer including the design target, and inputs analysis information representing the analysis result (step S501).
- step S502 based on the input analysis information, conceptual models such as the implementation code of the design object, items to be verified (designation items) for the design object, and verification scenarios that show the verification processing procedure by circuit simulation 101 is generated (step S502). The designer verifies the validity of the generated conceptual model 101.
- a function demole 102 to be designed is generated (step S503). Specifically, The class diagram input to the justice model generation unit 402 is divided into a plurality of functions for each function, and the implementation code of the function model 102 is generated for each divided class diagram (divided class diagram).
- step S504 the implementation code of the conceptual model 101 and the implementation code of the functional model 102 are simulated.
- step S505 it is determined whether the simulation result of the implementation code of the conceptual model 101 matches the simulation result of the implementation code of the functional model 102, that is, the functional model is verified (step S505).
- step S506 the function model 102 is corrected (step S506). Specifically, for example, the class diagram of the conceptual model 101 is divided again to generate a divided class diagram, and an implementation code is generated for each divided class diagram. Then, the process proceeds to step S5 04.
- step S505 if they match (step S505: Yes), it is determined that the function model 102 is valid. Then, the architecture model 103 is mapped to the verified function model 102 whose validity has been verified to generate the operation model 104 (step S507). Then, the implementation code of the operation model 104 is simulated (step S508).
- step S509 it is determined whether the simulation result of the implementation code of the conceptual model 101 and the simulation result of the implementation code of the behavior model 104 match, that is, behavior model verification is performed (step S509).
- step S510 the behavior model 104 is corrected (step S510). Specifically, for example, the architecture information is extracted again from the architecture information storage unit 405, and the new architecture model 103 is mapped to the verified function model 102 whose validity has been verified. Is generated. Then, the process proceeds to step S5 08.
- step S509 Yes
- HWZSW division is performed on the verified operation model 104 whose validity has been verified, and an ICA model 105 and a software model 106 are generated (step S511, step S516).
- step S512 the generated implementation code of the ICA model 105 is simulated.
- step S512 the simulation results of the implementation code of conceptual model 101 and the ICA model Judgment is made as to whether the simulation results of the Dell 105 implementation code match, that is, the ICA model is verified.
- step S513 No
- the ICA model 105 is corrected (step S514).
- the ICA model 105 is modified by changing the contents of the interface wrapper. Then, the process proceeds to step S512.
- step S513 Yes
- step S513 high-level synthesis is performed (step S515), and an RTL description is generated.
- step S517 a simulation of the generated implementation code of the software model 106 is performed.
- step S528 it is determined whether the simulation result of the implementation code of the conceptual model 101 and the simulation result of the implementation code of the software model 106 coincide with each other, that is, software model verification is performed (step S518).
- step S518 No
- the software model 106 is corrected (step S518).
- the software component that constitutes the system LSI including the design target is divided again to generate the implementation code that can be executed on the virtual OS.
- step S518 Yes
- step S518 Yes
- verification is performed step by step for each model. Therefore, a model verified up to immediately before can be used as an effective model without performing verification again. Therefore, no rework occurs in the verification process, and the efficiency of the verification process can be improved.
- the force to execute the processing procedure j up to step S511 515 and the processing procedure up to step S516 520 in parallel is executed after the processing procedure up to step S511 515.
- the processing procedure up to steps S516-520 may be executed, and the processing procedure up to steps S511-515 may be executed after the processing procedure up to steps S516-520.
- FIG. 6 is a block diagram showing a hardware configuration of a system LSI including a design object that is relevant to the embodiment of the present invention.
- This design object is, for example, information obtained from a customer for design work.
- the design object is described as a serial transmission / reception system.
- a system LSI 600 connects a serial transmission / reception system 601, a receiver 602, a transmitter 603, a CPU 604, and other devices 605, which are listed as examples of design objects. And bus 606.
- the receiver 602 receives the received packet 611 and supplies it to the serial transmission / reception system 601.
- the transmitter 603 transmits information supplied from the serial transmission / reception system 601 to an external device (not shown) as a transmission packet 612.
- the serial transmission / reception system 601 performs encoding and decoding with BCH (62, 48).
- the received packet 611 from the receiver 602 is decoded, and the decoded packet 613 is supplied to the CPU 604. Also, the packet 614 from the CPU 604 is encoded.
- the CPU 604 executes the function of the system LSI 600 together with the other device 605 using the packet 613 from the serial transmission / reception system 601.
- FIG. 7 and FIG. 8 are explanatory diagrams showing specifications of a bus that is an interface of an external device.
- FIG. 7 is a timing chart at the time of writing
- FIG. 8 is a timing chart at the time of reading.
- PCLK is an input clock signal having a bit width of 1.
- PAD DR is an address output signal with a bit width of 32.
- PWRITE is a read Z write control output signal with a bit width of 1.
- PSEL is a chip select output signal with a bit width of 1.
- PENABLE is an output enable signal with a bit width of 1.
- PRDATA is a data input / output signal having a bit width of 32.
- FIG. 9 is an explanatory diagram showing specifications of the transmitter 603 that is an interface of the external device.
- “clk” is an input clock signal having a bit width of 1.
- “ISTART” is a start pulse input signal with a bit width of 1.
- IDATA is a data input signal with a bit width of 1.
- the input specification from the serial transmission / reception system 601 to the transmitter 603 is such that the transmitter 603 captures data one bit at each positive edge of the clock at the same time as detecting the i-clock pulse of the start pulse input signal.
- the input clock frequency is 100 MHz.
- FIG. 10 is an explanatory diagram showing the specifications of the receiver 602 that is an interface of the external device.
- clk is an output clock signal having a bit width of 1.
- OSTART is a start pulse output signal with a bit width of 1.
- ⁇ DATA is a data output signal with a bit width of 1.
- the basic functions required for the serial transmission / reception system 601 are (1) a packet transmission function, (2) a packet reception function, and (3) an initialization function.
- a packet discard function that notifies the CPU 604 of an error and discards the transmitted packet 612 when the processing is not in time when a large number of packets 614 are continuously transmitted from the CPU 604.
- a packet discard permission function that allows the received packet 611 to be discarded if a large amount of received packets 611 are sent from the receiver 602 and the processing is not in time.
- FIG. 11 shows ⁇ ? 11 is an explanatory diagram showing a configuration of packets 613 and 614 transmitted and received by 11604
- FIG. 12 is an explanatory diagram showing a configuration of a transmission packet 612.
- packets 613 and 614 are composed of a 16-bit header part 1101 and a 32-bit data part 1102.
- the header part 1101 is a packet identification number (10101010101010) 2.
- a transmission packet 612 is a 14-bit redundant code encoded with BCH (62, 48) in the 16-bit header portion 1101 and 32-bit data portion 1102 shown in FIG.
- the unit 1201 is added.
- the received packet 611 has a configuration in which an error bit by a communication path is further added to the configuration of the transmission packet 612.
- the contents of the information shown in FIGS. 6 to 12 are the required specifications 100 required by the customer.
- FIG. 13 is an explanatory diagram showing a request item list of the system LSI 600 that is a requirement definition
- FIG. 14 is a use case diagram of the system LSI 600 that is a requirement definition.
- this system LSI 600 indicates that “maximum double error correction of received packets” (item 1301) and “up to four errors in received packets can be detected.
- Item 1302 “Received packets can be received via the receiver” (Item 1303), “Received packets can be decoded with BCH (60, 48)” (Item 1304), “Can be initialized from CPU” (Item 1305), “Reset signal power can also be initialized” (Item 1306), “Transmission packet can be transmitted via transmitter” (Item 1307), “Transmission packet is signed with BCH (62, 48)” The function of “I can do it” (item 1308) is required.
- the use case diagram 1400 shown in FIG. 14 is a diagram describing the functions required by the request item list 1300 shown in FIG. 13, and is described according to UML. .
- the serial transmission / reception system 601 shown in FIG. 6 has functions “receive packet”, “initialize”, and “transmit packet” represented by use cases 1401-1403.
- the CPU 1411, the reset signal 1412, the receiver 1413, and the transmitter 1414 are illustrated as actors related to the serial transmission / reception system 601.
- the use case 1401 receives a packet from the actor 1413.
- the received packet is transmitted to the actor 1411.
- Use case 1402 is initialized from actor 1411 and actor 1412.
- use case 1403 receives an actor 1411 power packet and sends it to actor 1414.
- FIG. 15 is an analysis class diagram of the system LSI 600 that is a requirement-defined result
- FIG. 16 is a sequence diagram of the system LSI 600 that is a requirement-defined result.
- the analysis class diagram 1500 shown in FIG. 15 includes a ⁇ control> class 1501 for managing data procedures necessary for the serial transmission / reception system 601 and processing unique to the system in the serial transmission / reception system 601. Entity> class 1502 1508 is described.
- the ⁇ control >> class 1501 represents a serious transmission / reception system 601.
- the ⁇ control >> class 1501 serial transmission / reception system 601 also transmits a packet with the actor 1414 (transmitter 603) power.
- ⁇ entity >> class 1502 transmission packet 612
- ⁇ entity >> class 1503 reception packet 611
- initialization from actor 1412 reset signal
- a packet is received from the actor 1413 (receiver 602) that received the ⁇ entity> class 1503 (receive packet 611).
- ⁇ entity >> class 1502 (transmission bucket 612) is ⁇ 6 >> class 1504 (packets 613, 614) and ⁇ entity >> class 1505 (redundant code part) 1201).
- the ⁇ entity> class 1503 (received packet 611) is a collection of ⁇ 6 >> class 1505 (redundant code part 1201) and ⁇ entity >> class 1506 (error bit).
- ⁇ 6 >> class 1504 (packets 613, 614) is an aggregation of ⁇ entity >> class 1507 (header part 1101) and ⁇ entity >> class 1508 (data part 1102).
- sequence diagram 1600 shown in Fig. 16 shows an operation when a packet is normally transmitted.
- sequence diagram 1600 in order of sequence number, that is, sequence number 1 ⁇ 0 (“create packet ()”) ⁇ sequence number 1.1 (“receive packet 0”), ⁇ sequence number 1 ⁇ 2 (“Sign packet ()”) ⁇ Sequence number 1 ⁇ 3 (“Create transmission packet ()”), Sequence number 1 ⁇ 4 (“Send transmission packet ()”) Indicates that transmission processing is to be performed.
- FIG. 17 is a design class diagram of a system LSI including a serial transmission / reception system.
- class 1701 is a class name 1702 in which the name "ECC_SIO" indicating a serial transmission / reception system is described, and an attribute 1703 (member variable) indicating the static properties of class 1701 And an operation 1704 (member function) indicating the dynamic properties of the class 1701. Operation 1704 works with class 1705 indicating CPU and class 1706 indicating sign.
- the implementation code of the conceptual model 101 is generated.
- Figure 17 shows the implementation code of Conceptual Model 101. A description example is shown.
- FIG. 18 is an explanatory diagram showing the implementation code 1800 of the conceptual model 101. This implementation code 1800 is modeled by the C ++ language.
- FIG. 19 is an explanatory diagram showing verification items of the system LSI including the serial transmission / reception system.
- the target use case is focused on the use case 1401 shown in FIG.
- the “basic path” of the item “sequence” indicates normal packet transmission processing, that is, processing up to sequence numbers 1.0 to 1.1 shown in FIG. is doing.
- FIG. 20 is an explanatory diagram showing a verification scenario of a system LSI including a serial transmission / reception system.
- This verification scenario 2000 is generated using the sequence diagram 1500 shown in FIG. 15 and the verification item 1900 shown in FIG.
- the specification error detected by the simulation using the verification scenario 2000 will be described with an example. If a verification result indicating that the CPU is always notified of an error is obtained, the serial transmission / reception system was put into an error state when a packet reception error occurred. A specification error that causes the error state to remain is detected. Therefore, as a correction process, the error status of the serial transmission / reception system is cleared after the CPU receives an error. This eliminates specification errors.
- FIG. 21 is a flowchart showing the implementation code generation processing procedure of the function model of the system LSI including the serial transmission / reception system.
- the processing procedure shown in FIG. 21 shows the detailed processing procedure of the processing step shown in step S503 of FIG.
- FIG. 22 is an explanatory diagram showing a divided design class diagram obtained by dividing the design class diagram shown in FIG.
- the design class diagram shown in FIG. 17 is related to the split design class diagram 2210 for the top module, the split design class diagram 2220 for the controller module, the split design class diagram 2230 for the encoder module, and the decoder module in FIG. This is divided into the split design class diagram 2240.
- FIG. 23 is an explanatory diagram showing a communication path that connects modules represented by a divided design class diagram.
- the top module 2301 f has a port 2311 and 2315.
- This port 2311 1 2 315 is described in the attribute 2211 of the division design class diagram 2210 for the top module. Specifically, port 2311 indicates “packet_i: sc_fifo_in ⁇ Packet>”, and is an input port for inputting a packet “Packet>” from the CPU.
- Port 2312 is
- packet_o sc_fifo_out ⁇ Packet> ”, which is an output port that outputs Packet> to the CPU.
- Port 2313 indicates “error_o: sc_fifo_out ⁇ ERR_TYPE>”, and is an output port that outputs error type information “ERR_TYPE>” to the CPU.
- port 231 i “encoded_packet_o: sc_fifo_out ⁇ EncodedPacket>” is shown, which is an output port for outputting an encoded packet.
- Port 2315 indicates “received_packet_i: sc_fifo_in ⁇ ReceivedPacket>”, and is an input port for inputting a packet KReceivedPacket> received from the outside.
- the controller module 2302f has ports 2321 and 1327. This port 232 1-1 2327 is described in attribute 2 221 of the divided design class diagram 2220 related to the controller module 2302. Specifically, port 2321 indicates “cpu_packet_i: sc_fifo_in ⁇ Packet>”, and is an input port for inputting a packet “Packet>” from the CPU. Port 23 22 indicates “cpu_packet_o: sc_fifo_out ⁇ packet>”, and is an output port that outputs packet “packet>” to the CPU.
- Port 2323 indicates “error_o: s fifo_out ⁇ ERR_TYPE>” and is an output port that outputs error type information “ERR_TYPE>” to the CPU.
- Port 2324 indicates “encoder_packet_o: sc_fifo_out ⁇ Packet>”, and is an output port for outputting the packet “Packet>” to the encoder module.
- Port 2325 indicates “encoder_status_i: sc_fifo_in ⁇ bool>”, and is an input port for inputting status information “bool>” of the encoder module 2303.
- Port 2326 indicates “encoder_status_i: sc_fifo_in ⁇ bool>” and is an input port for inputting status information “bool>” of the encoder module 2303.
- decoder_packet_i sc_fifo_in ⁇ packet> ”, which is an input port for inputting a packet packet> from the decoder module.
- Port 2327 indicates “decoder_error_i: sc_fifo_in ⁇ ERR_TYPE>” and is an input port for inputting error type information “ERR_TYPE>” from the decoder module.
- the encoder module 2303f is provided with ports 2331 and 2333.
- This port 233 1 1 2333 is described in attribute 2 231 of the division design class diagram 2230 for the encoder module 2303.
- port 2331 indicates “packet_i: sc_fifo_in_if packet>”, and is an input port for inputting packet packet.
- Port 2332 is
- EncodedPacket> J which is an output port for outputting the packet KEncodedPacke encoded by the encoder module 2303.
- the decoder module 2304 has ports 2341 to 2343.
- the ports 2341 to 2343 are described in the attribute 2241 of the division design class diagram 2240 regarding the decoder module 2304. Specifically, port 2341 indicates “packet_o: sc_fifo_out ⁇ Packet>”, and is an output port that outputs packet ⁇ Packet>.
- Port 2342 indicates “packet_o: sc_fifo_out ⁇ Packet>”, and is an output port that outputs packet ⁇ Packet>.
- error_o sc_fifo_out ⁇ ERR_TYPE>
- ERR_TYPE> is an output port that outputs error type information ERR_TYPE>.
- Port 2343 indicates “packet_i: sc_fifo_in ⁇ ReceivedPacket>”, and is an input port for inputting a received packet “ReceivedPacket>”.
- This communication channel 2351-2359f is a communication channel that performs communication using the FIFO method.
- Step S2103 a function model implementation code is generated ( Step S2103).
- Step S2103 an example of generating the implementation code of the functional model of the system LSI including the serial transmission / reception system is explained.
- FIG. 24 is an explanatory diagram showing an example of generating an implementation code of a function model of a system LSI including a serial transmission / reception system.
- FIG. 24 shows an implementation code 2400 of the encoder module 2303 generated by the split design class diagram 2230 force relating to the encoder module 2303.
- implementation codes are also generated for the divided design class diagram 2210 for the top module, the divided design class diagram 2220 for the controller module 2302, and the divided design class diagram 2240 for the decoder module 2304, respectively. Then, in step S504 of FIG. 5, the simulation of the implementation code of each divided design class diagram 2210-2240 is executed.
- step S505 of Fig. 5 the simulation result and the simulation result of the implementation code of the conceptual model are checked for coincidence. If they match (step S505: Yes), The module division shown is valid, and the parallelism and concurrency of the module division are correct.
- step S505 if they do not match (step S505: No), the module division shown in Fig. 22 is not valid, and it is assumed that the module division parallel IJ and concurrency are incorrect. At this point, the implementation code generated in step S2103 in Fig. 21 is corrected. With this functional model verification, it is possible to confirm that the verification result is the same as that of the conceptual model.
- FIG. 25 is an explanatory diagram showing an example of a class diagram of a system LSI architecture model including a serial transmission / reception system.
- the architecture model is a model that represents physical hardware parts of an existing design such as a bus or IP.
- the bus model is represented.
- the architecture model is basically prepared in advance and provided as a verified library. In Fig. 25, the verified bus model is described. In this way, this architecture model uses physical hardware parts of an existing design, so There is no need to witness.
- FIG. 26 is an explanatory diagram showing the mapping between the functional model and the architecture model.
- the functional model 2600 receives the packet received from the outside, decodes it, and supplies it to the controller 2603.
- the controller 2 603 outputs the decoded packet to the encoder 2604, and the encoder 2604 encodes the packet.
- Architecture model 2610 is a model that represents physical hardware components of existing designs such as buses and IP.
- processor 2611 memory 2612, external input 1 / F2613, external output I / F2614, Hardware 2616, hardware 2616, hardware 2617, and a bus 2618 connecting them.
- the functional model 2600 is mapped to this architecture model 2610. Specifically, the decoder 2602 is mapped to the hardware 2615, the controller 2603 is mapped to the hardware 2 616, and the encoder 2604 is mapped to the hardware 2617.
- the contents described with reference to FIG. 25 and FIG. 26 are contents corresponding to the processing step shown in step S507 of FIG.
- FIG. 27 is a flowchart showing the implementation code generation processing procedure of the operation model of the system LSI including the serial transmission / reception system.
- the processing procedure shown in FIG. 27 shows the detailed processing procedure of the processing step shown in step S507 of FIG.
- FIG. 28 is an explanatory diagram showing a divided design class diagram 2210 in which the description in the attribute 2211 is replaced with the description of the bus model.
- the communication path has been replaced from the FIFO description to the bus model description in the underlined description.
- a functional model implementation code is generated from the divided design class diagram 2210 2240 replaced with the bus model description (step S2702). Then, the estimated processing time for each module is added to the generated function model implementation code (step S2703).
- FIG. 29 is an explanatory diagram showing an example of adding the estimated processing time of each module to the implementation code.
- the estimated processing time of the decoder 2602 and encoder 2 604 is 600 [ns] according to the chart 2900 shown in Fig. 29, the implementation code of the functional model (for example, implementation code 2400 shown in Fig. 24) Add the description 2901 related to processing time shown in Figure 2900.
- the behavior model mounting code 2902 is generated.
- step S508 in FIG. 5 a simulation of the behavior model mounting code 2902 is executed.
- step S508 of Fig. 5 the simulation result and the simulation result of the implementation code of the conceptual model are determined to match. If they match (step S509: Yes), the implementation code of the behavior model 2902 The result of the simulation is that all the required items 1301-1308 in the required item list 1300 shown in Fig. 13 are satisfied, and the mapping between the functional model and the architecture model is valid.
- step S509 No
- the simulation result power of the implementation code 2902 of the behavior model All the required items 1301 to 1308 in the required item list 1300 shown in Fig. 13 are satisfied. Therefore, the mapping between the functional model and the architecture model is not correct.
- step S510 of FIG. 5 the modification processing of the behavior model mounting code 2902 is performed. As a result, it is possible to verify whether or not the operation (performance) requested by the customer is satisfied.
- FIG. 30 is a flowchart showing the implementation code generation processing procedure of the ICA model of the system LSI including the serial transmission / reception system.
- the processing procedure shown in FIG. 30 shows the detailed processing procedure of the processing step shown in step S511 of FIG.
- the ICA model is a model constructed with the cycle accuracy for the interface outside the module and the operation level inside the module. RTL description is generated by high-level synthesis of this ICA model. This ICA model can verify the accuracy of the interface.
- FIG. 31 is a structural diagram showing a functional model in which a communication path of a system LSI including a serial transmission / reception system is determined.
- the serial transmission / reception system divides the design class diagram shown in FIG. 17 into parallel and parallel modules (see step S2101 in FIG. 21).
- This is a system in which a CPU module 3101, a transmitter module 3102, a receiver module 3103 and a power FIFO type communication path 3111-3115 are connected.
- the inside of the top module 2301 has the same contents as the structural diagram shown in FIG. From the connection relationship of these modules, the communication path that communicates between modules with different abstraction levels is detected.
- FIG. 32 is a structural diagram in which an interface wrapper is inserted into the communication path in the structural diagram shown in FIG.
- the communication path 3114 between this module 2302 and 3102 is inserted into the interface wrapper 3201, and the top module Convert the extraction level of Eunoré 2301.
- the interface wrapper 3201 includes a transaction level interface 3202 connected to the transaction level port 3102a of the transmitter module 3102 and two signal level reports 3203 and 3204 connected to the top module 2301. The this Therefore, the port 2314 of the transaction level is replaced with the transmission level report 3210, 3211.
- the transaction level ports 2331 and 2333 of the encoder module 2303 inside the top module 2301 can be replaced with the signal level ports 3212 and 3216 ⁇ .
- the transaction level ports 2 324 and 2325 of the controller module 2302 are also converted to the signal level ports 3217 to 3219 (which are converted).
- FIG. 33 is an explanatory diagram showing an example of the internal structure of the encoder module of the ICA model.
- an encoder module 3300 of the ICA model is provided with an encoder 2303 and ports 2331 and 1333 shown in FIG. Then, in order to enable communication between the ports 2331 and 2332 and the ports 3212 to 3214, various wrappers and port force S are inserted. Similarly, various wrappers and ports are inserted to enable communication between the port 2333 and the ports 3215 and 3216.
- FIG. 34 is an explanatory diagram showing an example of an implementation code of the encoder module 3300 of the ICA model.
- step S512 of FIG. 5 a simulation of the implementation code 3400 of the ICA model is executed.
- step S513 in Fig. 5 the simulation result of the implementation code 3400 of the ICA model is matched with the simulation result of the implementation code of the conceptual model. If they match (step S513: Yes), simulation result power S of ICA model implementation code 3400, all requirement items 1301 to 1308 in the requirement item list 1300 shown in Fig. 13 are satisfied, and interface wrapper insertion is valid It will be.
- Step S513 No
- the simulation result power of the implementation code 3400 of the ICA model All the required items 1301 to 1308 in the required item list 1300 shown in Fig. 13 are satisfied. Therefore, the interface wrapper is not properly purchased.
- step S514 shown in Fig. 5 the ICA model implementation code 3400 is modified.
- the correct process will be performed. As a result, the accuracy of the interface can be verified.
- FIG. 35 is a flowchart showing the implementation code generation processing procedure of the software model of the system LSI including the serial transmission / reception system.
- the processing procedure shown in FIG. 35 shows the detailed processing procedure of the processing step shown in step S516 in FIG.
- the software model is a model that divides the tasks of the software constituting the system LSI including the serial transmission / reception system and executes them on the virtual S.
- a part of the functional model is first mapped to the architecture model by software (step S 3501).
- FIG. 36 is an explanatory diagram showing an example in which a part of the function model is mapped to the architecture model by software. Specifically, as shown in FIG. 26, the decoder 2602 maps to the hardware 2615, and the encoder 2604 maps to the hardware 2617. On the other hand, the CPU 2601 and the controller 2603 are mapped to the processor 2611.
- FIG. 37 is an explanatory diagram showing a design class diagram in the software model.
- the design class diagram 3700 in the software model is generated based on the divided design class diagram 2210-2240 shown in FIG.
- the design class diagram 3700 in the software model is divided into the virtual OS model in addition to the split design class diagram 3701 for the top module, the split design class diagram 3702 for the decoder module, and the split design class diagram 3703 for the encoder module. It includes a split design class diagram 3704. Then, a software model implementation code is generated for each design class diagram 3701 3704 (step S3503).
- step S517 of Fig. 5 simulation of the software model implementation code is performed. -I will execute the Chillon. Then, in step S518 of FIG. 5, a determination is made as to whether the simulation result of the implementation code of the software model matches the simulation result of the implementation code of the conceptual model. If they match (step S518: Yes), the simulation result power S of the software model implementation code S, and all the requirement items 1301 1308 in the requirement item list 1300 shown in FIG. Task division is valid.
- Step S518 the simulation result power S of the software model implementation code S satisfies all the required items 1301 to 1308 of requirement item ⁇ 1300 shown in Fig. 13. This means that the software task division is not valid.
- step S519 shown in Fig. 5 the software model implementation code is corrected. In this way, it is possible to verify the accuracy of software task division.
- specification risk can be avoided at an early stage. Specifically, after analyzing customer requirements with UML, it is possible to verify whether or not the customer's functional requirements are satisfied using an executable model, and it is possible to detect misunderstandings and mistakes of specifications at an early stage. System LSI design based on incorrect specifications can be prevented.
- the verification support apparatus and the verification support method according to the embodiment of the present invention it is possible to solve the simulation speed bottleneck. Specifically, since the conventional verification method uses an RTL simulator for simulation, the simulation speed is very slow. In this embodiment, simulation is performed using a model with a higher level of abstraction. As a result, the simulation can be executed several hundred times faster than the RTL simulator. Therefore, by improving the simulation speed, the design period including verification work can be shortened.
- the cost can be reduced.
- the emulator is used by verifying a model with a high level of abstraction. Drastically reduce the frequency And cost reduction can be achieved.
- the use of emulators is basically converted into money on an hourly basis, the cost can be reduced by shortening the verification time.
- Step-by-step verification can be started.
- the validity of each model can be verified according to the level of detail of the design. In this way, the design process can be significantly shortened compared to the conventional design end ⁇ verification start and check method.
- system LSI including the serial transmission / reception system has been described as an example.
- present invention is not limited to this system LSI, and can be applied to various system LSIs. .
- the verification support method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer, workstation, or CAD.
- This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
- This program is a transmission medium that can be distributed through the network such as the Internet. There may be.
- the present invention is suitable, for example, for providing a system tool for verifying LSI design data.
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2004800435084A CN1981288A (zh) | 2004-07-01 | 2004-07-01 | 验证支援装置、验证支援方法、验证支援程序以及记录介质 |
PCT/JP2004/009340 WO2006003702A1 (ja) | 2004-07-01 | 2004-07-01 | 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 |
JP2006527616A JPWO2006003702A1 (ja) | 2004-07-01 | 2004-07-01 | 検証支援装置、検証支援方法、および検証支援プログラム |
EP04746809A EP1770562A4 (en) | 2004-07-01 | 2004-07-01 | VERIFICATION SUPPORT SETUP, VERIFICATION SUPPORT PROCEDURE, VERIFICATION SUPPORT PROGRAM AND RECORDING MEDIUM |
US11/645,715 US7640521B2 (en) | 2004-07-01 | 2006-12-27 | Model verification support method, apparatus, and computer-readable recording medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/009340 WO2006003702A1 (ja) | 2004-07-01 | 2004-07-01 | 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/645,715 Continuation US7640521B2 (en) | 2004-07-01 | 2006-12-27 | Model verification support method, apparatus, and computer-readable recording medium storing program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006003702A1 true WO2006003702A1 (ja) | 2006-01-12 |
Family
ID=35782519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/009340 WO2006003702A1 (ja) | 2004-07-01 | 2004-07-01 | 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7640521B2 (ja) |
EP (1) | EP1770562A4 (ja) |
JP (1) | JPWO2006003702A1 (ja) |
CN (1) | CN1981288A (ja) |
WO (1) | WO2006003702A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010231633A (ja) * | 2009-03-27 | 2010-10-14 | Fujitsu Ltd | 検証支援プログラム、検証支援装置および検証支援方法 |
JP2010271900A (ja) * | 2009-05-21 | 2010-12-02 | Fujitsu Ltd | クラス図分割支援方法、クラス図分割支援装置、及びプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296739B2 (en) * | 2008-03-31 | 2012-10-23 | International Business Machines Corporation | Testing soft error rate of an application program |
FR2964224A1 (fr) * | 2010-08-24 | 2012-03-02 | Thales Sa | Procede et dispositif de deploiement et d'aide au deploiement de composants formant un systeme temps reel embarque |
US8972928B2 (en) * | 2011-08-30 | 2015-03-03 | Uniquesoft, Llc | System and method for generating application code |
CN104516992B (zh) * | 2013-09-27 | 2017-12-01 | 华为技术有限公司 | 一种验证方法及装置 |
US10853536B1 (en) * | 2014-12-11 | 2020-12-01 | Imagars Llc | Automatic requirement verification engine and analytics |
US10387788B2 (en) * | 2016-02-18 | 2019-08-20 | Linkedin Corporation | Graph based techniques for predicting results |
CN112949234A (zh) * | 2021-04-14 | 2021-06-11 | 山东高云半导体科技有限公司 | Fpga物理模型的软件建模方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002279011A (ja) * | 2000-12-28 | 2002-09-27 | Fujitsu Ltd | 論理装置の動作シミュレーション方法並びに論理装置の動作シミュレーションプログラム及び同プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2003288378A (ja) * | 2002-03-28 | 2003-10-10 | Cats Kk | システムlsi設計支援プログラム、システムlsi制御回路およびpc用集積回路 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6789054B1 (en) * | 1999-04-25 | 2004-09-07 | Mahmoud A. Makhlouf | Geometric display tools and methods for the visual specification, design automation, and control of adaptive real systems |
US7085688B1 (en) * | 1999-10-22 | 2006-08-01 | Shizuo Sumida | Non-linear characteristic reproducing apparatus and non-linear characteristic reproducing program storage medium |
US7356786B2 (en) * | 1999-11-30 | 2008-04-08 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
KR20000023961A (ko) * | 1999-12-22 | 2000-05-06 | 김정태 | 정보 모델링방법 및 데이터베이스 검색시스템 |
JP3897948B2 (ja) * | 2000-02-14 | 2007-03-28 | 富士通株式会社 | 支援システムおよび支援プログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP1222530A2 (en) * | 2000-03-09 | 2002-07-17 | Koninklijke Philips Electronics N.V. | Method for developing complex systems |
US7389208B1 (en) * | 2000-06-30 | 2008-06-17 | Accord Solutions, Inc. | System and method for dynamic knowledge construction |
US7234126B2 (en) * | 2000-08-23 | 2007-06-19 | Interuniversitair Microelektronica Centrum | Task concurrency management design method |
JP4743944B2 (ja) * | 2000-08-25 | 2011-08-10 | 鎮男 角田 | シミュレーションモデル作成方法及びそのシステムと記憶媒体 |
US20020124085A1 (en) * | 2000-12-28 | 2002-09-05 | Fujitsu Limited | Method of simulating operation of logical unit, and computer-readable recording medium retaining program for simulating operation of logical unit |
JP3877753B2 (ja) * | 2003-10-31 | 2007-02-07 | 富士通株式会社 | 設計支援装置、設計支援方法および設計支援プログラム |
JP4001584B2 (ja) * | 2004-02-26 | 2007-10-31 | 松下電器産業株式会社 | シミュレーション装置 |
US7469201B2 (en) * | 2005-06-17 | 2008-12-23 | Dspace Digital Signal Processing And Control Engineering Gmbh | Process and means for block-based modeling |
JP4445480B2 (ja) * | 2006-03-23 | 2010-04-07 | 富士通株式会社 | シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置 |
-
2004
- 2004-07-01 EP EP04746809A patent/EP1770562A4/en not_active Withdrawn
- 2004-07-01 CN CNA2004800435084A patent/CN1981288A/zh active Pending
- 2004-07-01 JP JP2006527616A patent/JPWO2006003702A1/ja active Pending
- 2004-07-01 WO PCT/JP2004/009340 patent/WO2006003702A1/ja not_active Application Discontinuation
-
2006
- 2006-12-27 US US11/645,715 patent/US7640521B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002279011A (ja) * | 2000-12-28 | 2002-09-27 | Fujitsu Ltd | 論理装置の動作シミュレーション方法並びに論理装置の動作シミュレーションプログラム及び同プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2003288378A (ja) * | 2002-03-28 | 2003-10-10 | Cats Kk | システムlsi設計支援プログラム、システムlsi制御回路およびpc用集積回路 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1770562A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010231633A (ja) * | 2009-03-27 | 2010-10-14 | Fujitsu Ltd | 検証支援プログラム、検証支援装置および検証支援方法 |
JP2010271900A (ja) * | 2009-05-21 | 2010-12-02 | Fujitsu Ltd | クラス図分割支援方法、クラス図分割支援装置、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN1981288A (zh) | 2007-06-13 |
EP1770562A4 (en) | 2009-08-26 |
EP1770562A1 (en) | 2007-04-04 |
JPWO2006003702A1 (ja) | 2008-04-17 |
US20070106490A1 (en) | 2007-05-10 |
US7640521B2 (en) | 2009-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640521B2 (en) | Model verification support method, apparatus, and computer-readable recording medium storing program | |
US8205174B2 (en) | Integrated circuit modeling method and framework tool | |
CN101842789B (zh) | 用于存储器抽象和使用该存储器抽象来验证的方法和装置 | |
US6536031B2 (en) | Method for generating behavior model description of circuit and apparatus for logic verification | |
US8326592B2 (en) | Method and system for verifying electronic designs having software components | |
KR101770292B1 (ko) | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 | |
EP1913410A2 (en) | Method and system for debug and test using replicated logic | |
JP4481762B2 (ja) | 論理検証装置、論理検証方法、論理検証プログラムおよび記録媒体 | |
Goli et al. | Scalable simulation-based verification of SystemC-based virtual prototypes | |
CN115952758A (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
US7984403B2 (en) | Verification supporting system | |
CN118052196A (zh) | 基于uvm的芯片验证测试方法、装置及电子设备 | |
Zhu et al. | System-on-chip validation using UML and CWL | |
Bombieri et al. | On PSL properties re-use in SoC design flow based on Transaction Level Modeling | |
US8397189B2 (en) | Model checking in state transition machine verification | |
JP5262909B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
US7207015B1 (en) | Translation of an electronic integrated circuit design into hardware | |
US6668359B1 (en) | Verilog to vital translator | |
US8756543B2 (en) | Verifying data intensive state transition machines related application | |
CN112836455A (zh) | 一种soc仿真方法及系统 | |
Bombieri et al. | Correct-by-construction generation of device drivers based on RTL testbenches | |
US20090319983A1 (en) | Intellectual property model creating apparatus, intellectual property model creating method, and computer product | |
Grimm et al. | Semiformal verification of software-controlled connections | |
Castillo et al. | SystemC design flow for a DES/AES CryptoProcessor | |
Araújo et al. | A SystemC-only design methodology and the CINE-IP multimedia platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480043508.4 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004746809 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11645715 Country of ref document: US Ref document number: 2006527616 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 2004746809 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 11645715 Country of ref document: US |