Verilog,VHDL等のHW記述言語のシミュレータ

このエントリーをはてなブックマークに追加
1名無しさん@1周年
を作った人ってすごいですよね。
で、そのシミュレータって、どんなアルゴリズムになっているのでしょうか?
私の勝手な予想だと、AND,OR等をマシン語レベルのADDやSUB等に
置き換えてシミュレートしてるのかと思っています。
おしえて。
2えーしっ君:2001/02/11(日) 22:36
> 1
> 私の勝手な予想だと、AND,OR等をマシン語レベルのADDやSUB等に置き換えてシミュレ
> ートしてるのかと思っています。

HDLでは信号を4値とか9値で表現してますよね。ですから、VerilogやVHDLの演算子を、
単純にマシン語レベルの演算命令に変換しただけでは、ハードウェアの正しいモデリン
グはできません。

ですから、信号値を正しくモデリングするには(1さんが「マシン語レベルに置き換え」
と言っているので、ここではHDL記述をCに変換するコンパイル型シミュレータをつくる
として話をすると)、

- 0, 1, X, Z, ...を表現可能なデータ型をつくっておく
- そのデータ型に対して演算およびレゾリューションつき代入を行うメソッドを定義す
 る
- HDL記述を、これらのデータ型と演算の組み合わせに変換する

というのが、一般的な実装方法になると思います。
3えーしっ君:2001/02/11(日) 23:07
sageてしまった。スマソ。

ところで、HDLシミュレータをつくるには、もうひとつ解決しなければならない重要な問
題があります。それは、プロセスのスケジューリングをしなければならないということ
です。

つまり、HDLで記述されたモデルでは、一見、alwaysブロックやprocessブロックが、信
号の変化に応じてバラバラに動作しているように見えますが、これを実行可能なモデル
に変換するには、これら(alwaysブロックやprocessブロックに該当するCのファンクショ
ン)を、mainから「一筆書き」で実行できるように並べる必要があるってことです。

しかし、実際には、事前に(シミュレーション開始前に)プロセスどうしの依存関係をし
らべてスタティックにスケジューリングすることは困難なので、ダイナミック・スケジ
ューリングをするシミュレータが多いようです(特にサイクルベースでないシミュレー
タは、間違いなくダイナミック・スケジューリングをしていると思われます)。

以下のようにすれば、ダイナミック・スケジューリングを実現できます:

- イベント・キューを用意しておく
- プロセスを評価する
- 評価の結果、そのプロセスが信号を変化させたら、どの信号が変化したか、という情
 報をイベント・キューに入れる
- すると、その信号が入力になっているプロセスの評価が発生する
- その結果、それらのプロセスが信号を変化させたら、またイベント・キューに情報を
 入れる
- この一連の動作をえんえんと繰り返し、すべてのイベントの伝播がおさまってイベン
 ト・キューが空っぽになったら、次のサイクルに移る

…もちろん、本当は、1さんがいうように、

> マシン語レベルのADDやSUB等に置き換えて

ということがパーフェクトに実現できれば、夢の超高速シミュレータが実現できるでし
ょう。しかし、実際のシミュレータは、ダイナミック・スケジューリングをするシミュ
レーション・カーネルも持っているし、たかだか1ビットぶんの信号オブジェクトも内部
ではenumで宣言されている、というのが現状です。ですから、HDLシミュレータは遅くて
メモリもバカ食いなのです。
4えーしっ君:2001/02/11(日) 23:38
では、最後に、役に立つリンクをば。

まずは、

The Open SystemC Initiative:
 http://www.systemc.org

シミュレータに興味をもたれているなら、噂ぐらいは聞いたことがあると思います。

SystemCというのは、C++でHWをモデリングするためのフレーム・ワーク(クラス・ライブ
ラリ)です。上記サイトで名前を書けば、無償で入手できます。

上の書き込みで、シミュレータがどのようにHWモデルをCに変換するかを説明しました
が、SystemCフレーム・ワークをつかってHWのモデルを手でガリガリ書くことは、シミュ
レータがHWモデルをCに変換する過程を、自分の手でやることと同じことです。

ですから、HWのモデリングを理解するには、よい教材になると思います。

