【Verilog】プログラムで作る回路 Project1【VHDL】
>>933 別に宣伝した訳じゃないが、いろいろと只の物安い物を試してて見つけた
訳で、人柱になろうかと思ってるだけ。
やっぱり日本人が作ってるのは好感もてるし。
入力のデフォルト値なんですが、
VHDLの a:in std_logic:='1'とか、AHDLの a:INPUT=VCC にあたるものって、
Verilogではどう書けばよいのでしょうか?
>>935 シミュレーション時のデフォルト値はinitialで設定できるけど、
論理合成時は無視されるから、電源投入直後にデフォルト値
がハード的に保証される訳ではなく、結局はリセットタイミング
を設けて初期値を代入するしか手がないんじゃないかな?
937 :
935:04/08/10 00:30 ID:kg0xzm7P
なんというか、たとえば下位モジュールに clock enable を追加したら、
過去に作った上位モジュールすべてに
module_name instance_name (.clken(1)← これを追加する作業が必要になるのか?
と思ったわけです。
938 :
774ワット発電中さん:04/08/13 23:46 ID:50uk4FKN
回路図は詞だ
そして詞を書いて回路が創れるようになったのがHDL
とか逝ってみるテスト
そしていつかは詩で回路が創れるようになるかもしれない
とか逝ってみるテスト
939 :
↑↑↑↑↑↑:04/08/14 00:20 ID:7afLbBr2
回路図が詞なのか詩なのかはどうでも良いが、プリント基板のパターン設計は何なのだろうとふと思ってしまった
FPGAやCPLDの内部でさえも、動作速度を上げる為に内部の配置配線をいじるのは常識になりつつあるみたいだし、、、
プリント基板レベルでの配置配線はFPGAやCPLD内部の配置配線をいじるより遥かに動作速度に影響ありそうな気が?
プリント基板レベルでの配置配線が詞で書ける時代はくるのだろうか?
940 :
774ワット発電中さん:04/08/14 07:18 ID:wEtmwPHE
↑つーか、自動でしょ?
あんた、学生?
941 :
774ワット発電中さん:04/08/14 11:17 ID:lSrDgwlT
>>940 部品の配置とか置き方をある程度指定してやんないと、高速で作動させるには無理のあるとんでもないのが出来るでしょ?
最近は出来上がったプリント基板のパターンをシミュレーションしてノイズや遅延の評価するみたいだけど。
でもそれは基板屋さんがやってくれるわけではない。
以前はパスコンとか、ICのそばの電源とかGNDのべた層に付いてるだけのものが多かった。パスコンの意味が殆どないようなパターンがまかり通っていて、回路設計者もそのことにたいして注目していなかった。
続きをどうぞ。
>>940 自動って、そんなレベルのものしか作ってないのか?
クリティカルな部分のパターンは、回路設計者が引かないと性能でないでしょ!
同じくFPGAのピン配置なんかもパターン考慮して決めていくが、やってないのか?
BGAは、パターンをイメージしながらピン配置するのは特にタイヘン。
940は低レベル技術者
LSIのレイアウトは曼陀羅に例えられそう。
ただ、最近は感動するレイアウトって少ないんだよなぁ。なんかごちゃごちゃしてて。
他社チップでもこれは凄いと思うのは少ない。10MGって言っても"へぇ〜"ぐらい。
>>945 基本的にはツール任せだからねぇ。
それこそ莫大なロット数の出るフルカスタムチップでもないと
今の時代、職人的レイアウトはできないと思う。お金的にも時間的にも。
947 :
774ワット発電中さん:04/08/15 00:52 ID:vu+RoTMy
VHDLのconfigration記述について質問なのですが、
現在テストベンチを作成しているのですが、
workライブラリの中に検証対象の回路をコンパイルしたデータが入っており、
回路の一部のRTLを検証用のテストモデルと置き換えて検証を行いたいのです。
テストベンチのTOP階層とコンフィグレーション記述のVHDLは同じライブラリにコンパイルし
回路本体とテストモデルは別ライブラリにコンパイルしてあるのですが、
コンフィグレーションで別ライブラリを指定すると
コンパイルの際にライブラリの中にエンティティが見つからない
といったエラーが出ます。
コンパイラはNCVHDLを使用しています。
VHDLに詳しい方、どなたか教えていただけないでしょうか?
948 :
マイコン直結CCDが欲しい:04/08/15 01:23 ID:LxYkXxwg
ライブラリの使い方の問題のような予感。
サポートに聞いた方が早いかもよん
949 :
774ワット発電中さん:04/08/15 01:25 ID:BMiRH753
そうですね
950 :
774ワット発電中さん:04/08/20 00:18 ID:aps+BHvy
どなたか教えていただければ幸いです。
design_compilerでhigh fanoutが出たって警告が出てしまいました(TIM-134)
どこがhigh fanoutになっているかしらべるコマンドがありましたら教えてください。
TCLモードだとあるみたいなんですが、私の環境ではTCLモードで
起動できないようなのです。
よろしくお願いします。
マルチポストすいません・・
板を跨ったマルチか?
シノプシスに聞け。
952 :
774ワット発電中さん:04/08/20 00:29 ID:aps+BHvy
>>951 えぇ、あっちの板から来ました。
シノプシスに聞きたいのですが、学校がシノプシスから
お情けでソフトを使わせていただいている状態でして、
学生の私ごときなんざサポートを全く受けれないんです・・・
953 :
774ワット発電中さん:04/08/20 00:58 ID:aps+BHvy
report_netっていうのがあるみたいです
ご迷惑をおかけしますた
954 :
774ワット発電中さん:04/08/20 04:43 ID:aps+BHvy
何度もすいません
report_net ってやったらすべてのネットのファンアウト数がわかるんですが、
どのネットのファンアウト数もエラーになる基準値(1000)以下にもかかわらず
エラーメッセージが出てしまいます。
こういう場合ってありえるんですか?どなたか経験のある方
いらっしゃいましたらご教授ください。よろしくお願いします。
>>950 TCLモードはdc_shell-tというコマンドです。
それと確か.synopsys_dc_setupをTCL風にする必要があるので
dc-transcriptコマンド(だったかな?)で変換してください。
ファンアウトのWarningはよく知りませんが
信号名が表示されていませんか?
956 :
774ワット発電中さん:04/08/20 18:59 ID:aps+BHvy
>>955 レスありがとうございます。試してみますね。
high-fanoutになっている信号名は表示されないみたいです。
いちいちageで質問するなよ馬鹿
958 :
774ワット発電中さん:04/08/20 20:32 ID:oMDPctYz
いちいちageで脊髄反射するなよ馬鹿
質問者の態度者ねーな
マルチポスト、age、逆切れ
痛すぎる馬鹿だ。
スレッド汚しをしないで貰いたい。
すんませんでした ただ逆ギレは自分ではないです
>>962 大人な対応ありがとうございます。
以前からsolvnet使いたいと思っていたのですが、SiteIDとやらを
教授(admin)に教えて下さいとメールしたまま放置プレーを
喰らっている状態です(;;)
>> 947
単純ミスのような気がします。
↓3点は間違いないですか?
(1) RTLと検証用テストモデルでentity名は同じか。
(2) RTLと検証用テストモデルのentityの中身は同じか。
(3) architecture名は同じか。(architecture XXX or entity is
のXXXの部分)
まずは、configuration文とNCVHDLのエラーメッセージを載せて下さい。
configuration文を載せるときは、RTL用と検証用テストモデルの両方か
もしくは修正点がわかるように載せて下さい。
滅茶苦茶初歩的な質問なのですが、スマソ
グローバルクロックとかシステムクロックとかって、HDLの記述上結線されているだけなら階層構造の3層とか4層とかの下位の深い層でも繋がっているんですか?
勝手にバッファとか入ったりしないんですか?
それと、速度優先でコンパイルすると正常に動くのに、面積優先で合成すると誤作動する場合って、何が原因?
誤作動に影響ある信号は、一度メインのクロックでたたいているし、最高動作周波数の約1/20の周波数で作動させているので問題ないと思ってたのですが、面積優先だと誤作動してしまったんです。
結局、もう一度、最終的に処理する部分をメインクロックでたたき直したら、面積優先でも正常に動作しました。消費ロジックセル数も、クロックでたたき直す前と変わりなかったし、結果オーライでいってしまったですが。
最高動作周波数も、大して変わらなかったし、これで本当に良いのか?と疑問に思ったので。
グローバルクロック木の根元
スキューの心配休むに似たり
気まぐれは微妙なタイミング
渡るドメインにシンクロあり
>>965 high_fanoutに対する制限かけない限り
勝手にバッファは入らないだろ
論理合成ツールは何?
design_compiler?
面積優先の時どんな誤作動起きたのか
誤作動に影響ある信号ってどういう意味で言ってるのか
ちょっと情報が足りないように思う
968 :
965:04/08/25 02:43 ID:WMQtx+zF
>>966-967 クロックに関しては、心配することなかったですね。初歩的質問に答えて頂いてありがとうございます。
実は
>>926です。
21ビットの単純カウンタとその下に8ビットのアップダウンカウンタが2個あって、8ビットの方はアップダウン制御の他、ホールド、及び外部データのロード機能を持ってます。
マニュアルモードの時、外部データをロードし、このときホールド信号もON、外部データのロード信号は、21ビットのカウンタの全てのビットが'1'となったときにクロックでたたいたパルス使ってます。
オート動作に移行時に、ホールド信号を解除してロード信号もディセーブルにする。といった感じです。
そうすると、マニュアルモードでロードした値からアップカウント、もしくはダウンカウント開始する筈が、2つの8ビットのカウンタのうち一方だけが何故かロードした値からカウントを開始せず、オール’0’にリセットされてカウント開始してしまったです。
2つの8ビットのカウンタはどちらもそれぞれコンポーネントとして全く同じ記述のものを使ってたのですが、片方のカウンタの動作だけがおかしかったので、もしやと思って速度優先でコンパイルしたらどちらも正常に動いたのです。
クロックでたたき直したのは、ロード信号とそのイネーブルです。
論理合成はQ2のWeb版です。(^^;)
でも、ソース公開しなきゃわからんと云われそうなので、調査逝ってきます。
969 :
965:04/08/25 23:06 ID:1gthgHLW
調査結果がでました(^^;)
よくよく調べたら、ロード信号を作るタイミングが変更されていて、非同期の外部コマンド信号を受けた時にイネーブルの切り替わりとほぼ同時にロード信号が立ち上がるようになっていました。
最初はメタステーブルかと思ったりしましたが、対策はしてあるし、結論として、イネーブルからディセーブルに切り替えるときに、ロード信号もほぼ同時に立ち上がるため、ひげが発生していたと考えるのが妥当なようです。
ロード信号は非同期で8ビットカウンタに外部データがセットされるようにしてあり、また、マニュアルモード以外では、外部データはオール’0’となるようにしてありました。
ロード信号とそのイネーブルをクロックでたたき直せばひげが消えるので、前回の対策の結果としても辻褄が合います。
で、最終的に、ロード信号の立ち上がりをイネーブルの切り替わりから1クロック遅らせることにしました。
初歩的なミスだったようです。お騒がせいたしました。
970 :
774ワット発電中さん:04/08/28 00:28 ID:4Ufs69Xe
アクテルの無償評価版ツールて、シンプリファイやモデルシムが使えるんですね。驚いてしまった。
テクセルのサイトでは、日本語の簡易マニュアルもあるみたいだし。
それより何より、現時点でアクセスカウンタが164なのには驚いてしまった。
http://www.teksel.com/actel/libero60/index.htm Q2では通ってたソースを、アクテルの無償評価版ツールのシンプリファイで論理合成したら、より厳密に文法チェックされてワーニングがいっぱい出たのには参った参った。
どうでも良いから改行くらい覚えろ。
972 :
774ワット発電中さん:04/08/28 01:50 ID:OoDVFaza
どうでも良いから改行くらい覚えろ。
973 :
774ワット発電中さん:04/08/28 02:11 ID:QjGQ+vRh
どうでもよいけど、XGAとSXGAとUXGAを使ってる人とでは、改行位置が異なる。
974 :
774ワット発電中さん:04/08/28 02:46 ID:ba4/hJTn
質問というか悩み事というか。厨で申し訳ないが、皆さんの御意見希望。
私はverilog弄っている外注業者なのだが、今度客先でFPGAの回路レビューを行う事になった。
客先より 「HDLだと判らないから、回路図で資料を作ってこい。それとブロック図もね。」 と言われた。
こんな時皆さんどうしてますか?
最終手段として RTL_VIEWER で回路図面化するという手もあるが、こんなの俺が見ても
わかんねー。 どうにかして突っぱねよーかと思ったりもしているのだが、何か良い方法あったり
しないでしょうか。
>>977 情報ありがとうございます。評価版で試してきます。
>973
80カラム25行に収まるように改行汁!!
980 :
VHDL使い:04/09/02 23:45 ID:XpaR+gms
>>947 entity がおなじなら、architectureだけ置換するように、書いてあげれば
いいんじゃないの?
文法は、Webで調べたりしてね。それでエラボレイトし直せば
おそらくうまくいくんじゃない。
まとめ…entityと動作が同じなら、bindするだけでOK!
981 :
◆YMO/ALTERA :04/09/02 23:49 ID:jouCl5YF
980超えると24時間以内にDAT落ちしちゃうっぽいので
次スレよろしく〜
ゴメン、俺、カゼひいて辛いのでテンプレ用意する元気がない…(他力本願
982 :
980:04/09/02 23:52 ID:XpaR+gms
ライブラリはこの際だから、WORKに必要なところだけほうりこんでおけばいい。
もしくは、Visibleになるように指定してあげる。
Library文とUse文をつかってね。
あなたの環境がわからないので、ライブラリのパスはようわからん。
しかし、こういうことは、僕も悩ましいとおもっています。
がんばってね。