Version 2 of pdt

Updated 2013-05-25 09:50:22 by pdt

Paul Taylor. See http://pdt.github.com for my projects.

Off and on, I'm currently working on three projects, Script-tb, ttask, and NSO. They are all related, as my main interest is Script-tb - ttask and NSO are written to support it.

The aim of Script-tb is to provide a Tcl environment for testbenching hardware designs (RTL code). Support for coroutines in Tcl8.6 make this type of project possible.

The aim of Script-tb is to provide a scripted alternative to statically typed compiled languages, such as VHDL, Verilog, SystemVerilog, SystemC, and Specman e. The advantages/disadvantages are the same as for writing software generally, so I won't repeat them here. But I'm interested in writing testbenches in Tcl primarily for two reasons, (1) because it means writing less code, and I think I can get to a verified hardware design in less time using this approach, and (2) Tcl is open source, and can be coupled to various open source simulators, allowing a test suite for a hardware design to be run across multiple threads/machines quickly and cheaply.

(Note that most simulators use a single thread to run a testbench. Also hardware verification, although mostly done by hardware engineers, is really a software task. Languages such as SystemVerilog and Specman e have features such as OO that make writing testbenches easier. For the actual hardware RTL designs, VHDL and Verilog are more than adequate, and don't need features that are found in say SystemVerilog.)

ttask is being written primarily for use with Script-tb, making it easy to: compile sources, switch between simulators (particularly to open source simulators), run simulations in parallel (for fast execution of a test suite). Eventually it'll support network operations as well, so that simulations can easily be off-loaded to other machines.

NSO is yet another object system. It's designed to work nicely with Script-tb.