SystemCフレーム・ワークには、以下のものが用意されています。

- 4値の信号をモデリングするためのデータ・タイプ
- これらのデータ・タイプで演算するためのオーバーロードされた演算子
- ダイナミック・スケジューラを隠蔽したmainルーチン

つぎに、

GPLなEDAのページ
 http://www.geda.coelacanth.com/

ここから辿れる以下のリンク集には、シミュレータ、その他、フリーなEDAおよび、EDA
プログラミングの素材がたくさんあります。
 http://www.opencollector.org/summary.php3

では、ごきげんよう。
5ソフト屋だけどハード矢:2001/04/29(日) 20:10
うおー。すごい!!!!!
EDAツール作ろうかなーって思ってたよ。
参考にするーよ↑
6名無しさん@1周年:2001/05/01(火) 07:00


  __        __       __
  |よし| ΛΛ  |よし| ΛΛ   |よし| ΛΛ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 〃 ̄∩ ゚Д゚) 〃 ̄∩ ゚Д゚)  〃 ̄∩ ゚Д゚) < 全員一致で逝ってよし!
    ヾ.   )    ヾ.   )     ヾ.   )   \_____________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
\                                        \
  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
  |          逝ってよし認定委員会                 |
  |                                        |
\|                                         |
7COVERI:2001/07/18(水) 22:30
こっちも覗いてご覧なさい。
SWよりのツール環境ですよ。

http://www.specc.gr.jp/index.htm
8名無しさん@1周年:2001/07/19(木) 23:06
参考書ウルトラ希望。
9名無しさん@1周年:2001/07/24(火) 12:34
boothのアルゴリズムって?
10名無しさん@1周年:2001/07/24(火) 17:48
age
11名無しさん:02/01/31 00:17
age
12名無しさん:02/02/11 23:26
>>2-4
分かりやすい説明ありがとう

と、日付を良く見たら一年前。。。
2さん、この板まだ見てるかな?w
13名無しさん@1周年:02/04/24 07:53
やっぱシミュ板は頭のいい人いるよなぁ
14名無しさん@1周年:02/04/24 21:30
SpecC と SystemC は、なにがどうちがうんだ?
DVD-R と DVD+R みたいなもんか?
15トッフィー:02/04/25 07:45
14>
わしも正直なところ、知りたい。
SystemCしか仕様を詳しくはしらんのだが、ワシの感想では
Synopsys等有力EDAベンダ、
ARM等有力IPベンダ、
フィリップス等欧州の主力半導体セットメーカー
が肩入れしてるのがSystemC。
それに触発されて慌てて負け組みが作ったコンソーシアムがSpecC。
どっちもまだBehaviorModelですらインプリがスムーズではないようだが、
こんな調子じゃ論理合成まで出来るようになるのはいつの日やら。
それでも回路の検証はHDLでRTL+検証ベンチ書くよりはるかに楽で高速。
とくにIPを用いた大規模デザインの場合はね。

とりあえずC++(これが現在もっとも有力候補)等高級言語でHWを記述するには
1.コンカレントプロセスをどう扱うか
2.論理合成後のBackAnnotationをどうBehaviorにもどすのか

この2点をしっかりClearにしてもらわないとちょいと二の足か??
16 :02/04/27 23:11
んー、SystemCは、ツール等の環境整備はSynopsysがしっかり(?)サポートするって決まってるけど、
SpecCはどーなんだろうね。
17名無しさん@1周年:02/04/28 01:54
spiceとかverilog-Aってどうなんでしょうか?
いろんな等価回路を状況によって切り替えてるんでしょうか?
18sage:02/06/13 07:05
このすれ、ほんまお客がつきまへんなあ。
EDAは所詮デジタル土方のおもちゃでっか。
日本で開発したもので業界標準品がないのもこまりもんや。
19名無しさん@1周年:02/06/13 08:04
>>18
機械・工学板。
20pooochiiii:02/10/30 20:04
>>16
誤解なきよう。四野賦氏棲はSystemCのサポートをするというより、もともと彼ら
が作ったその言語なりツールを業界標準にしてDCと同じことを目論んでいる
だけである。かの国のメーカーは、一見みんなこぞーてSystemC対応を叫んでは
いるが、事情を良く知っている人たちは、実はSystemCには問題も結構あることに
も傷いているんであーる。実はぽりてぃくすと欺瞞が渦巻くEDA業界なんである。
21名無しさん@1周年:02/10/31 01:23
>>20
実はCadence/Mentorの開発リソースをSystemCに引き付けておいて、
Synopsys自身はSystemVerilog用のすんごいビヘイビアコンパイラを開発し、
第2のDCを目論んでる、と見た。

