Version Control System
information resources system
O. M. Brehov, A. V. Korneenkova, K. A. Kordover, N. Y. Muhin, E. A. Orlova, I. V. Tuzov
Prototyping of hardware-software devices on FPGA is based on the technological chain that contains a set of automation at all stages with possibility of realization of difficult functionality in a short time. For providing of high speed design it is offered to automate a number of the processes directed on quality maintenance of a prototype and the project as a whole. The presented complex technique is based on set of the goals interconnected within the framework of working group: functional and temporal verification, versions control, code refactoring and prototype reengineering, organization of high-efficiency multithreaded modeling and computing experiments, use of system of templates among subgroups of developers and testers, the operative remote coordination of requirements and documents and so forth.
The greatest attention is given a problem of the automated verification which accounts for 80 % of working hours in projects of prototyping on FPGA. On the basis of set of verification methods the uniform complex technique is formulated, including methods of simulation, supplemented with assertions checking on the basis of linear temporal logic (LTL) and design tools of the automated test environments. The detailed description of the test environment for the complex module is presented, which on the principle of the componental organization is constructed taking into account five levels of abstraction. The verification system which constructed by the given technique provides automatic errors searching in the project of the prototype, reaching an exhaustive functional coverage for the minimum time. Stability to changes, possibility of a code reuse and possibility of application for algorithmic, logical and physical models is reached. On an example use of SVA language for the short and formal specification of requirements, and as detection and localization of an error by the system is shown.
Interaction of subjects in working group is supported by the system of organizational actions and information resources including: computing cluster, the information server, a uniform database of the project under control of SVN, system of designing, coding and documenting templates. The expediency of application of technique Extreme Programming within the limits of small working group is underlined, A paradigm characteristic for this method are presented, which raising a quality of a prototype, speed, efficiency and the performance of the project: working out through testing, the interactive coordination with the customer, continuous integration and refactoring.