Using Tcl to create a virtual component in Verilog
By Randall Melton, Atmel
Embedded.com (10/02/09, 10:25:00 AM EDT)
It has long been a goal to put realistic prototypes or models into system developer's hands as soon as possible. This has been accomplished with FPGAs, C language models and sometimes co-simulation with actual design libraries.
The latter is traditionally done with custom written PLI and VPI plugins that allow the running simulation to interact with something outside the simulation environment. These have the advantage of allowing system development to proceed before the actual silicon is available for a product.
Used properly such an environment can feed valuable information back to the digital design team about application level issues before the design is committed to silicon. This article will demonstrate a simple technique to accomplish this with commonly available tools, in particular, the TCL scrpting language.
Most digital designs are verified with logic simulation tools. Those verification suites usually involve large simulation test benches with complex infrastructures to support stimulus timing, expected outputs, and assertions (formal or otherwise). Many of these test benches are transaction based. I consider transaction based to mean the test bench sends some quantum of information to the DUT (design under test) and the DUT replies with some quantum of information.
These quanta (call them packets or transactions) could be single bit operations (like a single logic level plus time interval on a USART TX bit) or complex operations involving multiple clock cycles (like a USB packet) Most traditional test benches already have this infrastructure in place (usually done with tasks in Verilog test benches) to deal with the manipulation and transfer of these packets.
To read the full article, click here
Related Semiconductor IP
- HBM4 PHY IP
- Ultra-Low-Power LPDDR3/LPDDR2/DDR3L Combo Subsystem
- MIPI D-PHY and FPD-Link (LVDS) Combinational Transmitter for TSMC 22nm ULP
- HBM4 Controller IP
- IPSEC AES-256-GCM (Standalone IPsec)
Related Articles
- Commentary: Virtual components are more than 'IP'
- Age of virtual ASIC company is dawning
- A silicon virtual prototype is key in achieving design closure
- ASIC vendors heed call for virtual prototyping tools
Latest Articles
- ElfCore: A 28nm Neural Processor Enabling Dynamic Structured Sparse Training and Online Self-Supervised Learning with Activity-Dependent Weight Update
- A 14ns-Latency 9Gb/s 0.44mm² 62pJ/b Short-Blocklength LDPC Decoder ASIC in 22FDX
- Pipeline Stage Resolved Timing Characterization of FPGA and ASIC Implementations of a RISC V Processor
- Lyra: A Hardware-Accelerated RISC-V Verification Framework with Generative Model-Based Processor Fuzzing
- Leveraging FPGAs for Homomorphic Matrix-Vector Multiplication in Oblivious Message Retrieval