ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webadm
投稿日時: 2006-4-11 6:36
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
ALTERAからQUARTUS IIのCDが届いた
ALTERAのサイトでユーザー登録してonline shopでポチっとクリックするだけでQuartus IIのCDを無料で注文することができる。

先月末だったかダウンロードするのが面倒なので注文したのは覚えているが、今月になって忘れた頃にそれが届いた。といっても紙製のCDパッケージに宛先をはって郵便局から出しただけのものだが、わざわざ北米のサンフランシスコから届けられてきたようだ。



表に書いてある通りだとNios IIの評価版も入っているらしい。気がきいている。

ALTERAというと国内では代理店が再編されたりしてXilinxに押され気味で守備シフトを余儀なくされているようだけれども、最新のDesign Wave誌とかの裏面広告を見ると設計者に再考を促す作戦に出ているらしい。

でもこのところ手頃な製品とかが今年限りでディスコンになるとかで、その関係のデバイスはもうデータシートすらサイトに置いていないという感じ。FLEX8000のPLCCタイプとか。

あとはトラ技付録のCPLD基板に部品を乗っければ試すことができる。部品もあらかじめセットになって若松通商とか他からも購入することができるみたいだけど、結構それが高いんだよね。
webadm
投稿日時: 2006-4-11 20:49
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
QUARTUS II Web Editionの罠
最初にCDからインストールしてWebでライセンスをゲットしたところまではよかったがそこからが大変だった。

CDパッケージにはService Pack 1をダウンロードすべしと張り紙がしてあるので、Webを開いてみるとそこにはQuartus II正規版とWeb Edition版の2種類のファイルがある。正規版の方をダウンロードしてみたが起動すると正規版がインストールされてないとだめらしいことが判明。Web Editionには適用できないらしい。

しかたなくWeb EditionのService Pack 1をダウンロードすることにしたが、これが250MBぐらいと特大。あとでわかったがWeb EditionのService Packはすべてインストーラー込みのfull packageだということ。つまり再インストールするのと同じ。

これではCDをもらった意味がない気がしてきた。とりあえずSP1をインストールした後で最初にインストールしたWeb Edition 5.1をUninstall。

そして良くWebを見るとService Pack 2がもう出ているらしいことが判明。また250MBをダウンロードしなければならないはめに。そしてsp1と短いつきあいだったけどさよなら。

更にsp2でも不具合があるらしく緊急パッチが提供されている、これは正規版もWeb Edition版も差分だけなのですぐダウンロードは完了。

やっと落ち着いたところで、起動してみると最初に設定したライセンスはずっと引き継がれているらしく再設定する必要はなかった。メニューを見るとMax+Plus IIのprojectをQuartus IIにコンバートする機能があるらしいので、万年カレンダーをQuartus II用にコンバートしてみることにした。

結果はFLEX8000をデバイス指定していた点が警告が出たぐらいで問題無くコンバート完了。Max+Plus IIと同じ要領でFLEX10Kにデバイスを変更してコンパイル実行。こちらはツールバーの再生ボタンみたいなものをポチっと押すだけで簡単。

Max+Plus IIとは作りがだいぶ違うらしく、コンパイルにはかなり時間がかかるが、警告が1つ出て完了。どうやらQuartus IIではクロック信号に関してはあらかじめ設定が必要ならしい。F1で関連ヘルプを出してクロック信号の設定の仕方を覚えて実行。

今度は問題無くコンパイル完了。結果を見るとMax+Plus IIの時とだいぶ使用されたLC数が違う。Max+Plus IIの時は52%だったのがQuartus IIでは88%と増えてしまっている。噂に聞いていた通りだった。

どうやらHDL記述の中のBCDカウンター構成部分を自動的にカウンターマクロ(lpm_counter)を使ったものに置き換えられてしまったのが原因かと思ったがそうではないらしい。

RTL viewerというのを使うと合成された論理が回路図になって表示される。これは合成結果を論理式から回路図に起こす必要がなくてわかりやすい。しかし膨大だ。よく見ると配線ノードの代用なのか余分なバッファノードが挿入されている。これがLC占有率を上昇させている本当の理由なのだろう。

参考までにカウンター周辺回路を印刷してみる。

カウンター周辺のRTL View(PDF)

webadm
投稿日時: 2006-5-26 2:35
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
Quartus IIにはRevision control機能があった
ふとメニューをいろいろ見ていたら、テキストデザインを開いているときにFileメニューにRevisions..というのがあるのを発見。

開いてみるとどうやら簡単なRevision管理機能があるようだ。これならうっかり修正ミスっても以前の版に安全に戻ったりすることが出来るようになる。気がきいているが、誰も気づかないに違いない。


webadm
投稿日時: 2006-5-30 20:17
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
ALTERAのmySupport
ALTERAのデザインツールのライセンスを取得するためにはユーザー登録が必要であるが、同時にユーザー登録すると無償のWeb Editionでも技術サポートがmySupportというので受けることができるようになっている。