複雑怪奇なC++言語ベースじゃ対応ツールの開発も大変だよ...
22山崎渉:03/01/11 05:27
(^^)
23名無しさん@3周年:03/01/30 18:52
>>21 確かにEDAツールで日本の半導体業界は高額の上納金をアメリカ
のEDAベンダーに払っている構図ががっちり出来てしまっている.
>>1 よ!頑張ってな.
ツールの見積もり初めて見た時に金額のゼロが2つ程間違って
多いんじゃないかと半分本気で疑ったよ。何億ってあんた...
24名無しさん@3周年:03/01/30 21:32
>>23
まあ、シミュレータなのか、合成系なのか、レイアウトよりなのか
で違うと思うけど、億単位だと永久ライセンス+サポート数年とか
じゃないの。1年ライセンス+1年サポート+入門講習なら
100万、1000万の単位ってところじゃないの。
社員をを数人リストラすればそのくらいはすぐ出来るからな。逆にいえば
社員数人増やすくらいの生産性向上が望めないとな。
25名無しさん@3周年:03/01/30 23:00
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
                  http://dx1.kakiko.com/sonota/194/1948/index.html
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね右翼死ね
26 :03/02/04 15:37
Handel-C って使った亊ある人います?
Oxford大学Hardware Compilation Research Groupの開発によるものらしいですが
27名無しさん@3周年:03/02/04 16:05
http://homepage3.nifty.com/digikei/ten.html
   キタ━━━━━(゚∀゚)キタヨ━━━━━ !!!!
28名無しさん@3周年:03/03/04 00:21
Silosってどうなの?
デモ版をとりあえずダウンロードはしてみたものの…
29名無しさん@3周年:03/03/04 05:21
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/aomori/
30名無しさん@3周年:03/03/04 05:45
http://homepage3.nifty.com/digikei/ten.html
おちんちんが熱くなるよ。
31名無しさん@3周年:03/03/04 08:13
>>28
うちは貧乏なのでSilos2ライセンス買って使ってる。
他のEDAツール使ったこと無いからわからんけど、機能は少ないと思う。
でも不便は感じない。これで小規模のLSI3個作ったよ。

OpenCADみたいにグラフィカルにシミュレーションパターン作れるWaveエディタって
無いもんかねぇ。
3228@学生さん:03/03/14 21:10
>>31
レスありがとうございます。
まだVerilog-HDLを勉強しはじめたばかりなもので、
シンタックスエラー他が出まくってます…
33名無しさん@3周年:03/03/15 20:58
http://asamade.net/cgi-bin/kado_e/pc_i_j_ez-index.cgi
一人登録されると1000円もらえる☆
簡単で儲かるYO
34山崎渉:03/04/17 08:59
(^^)
35山崎渉:03/04/20 04:12
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
36山崎渉:03/05/21 22:18
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
37山崎 渉:03/07/15 12:57

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
38名無しさん@3周年:03/07/16 02:00

すっごい綺麗なおっぱい♪ピンク色のお○こも見どころ♪

