トップページ⇒sim
89コメント32KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@1周年NGNG
を作った人ってすごいですよね。
で、そのシミュレータって、どんなアルゴリズムになっているのでしょうか?
私の勝手な予想だと、AND,OR等をマシン語レベルのADDやSUB等に
置き換えてシミュレートしてるのかと思っています。
おしえて。
0002えーしっ君NGNG
> 1
> 私の勝手な予想だと、AND,OR等をマシン語レベルのADDやSUB等に置き換えてシミュレ
> ートしてるのかと思っています。

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

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

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

というのが、一般的な実装方法になると思います。
0003えーしっ君NGNG
sageてしまった。スマソ。

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

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

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

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

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

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

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

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

まずは、

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

では、ごきげんよう。
0005ソフト屋だけどハード矢NGNG
うおー。すごい!!!!!
EDAツール作ろうかなーって思ってたよ。
参考にするーよ↑
0006名無しさん@1周年NGNG

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

http://www.specc.gr.jp/index.htm
0008名無しさん@1周年NGNG
参考書ウルトラ希望。
0009名無しさん@1周年NGNG
boothのアルゴリズムって?
0010名無しさん@1周年NGNG
age
0011名無しさんNGNG
age
0012名無しさんNGNG
>>2-4
分かりやすい説明ありがとう

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

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

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

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

OpenCADみたいにグラフィカルにシミュレーションパターン作れるWaveエディタって
無いもんかねぇ。
003228@学生さんNGNG
>>31
レスありがとうございます。
まだVerilog-HDLを勉強しはじめたばかりなもので、
シンタックスエラー他が出まくってます…
0033名無しさん@3周年NGNG
http://asamade.net/cgi-bin/kado_e/pc_i_j_ez-index.cgi
一人登録されると1000円もらえる☆
簡単で儲かるYO
0034山崎渉NGNG
(^^)
0035山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0036山崎渉NGNG
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0037山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0038名無しさん@3周年NGNG

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

http://angely.h.fc2.com/page004.html
0039_NGNG
http://homepage.mac.com/hiroyuki44/
0040_NGNG
http://homepage.mac.com/hiroyuki44/hankaku09.html
0041_NGNG
http://homepage.mac.com/hiroyuki44/
0042_NGNG
http://homepage.mac.com/hiroyuki44/
0043_NGNG
http://homepage.mac.com/hiroyuki44/
0044山崎 渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0045ぼるじょあ ◆yBEncckFOU NGNG
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0046山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0047名無しさん@3周年NGNG
kai
0048名無しさん@3周年NGNG
AccelleraつまりSystemVerilogがIEEE1364つまり今までのVerilogと袂を分かって
IEEE1800という番号を取るというニュースが流れてきたけど
その話題はここでいい?
0049名無しさん@3周年NGNG
AccelleraつまりSystemVerilogがIEEE1364つまり今までのVerilogと袂を分かって
IEEE1800という番号を取るというニュースが流れてきたけど
その話題はここでいい?
0050名無しさん@3周年NGNG
age
0051名無しさん@3周年NGNG
金が無ければLinuxのikarus Verilogを使いなさい。
VCD波形はgtkwaveで表示しなさい。
気に入らなければオープンソースなんで、自分で手直しして使いなさい。
0052名無しさん@お腹いっぱいNGNG
古いMacにMacOS Xを入れてiverilog(Icuarus)、GTKwaveを使っているよ。
0053名無しさん@3周年NGNG
Windowsでもiverilogは使えるよ
http://www.kogaku.co.jp/studt/+%83%BF/e03+%83%BF.html
0054名無しさん@3周年NGNG

http://www.geocities.jp/dowtlow/

0055MyDoom被害経験者(当時は深刻)NGNG
>52
GTKwaveはあまり生きの良いVCDファイルをうまく開けなかった記憶が
あるのですが、ボクの持ってるバージョンが古いのかな?
誰か国産で作ってみれ。

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

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

設計言語Verilog-HDL入門
D.E.トーマス/P.R.モアビー(共著)
飯塚哲哉/浅田邦博(共訳)
0062名無しさん@3周年2005/06/03(金) 05:31:00
ttp://www.ascii.co.jp/1chip
http://find.2ch.net/?STR=%A3%B1%A5%C1%A5%C3%A5%D7&COUNT=10&TYPE=TITLE&BBS=ALL
0063名無しさん@3周年2005/06/13(月) 00:49:03
イカロスverilog って
parameter Vref = 5.0/2.0;
というような表現はNGなんですか?
NCではOKだったのに
「unable to evaluate real parameter」
といって怒られます。
0064名無しさん@3周年2005/06/24(金) 16:07:53
それは、未だだ。
0065名無しさん@3周年2005/06/24(金) 16:24:42
イカロスなんて世の中に存在せんわけだが
0066(´;& ◆Yw1l9IIdjg 2005/06/24(金) 21:48:20
(´;?ё;?`)ニコッ
0067m9(& ◆xgOpg/KPLE 2005/06/24(金) 21:48:51
m9(??�u?)
0068名無しさん@3周年2005/08/13(土) 00:04:45
ModelSimで"vsim -c"でCUIで動かしたのですが波形が出力できません。
vsim -wlf wave.wlfってやってもでない。
どうやればwlfファイルを出力できますか?教えてください。

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

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

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

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

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


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

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

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

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

0079名無しさん@5周年2007/08/11(土) 09:06:42
お前が知っていることを書け。それからだ。
008012007/11/07(水) 20:52:11
もう6年も経つのか・・・
未だにスレが残っている事にちょっと感動です;w;
0081名無しさん@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
0082名無しさん@5周年2007/11/21(水) 03:18:43
modelsimについての質問はどこに書けばよいでしょうか?
0083名無しさん@5周年2007/11/21(水) 03:20:49
どうぞ
0084名無しさん@5周年2008/05/29(木) 05:16:02
シミュレータは便利ですね。
0085名無しさん@5周年2008/06/07(土) 23:39:24
ModelsimのWebEditionって遅くしてあるみたいだけど製品版使ったらどのくらい速くなるかとかの目安ってあるんでしょうか。
現在テスト中のモジュールだと最終結果が判るまで丸一日かかるので期待した結果が出てないとマジへこみます。
0086名無しさん@5周年2008/06/19(木) 11:25:10
Cver とか使ってみたら?比較したことないけど。
0087名無しさん@5周年2008/08/01(金) 18:31:50
>>85
どこの誰だか知らんが評価ライセンスもらえ
もう見てないだろうけど
0088名無しさん@5周年2008/09/11(木) 23:47:29
CoWareってどうですか?誰に聞いても悪口しか言ってくれません。
0089名無しさん@5周年2010/03/10(水) 11:16:26
シミュレーターは開発には不可欠だね。
■ このスレッドは過去ログ倉庫に格納されています