#systemverilog には、Exterm Modules というのもありますが、#aldec ではサポートしていません。
2011-12-03 11:52:49Ports Mapping は非常に便利な機能です。名前とサイズが同じなら、ポートに信号をつなげなくてもOK #systemverilog #aldec
2011-12-03 11:55:18SystemVerilog スタートアップのあたしの担当部分には、interface, Ports Mapping, DPI-C など、#systemverilog の新しい機能の例題を説明しています。 是非、買ってください。#aldec
2011-12-03 11:57:03timeprecision 1ps; timeunit 1ns; なる記述で時間の単位を指定できます。`timescale 1ns/1psよりはるかに便利です。 #systemverilog 2009では、timeunit 1ns/1ps ;にも対応したようです。#aldec
2011-12-03 11:59:19program も#systemverilog での新機能です。 基本的には、module と同じですが、always が使えません。 ちなみに、program はテストベンチを書くためのものです。#aldec ModelSim では、program は使えません。
2011-12-03 12:02:59program は、module内にインスタンスとしても置けます。 一般的には、トップ階層として使います。 #systemverilog #aldec
2011-12-03 12:04:15clocking を使えば、同期インターフェースの信号をまとめて扱えます。 便利です。 #systemverilog #aldec
2011-12-03 12:06:13Clocking では、Input/Output Skewも定義できます。#systemverilog #aldec
2011-12-03 12:07:05夕食前の忙しい時なのに、DPI-Cの利点をツイート。#SystemVerilog #DPI デザインはVerilog HDL/VHDLどちらでもいいのですが、いや、Cベース設計なら、そんなのどうでもいいのですが、検証側はSystemVerilogを使えば、超便利。
2011-12-24 18:21:49テストベンチ構築には、#SystemVerilog の各種機能が使えます。 DUT との接続には、interface を使えば、記述量が少ないのでコードが見易いです。interface をライブラリ化すれば、次に使うときやチーム間でも共有できます。
2011-12-24 18:25:14#SystemVerilog の制約付きランダム生成を使えば、いろいろなパターンを自動的に生成できます。そして、coverage を定義すれば、どのぐらいテストができているかも確認できます。
2011-12-24 18:26:46アサーションとして、#SystemVerilog Assertion が使えます。#SystemVerilog では、デザイン、テストベンチ、制約付きランダム生成、アサーションと全ての機能が1つの言語で利用できるので、シミュレータも1つの言語だけなので、高速に実行できます。
2011-12-24 18:28:26検証言語(検証環境)である、e/SpecMan では、デザインはサポートしていないので、どうしてもデザイン側の言語のシミュレータとのコシミュレーションになります。 ただし、ケイデンスのシミュレータでももしかしたら内部でダイレクト接続しているかもしれません。
2011-12-24 18:31:04#SystemVerilog であれば、3大EDAベンダーのシミュレータでとりあえず、動きます。他のベンダーのシミュレータでも動きます。#SystemVerilog
2011-12-24 19:03:37テストベンチは、#SystemVerilog で書きますが、個々のテストプログラムは #SystemVerilog ではなく、C/C++で書けます。いや、あたしは書いています。是非、皆さんも書きましょう!
2011-12-24 19:09:16なぜ、C/C++言語でテストプログラムを書くのか?それは、ハードウェア(実機)をテストするのは、ソフトウェアであり、それはC言語がほとんどだからです。検証におけるテストプログラムをC/C++言語で書くということは、自然の流れなのです。#SystemVerilog
2011-12-24 19:10:58では、どうして検証エンジニアがC/C++言語でプログラムを書かないのか?それは、ハードウェアを制御するためのソフトウェアを書いたことが無いからです。 ある人なら、何で後でやらなくちゃいけないもののために、#SystemVerilogで記述したテストプログラムを書きたいでしょうか?
2011-12-24 19:21:15検証エンジニアはソフトウェアエンジニアが向いていると言われていますが、そのソフトウェアエンジニアって、ハードウェアの制御プログラムを書いたことがあるとは限りません。そこんところがテストプログラムにC/C++言語を使わない理由です。 #SystemVerilog
2011-12-24 19:23:05あたしは自分で作るハードウェアは自分でソフトウェア書いてテストしますので、 検証においてもソフトウェアを使って、テストプログラムが書きたかったのです。 そして、自作のツールにてそのような環境を作って、利用していました。 #SystemVerilog では、それが超簡単にできます。
2011-12-24 19:33:36