http://angely.h.fc2.com/page004.html
39_:03/07/16 04:26
40_:03/07/16 05:13
41_:03/07/16 11:02
42_:03/07/16 12:25
43_:03/07/16 14:42
44山崎 渉:03/08/02 02:26
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
46山崎 渉:03/08/15 18:46
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
47名無しさん@3周年:03/11/29 18:57
kai
48名無しさん@3周年:04/06/02 21:30
AccelleraつまりSystemVerilogがIEEE1364つまり今までのVerilogと袂を分かって
IEEE1800という番号を取るというニュースが流れてきたけど
その話題はここでいい?
49名無しさん@3周年:04/06/02 21:30
AccelleraつまりSystemVerilogがIEEE1364つまり今までのVerilogと袂を分かって
IEEE1800という番号を取るというニュースが流れてきたけど
その話題はここでいい?
50名無しさん@3周年:04/07/26 02:10
age
51名無しさん@3周年:04/08/21 05:58
金が無ければLinuxのikarus Verilogを使いなさい。
VCD波形はgtkwaveで表示しなさい。
気に入らなければオープンソースなんで、自分で手直しして使いなさい。
古いMacにMacOS Xを入れてiverilog(Icuarus)、GTKwaveを使っているよ。
53名無しさん@3周年:04/08/27 10:54
Windowsでもiverilogは使えるよ
http://www.kogaku.co.jp/studt/+%83%BF/e03+%83%BF.html
54名無しさん@3周年:04/08/27 12:12
55MyDoom被害経験者(当時は深刻):04/09/10 20:09:28
>52
GTKwaveはあまり生きの良いVCDファイルをうまく開けなかった記憶が
あるのですが、ボクの持ってるバージョンが古いのかな?
誰か国産で作ってみれ。

それと、イカルスは優れモノですね。惚れたますた。
あとはまともにVCD Fileを波形表示できるツールがあればなあ。
56名無しさん@3周年:04/09/25 08:37:54
シミュレーターでは GPLの cver はどう? 結構それなりに動くと思った。

VCD は・・昔いたとこで SimWave 使ってたんだけど、
あれは synopsys に買われて消えたのかな?
いま synopsys の tool で VCD は何で見てるんだろう?
57名無しさん@3周年:04/10/25 16:22:53
右翼 FUCK!
58ぼるじょあ ◆yBEncckFOU :05/01/13 22:57:21
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
59名無しさん@3周年:05/01/15 12:57:08
ダロス
60山.崎 渉:05/02/22 20:52:10
...これからも僕を応援して下さいね(^^)。   
  
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
         
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。                         
  =〔~∪ ̄ ̄〕                                            
  = ◎――◎                      山崎渉                       
                                
 __∧_∧_                                                 
 |(  ^^ )| <寝るぽ(^^)      
 |\⌒⌒⌒\                                
 \ |⌒⌒⌒~|         山崎渉             
   ~ ̄ ̄ ̄ ̄                            
                            
   ∧_∧                                       
  (  ^^ )< ぬるぽ(^^)      
                                                       
    (⌒V⌒)                    
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。   
  ⊂|    |つ                                
   (_)(_)                      山崎パン 
                                         
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕                          
  = ◎――――――◎                      山崎渉&ぼるじょあ
61名無しさん@3周年:05/03/13 04:28:04

