Home

David C Black

Project Admins:

This script is useful for those who create complex code content that has one or more common file/directory structures. Currently the script is aimed at Linux based environments. Examples of appropriate end-users are hardware/verification professionals creating digital designs (SoCs) using languages such as SystemVerilog, SystemC or VHDL. Complex code examples include TLM 2.0 or UVM (Universal Verification Methodology) standards promoted by Accellera

For example, in UVM designers typically needs to create multiple derivations of the following base classes:

  1. uvm_test
  2. uvm_env
  3. uvm_agent containing uniqueuvm_sequencer,uvm_driver, anduvm_monitor`
  4. uvm_sequence_item
  5. uvm_sequence

These are often put in customer specific directory organizations. Templates can help make the process of creation easier and more consistent. The concept of newscript is similar to Visual Studio or Eclipse projects; however, has been extended to sub-components.

A key concept of newscript templates is that the resultant files are not useable until all of the marked placeholders have been replaced with useful code. This is done to avoid a common design error that happens as a result of copy/paste and forgetting to update key sections of a copied file or text.

newscript can also be incorporated in some text editors (e.g. VIM).

Plans for this project include adding a simple GUI dialog to make selection and use of templates easier.