• 免責
以下の和約は個人のメモの領域を超えないものであり、かつ英語は大の苦手です。
正しいかどうかもわかりませんのでご了承ください。

Ruby-VPI 21.1.0 ユーザーガイド


Suraj N.Kurapati

2008/08/02

概要

Ruby-VPIは、昨今ではメジャーなVerilogシミュレータはサポートしているIEEE1364-2005 Verilo VPIインターフェースによってRuby言語を使用するライブラリーです。
検証環境、てっとり早い試作コーディング、統合システムのプラットフォームとして役に立ちます。


リソース



目次
1 はじめに
1.1 特徴
1.2 ライセンス
1.3 Appetizers(前菜?)
1.4 適用
1.5 関連するワーク
2 セットアップ
2.1 必要条件
2.2 推奨条件
2.3 インストール方法
2.3.1 Windowsへのインストール
2.4 メンテナンス
2.5 Manifest
3 開発の背景
3.1 動機付け
3.2 テスト
4 Usage
4.1 Theory of operation
4.1.1 Test files
4.2 Interacting with the Verilog simulator
4.3 VPI in Ruby
4.3.1 Handles
4.3.1.1 Accessing a handle’s relatives
4.3.1.2 Accessing a handle’s properties
4.3.2 Callbacks
4.4 Concurrency
4.4.1 Creating a concurrent process
4.5 Prototyping
4.5.1 Creating a prototype
4.6 Interactive debugging
4.6.1 Advanced initialization
4.7 Test runner
4.7.1 Environment variables
4.7.1.1 Variables as command-line arguments
4.8 Tools
4.8.1 Automated test generation
4.8.2 Verilog to Ruby conversion
4.9 Tutorial
4.9.1 Start with a Verilog design
4.9.2 Generate a test
4.9.3 Specify your expectations
4.9.4 Implement the prototype
4.9.5 Verify the prototype
4.9.6 Implement the design
4.9.7 Verify the design
4.9.8 More examples
5 Hacking
5.1 Building from source code
5.2 Installing without really installing
5.3 Editing this guide
5.4 Building release packages
6 Known problems
6.1 Icarus Verilog
6.1.1 Give full paths to Verilog objects
6.1.2 Registers must be connected
6.1.3 VPI::reset
6.2 Cadence NC-Sim
6.3 Mentor Modelsim
7 Glossary
7.1 Test
7.2 Design
7.3 Specification
7.4 Expectation
7.5 Handle
7.6 Rake
7.7 RSpec
7.8 Test driven development
7.9 Behavior driven development

Cautions

1. Assignments inside processes are non-blocking
2. Do not rename generated files

サンプルコード

1. Using a callback for value change notification
2. An edge-triggered “always” block
3. A change-triggered (combinational) “always” block
4. Running a test with environment variables
5. Declaration of a simple up-counter with synchronous reset
6. Generating a test with specification in RSpec format
7. Generating a test with specification in xUnit format
8. Specification implemented in RSpec format
9. Specification implemented in xUnit format
10. Ruby prototype of our Verilog design
11. Running a test with specification in RSpec format
12. Running a test with specification in xUnit format
13. Implementation of a simple up-counter with synchronous reset
14. Running a test with specification in RSpec format
15. Running a test with specification in xUnit format
16. Part of a bench which instantiates a Verilog design
17. Bad design with unconnected registers
18. Fixed design with wired registers

Figures

1. Where does Ruby-VPI fit in?
2. Organization of a test in Ruby-VPI
3. Interaction between Ruby and Verilog
4. Method naming format for accessing a handle’s properties

Notes

1. Constants are capitalized in Ruby

Tables

1. Possible accessors and their implications
2. Examples of accessing a handle’s properties

Tips

1. Tuning for maximum performance
2. Using kdiff3 with the automated test generator.
3. What can the test runner do?


Top > 言語 > verilog > Tips > Ruby VPI > ruby-vpi_ug
link_pdfプラグインはご利用いただけなくなりました。























-

最終更新:2009年02月24日 02:30