実際どうなんだろう、本当に対応してくれるのだろうかと疑問には思っていたが、今回ひょんなことからMAX+PLUS II Advanced Synthesisで書いたVerilog HDL版の万年カレンダー時計とかをQuartus IIに同じディレクトリで移行するとQuartus IIの論理合成で深刻な内部エラーが発生するという現象が気になってとうとうmySupportでサポートリクエストを書いてみた。

最初は自動応答で受け付けた旨がメールで届く。その後に担当者から記名入りで返事が即やってきた。ほほう、対応早いね。暇なのかな?

どうやらあちらで再現させるためにデザインを送ってくれとのこと。というわけでQuartus IIのproject archive機能を使ってアーカイブしたファイルを元のリクエストに添付しておいた。

Quartus IIになって設定とかその他の中間情報はすべてデーターベース化されてしまったので簡単にエディタで中ひらいてごにょごにょするというのができなくなった。なのでどこがどう間違っているのか自分で探すことは困難。

さてどんな回答がかえってくるか楽しみ。
webadm
投稿日時: 2006-5-31 2:32
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
その後の進捗
問題が起きたプロジェクトのアーカイブを添付したら、さっそく次のレスポンスが。

デザインソフトの開発陣と問題の現象について協議を開始したとのこと。ということは拙作のjunkenunitとかcalendarがALTERA社内でさらしものになっているということか。calendarはまあ面白いとおもうけどjyankenunitはね。

まあ小さなコードでも問題は再現するということはいいことだ。

回答が得られたらまた連絡するというレスがついてました。

mySupportのシステムというかWebインターフェースは良く出来ていると思う。特注なのかどっかのパッケージを利用しているのかは謎。けどやりとりするのに作業的な負担が最低限で済む。表示も見やすいね。ちょうどEQのpetition systemをweb版にしたようなかんじ。このたぐいのスタイルが業界標準なのかな。
webadm
投稿日時: 2006-5-31 19:14
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
ちょっと進展があった
引き続き詳細は調査中とのことだが、どうやらMAX+PLUS II Advanced Synthesisのプロジェクトからコンバートした場合に、Quartus IIが自動的に作成する.qsfファイルに以下の行が決まって挿入されていることが判明した。

set_global_assignment -name TDO_DUMP_FILE AUTO

この行をエディタで開いて削除すればinternal errorは起きずにコンパイルが正常に出来るようになる。

どうもこの行の意味するところを担当者自身も知らないようで開発陣が調査中とのこと。

やはり無償の論理合成ツールを使っている利用者は皆無ということなのだろうか。それともMAX+PLUS II Advanced Syntheisを使っている人が実はほとんどいないか、スクラッチからプロジェクトを作ってエントリし直しているのか。どれかだろう。

意外にレスポンスが良いのは好感度がもてる。

ちなみにAHDLベースのMAX+PLUS IIプロジェクトのコンバートはまったくそうした問題はない。開発者もすっかりMAX+PLUS II Advanced Synthesisの存在を忘れていただけなのではなかろうか。どうもネットリストをAHDLで吐き出そうとして転けているように見える。本来ならEDIFとかで引き継がれるべきだろうがAUTOとかなっているのはバグだろうと勝手に想像してみる。
webadm
投稿日時: 2006-6-1 0:33
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
結論が出た
MAX+PLUS II Advanced Synthesisプロジェクトからコンバートすると.gsfファイルに

set_global_assignment -name TDO_DUMP_FILE AUTO

が混入してinternal errorを起こすのはバグらしく次のバージョンで修正するとのこと。

あと、calendar.vをコンパイルするとなんの変哲もない7seg ledデコード関数

引用:

function [6:0] bcddecode;
input [3:0] bcd;

case (bcd[3:0])
4'd0:
bcddecode = 7'b0111111;
4'd1:
bcddecode = 7'b0000110;
4'd2:
bcddecode = 7'b1011011;
4'd3:
bcddecode = 7'b1001111;
4'd4:
bcddecode = 7'b1100110;
4'd5:
bcddecode = 7'b1101101;
4'd6:
bcddecode = 7'b1111101;
4'd7:
bcddecode = 7'b0000111;
4'd8:
bcddecode = 7'b1111111;
4'd9:
bcddecode = 7'b1101111;
default:
bcddecode = 7'b0000000;
endcase

endfunction


で4'd0,4'd1以外のケースで以下の気持ち悪いWarningが出る件

Warning (10199): Verilog HDL Case Statement warning at calendar.v(41): case item expression is ignored because it never applies

これもどうやら、この関数を呼び出している式で関数の入力に以下のように一部定数ビット(1'b0とか)が指定されているものがあると、

引用:

segment = bcddecode({1'b0,1'b0,1'b0,MONTH[4]});


当該ビットが1のケースについては評価されない可能性(0固定のため1になることは無いと?)があるため4'd2以上の値にはWarningを表示しているとか。もちろんこれは不適切で、実際にはすべて正しく評価されるように論理合成されているので適切ではないので次のバージョンで直すとのこと。

スピーディで正確かつ誠意ある対応で好感がもてました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索