CN103092588A - Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method - Google Patents
Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method Download PDFInfo
- Publication number
- CN103092588A CN103092588A CN2011103449926A CN201110344992A CN103092588A CN 103092588 A CN103092588 A CN 103092588A CN 2011103449926 A CN2011103449926 A CN 2011103449926A CN 201110344992 A CN201110344992 A CN 201110344992A CN 103092588 A CN103092588 A CN 103092588A
- Authority
- CN
- China
- Prior art keywords
- vhdl
- implementation method
- oriented
- language
- hardware description
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 7
- 238000004088 simulation Methods 0.000 abstract description 9
- 238000013461 design Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
The invention discloses an object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method. C++ codes generated through the method reserve a hierarchical structure relationship of an original VHDL design, and have the characteristics of distinctive nuance, good readability, high efficiency and the like; and a compiling simulator constructed by the codes has the advantages of high simulation speed and strong extendibility, and provides an effective technology for the high-speed simulation of a super-large-scale integrated circuit.
Description
Technical field
The present invention relates to a kind of based on OO VHDL language implementation method, be OO VHDL language (00-VHDL) and the design implementation method.
Background technology
00-VHDL (Object-Orieted VHDL), be OO VHDL, the RASSP that its main concept is supported from U.S. Department of Defense (Rapid Prototyping of Application-Specific Signal Processors, dedicated signal processors prototype fast) plan.OO method obtains extensively to admit in soft project circle in the ability aspect the recyclability of processing complicacy and increase software.And this problem in the urgent need to address in current I C design just.Therefore, people wish object-oriented method is applied in VHDL.The developer of RASSP think OO key element (as abstract, encapsulation, modularity, level etc.) be equally applicable to hardware is carried out abstract, the Vista Technologies company expansion VHDL language of setting out thus.VHDL language after expansion is referred to as the 00-VHDL language.Main expansion is to have introduced new language object Entity Object, is that the feature that increases class on the Entity basis obtains; In addition, Entity and Architecture in 00-VHDL have possessed inheritance mechanism, can communicate by letter with message between different Entity Object.
In fact VHDL itself has possessed abstractness and the modularity of certain procedures.Entity, Procedure and Fuction support abstractness, and Package, Entity and the file that leaves the VHDL code in are all reusable modules.But on abstractness, VHDL has very large deficiency: from the interface of Entity, the deviser can't obtain the function information of element, can only start needed operation by the port level is set accurately, and can not carry out with abstract mode.When particularly carrying out the emulation of higher level, the model of next stage unit is not set up or is also needed toward contact and revises.On encapsulation property, the VHDL ability is also strong not, such as the Variable in Package or Signal can not be packed.The method that 00-VHDL addresses these problems is to introduce Entity Object as the elementary cell of abstract, encapsulation and modularity.In VHDL, reusable level only occurs in the component one-level, deviser or go to use it according to the original configuration of element fully, or redesign new element.But, be usually that existing element is done some modifications or increased some new functions during actual design.If Application standard VHDL have to copy and revise original code usually by hand.The inheritance mechanism of 00-VHDL has solved this problem preferably.
Operation in Entity Object is activated by message (message), from sender of the message's angle, sends a piece of news and is similar to call subroutine.But from recipient's angle, message is to carry out the request of a certain operation, might not be made an immediate response.Therefore, message is a kind of more abstract mechanism, there is no direct corresponding relation with hardware.And in hardware, the communication between element and exchanges data need specific agreement or synchronization mechanism.By message, the deviser can start abstractively a certain operation and needn't be accurately according to agreement or synchronization mechanism.So just improved the dirigibility of modeling; Otherwise.If communication protocol or synchronization mechanism change to some extent, must revise whole VHDL model.At present, Vista Technologies is developing the support environment of 00-VHDL in this environment, the deviser sets up the 00-VHDL model by certain input tool, its source code is translated into the VHDL code of standard by pretreater, this code can be accepted by general VHDL emulation and synthesis tool.When emulation, a trace tool (traceability tool) is shone upon back initial 00-VHDL code to statement in the VHDL code, and debugging can be carried out in the 00-VHDL code like this.
Summary of the invention
Based on the problems referred to above, hereby invent a kind of based on OO VHDL language implementation method; Complete this work by an operation simulation core, the Main Function of operation simulation core is each C++ class member function that is converted by process of adjusting in due course in simulation process in whole design, with the concurrent implementation of simulation process, the modeling algorithm that can use case drives (event-driven) is realized.Its algorithm is as follows:
(1) translation of constant, variable and signal
On method for expressing with constant, variable and signal object in the corresponding VHDL of the class object of C++.Be class of the dtd——data type definition in each VHDL, identifier of definition is in order to distinguish signal, variable and constant in class, define data volume by the mode with the dtd——data type definition object, and by distinguishing signal, variable and constant to the constructed fuction Transfer Parameters.For example, following 402005 years the 6th phases of VHDL Source Description (left side) can be translated as corresponding C++ code (the right):
signal?a:bit:=’0’;Wbitdata?a(“a”,GVHdLobject::SIGNAL,…,’0’);
Variable?b:integer:=10;Wintegerdata?b(“b”,GVHdLobjcct::VARIABLE,…,10);
constant?c:integer:=20;Wintegerdata?c(“c”,GVHdLobject::CoNSTANT,…,20);
Wherein Wbitdata and Wintegerdata are respectively bit in VHdL and two classes of integer type definition, and CoNSTANT, VARIABLE, SIGNAL are the static constants of 3 classes that define in class GVHdLobject, in order to distinguish constant, variable and signal.
(2) translation of entity, structure
Entity, structure are the elementary cells that VHdL organizes whole design.Be defined in the data such as signal of stating in the VHdL structure in C++ structure class, and the function that is entity due to structure realizes, it has all attributes of entity, and this is identical with derived relation in C++, therefore the structure in C++ is derived from from entity class.The corresponding entity class of each entity, the corresponding structure class of each structure.
(3) process translation
Process is the elementary cell of simulator scheduling, and the translation of process plays key effect for operation simulation.Each VHdL process in structure is translated as a C++ process class, member variable during the object that defines in the VHdL process like this etc. all can directly be defined as C++ process class, the order statement in process is translated as a member function (simulate () function) of process class.When simulator is dispatched, take the process class object as scheduler object, when process was activated the needs simulation, simulation was with the simulate () function of calling process class object.
Claims (2)
1. one kind based on OO VHDL language implementation method: the method is mainly to utilize the parallel characteristics that characterizes VHDL with the order statement of C++.
According to claim 1 based on OO VHDL language implementation method, the method mainly comprises three parts namely: the translation of constant, variable and signal; The translation of entity, structure; The process translation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103449926A CN103092588A (en) | 2011-11-01 | 2011-11-01 | Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103449926A CN103092588A (en) | 2011-11-01 | 2011-11-01 | Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092588A true CN103092588A (en) | 2013-05-08 |
Family
ID=48205205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103449926A Pending CN103092588A (en) | 2011-11-01 | 2011-11-01 | Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092588A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000541A (en) * | 2006-01-11 | 2007-07-18 | 大同股份有限公司 | Method for automatically converting high-level programming language into hardware description language |
-
2011
- 2011-11-01 CN CN2011103449926A patent/CN103092588A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000541A (en) * | 2006-01-11 | 2007-07-18 | 大同股份有限公司 | Method for automatically converting high-level programming language into hardware description language |
Non-Patent Citations (1)
Title |
---|
元泽怀: "基于面向对象的VHDL语言及其设计实现方法研究", 《常州工学院学报》, vol. 18, no. 6, 31 December 2005 (2005-12-31) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meyer et al. | Strix: Explicit reactive synthesis strikes back! | |
CN111290778B (en) | AI model packaging method, platform and electronic equipment | |
CN107436762A (en) | A kind of register Code document generating method, device and electronic equipment | |
EP0961968A1 (en) | Method and system for generating software code | |
JP2018073411A (en) | Natural language generation method, natural language generation device, and electronic apparatus | |
CN107479882A (en) | Generating method, generating device, medium and electronic equipment of insurance application page | |
CN108228754A (en) | flow generation method and terminal device | |
Abel et al. | MeMin: SAT-based exact minimization of incompletely specified Mealy machines | |
Leibson | Designing SOCs with configured cores: unleashing the Tensilica Xtensa and diamond cores | |
CN103294482B (en) | Web service method for packing and system for PWscf concurrent computational system | |
US7917873B1 (en) | System and method for verification of integrated circuit design | |
Turner | An engineering approach to formal methods | |
US12086521B2 (en) | Circuit design simulation and clock event reduction | |
CN108170953A (en) | Circuit diagram migration method and device | |
CN103092588A (en) | Object-oriented VHDL (Vhsic Hardware Description Language) based language implementation method | |
Perry et al. | An extensible code generation framework for heterogeneous architectures based on IP-XACT | |
Saito et al. | Engineering cloud: Flexible and integrated development environment | |
US20130305213A1 (en) | Modularized customization of a model in a model driven development environment | |
CN103631983A (en) | Method and system for simulating tactical data messages | |
CN110837896B (en) | Method and device for storing and invoking machine learning models | |
Sahasrabuddhe et al. | AHIR: A hardware intermediate representation for hardware generation from high-level programs | |
CN106528927B (en) | Input and output I/O process mapping method and device | |
Bansal et al. | The roles of delay and power optimization techniques in VLSI design | |
Mahani | Making alive register transfer level and transaction level modeling in Ada | |
CN110110362B (en) | Method for designing chip by using embedded command |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130508 |