設計言語Verilog-HDL入門
D.E.トーマス/P.R.モアビー(共著)
飯塚哲哉/浅田邦博(共訳)
62名無しさん@3周年:2005/06/03(金) 05:31:00
63名無しさん@3周年:2005/06/13(月) 00:49:03
イカロスverilog って
parameter Vref = 5.0/2.0;
というような表現はNGなんですか?
NCではOKだったのに
「unable to evaluate real parameter」
といって怒られます。
64名無しさん@3周年:2005/06/24(金) 16:07:53
それは、未だだ。
65名無しさん@3周年:2005/06/24(金) 16:24:42
イカロスなんて世の中に存在せんわけだが
66(´;& ◆Yw1l9IIdjg :2005/06/24(金) 21:48:20
(´;?ё;?`)ニコッ
67m9(& ◆xgOpg/KPLE :2005/06/24(金) 21:48:51
m9(??u?)
68名無しさん@3周年:2005/08/13(土) 00:04:45
ModelSimで"vsim -c"でCUIで動かしたのですが波形が出力できません。
vsim -wlf wave.wlfってやってもでない。
どうやればwlfファイルを出力できますか?教えてください。

vcdはでた
69JAPAN FUCK:2005/08/17(水) 23:13:25
JAPAN FUCK FUCK FUCK !!!!!!!!!!!!!!!!!!
70名無しさん@5周年:2005/12/28(水) 10:45:26
Java版VHDLというものを見つけた。

JHDL Homepage
http://www.jhdl.org/

BYUという大学で研究されてるってか。

CVSとかSubversionでバージョン管理してオープンソース
として公開してほしいところだが
71名無しさん@5周年:2006/04/12(水) 22:54:21
>>68
ログをとればいい。

わからなければ、 log -r * を付けてみると吉


#って、まだスレにいるのかなw
72名無しさん@5周年:2006/04/22(土) 22:29:29
教えておくんなまし。
VCDファイルを読み込んで、一部だけを再シミュレーションしたいのです。
ModelSimではできそうなのですが、VCSでの方法をご存知の方、教えて下さい。
73名無しさん@5周年:2006/05/01(月) 20:52:53
>>72
Modelsimでのやり方を教えてくれい
742:2006/05/04(木) 06:33:18
ASICをやめ、ソフト屋に転向して数年、
このスレまだあったんだ・・・。
75名無しさん@5周年:2006/11/15(水) 12:24:53
初心者で、学習ソフトのEndeavorをやってるのですがわからないところがありましたのでご教授お願いします。

こちらです。
http://up.spawn.jp/file/up50839.txt
「テンキーの指定したビットを1にします。」
と間違った部分にコメントが出ます。

■■■の部分が分からないんのですがよろしくお願いします。
76名無しさん@5周年:2007/04/02(月) 00:23:04
  ┌────────┐
  │ ☆祝☆長寿スレ |
  └────┰───┘ 
     ∧_∧
    ( ・∀・)   ∬
    ( ⊃旦⊃   旦
    ( ⌒)⌒) ┳┳

77名無しさん@5周年:2007/06/16(土) 22:57:28
ktkr
78VCS:2007/07/19(木) 09:10:35
シュミレーターツールの Synopsys VCSについて、どんな事でもいいので、知ってることがあれば教えて!!!

79名無しさん@5周年:2007/08/11(土) 09:06:42
お前が知っていることを書け。それからだ。
801:2007/11/07(水) 20:52:11
もう6年も経つのか・・・
未だにスレが残っている事にちょっと感動です;w;
81名無しさん@5周年:2007/11/07(水) 21:03:50
893 VS 名古屋大学相撲部 対決映像
http://video.nifty.com/cs/catalog/video_metadata/catalog_071106039866_1.htm
893が75キロ VS 105キロの空手家 体重差 30キロの殴り合い映像
http://video.nifty.com/cs/catalog/video_metadata/catalog_071105039557_1.htm
店でNo4 ホスト VS 黒帯空手家 決闘映像
http://video.nifty.com/cs/catalog/video_metadata/catalog_071104039294_1.htm
イケメン ホスト VS ブルースリー ボコボコに殴る映像
http://video.nifty.com/cs/catalog/video_metadata/catalog_071103039028_1.htm
893 VS ブルースリー マジに死闘映像
http://video.nifty.com/cs/catalog/video_metadata/catalog_071102038922_1.htm
82名無しさん@5周年:2007/11/21(水) 03:18:43
modelsimについての質問はどこに書けばよいでしょうか?
83名無しさん@5周年:2007/11/21(水) 03:20:49
どうぞ
84名無しさん@5周年:2008/05/29(木) 05:16:02
シミュレータは便利ですね。
85名無しさん@5周年:2008/06/07(土) 23:39:24
ModelsimのWebEditionって遅くしてあるみたいだけど製品版使ったらどのくらい速くなるかとかの目安ってあるんでしょうか。
現在テスト中のモジュールだと最終結果が判るまで丸一日かかるので期待した結果が出てないとマジへこみます。
86名無しさん@5周年:2008/06/19(木) 11:25:10
Cver とか使ってみたら?比較したことないけど。
87名無しさん@5周年:2008/08/01(金) 18:31:50
>>85
どこの誰だか知らんが評価ライセンスもらえ
もう見てないだろうけど
88名無しさん@5周年:2008/09/11(木) 23:47:29
CoWareってどうですか?誰に聞いても悪口しか言ってくれません。
89名無しさん@5周年
シミュレーターは開発には不可欠だね。