【Verilog】記述言語で論理設計 Project2【VHDL】
■ このスレッドは過去ログ倉庫に格納されています
0001792= ◆YMO/ALTERA
04/09/03 12:21ID:p+kby74r安価で入手できるようになってきました。
このスレが目に入ったおまえ! HDLで何か作って遊んでみませんか。
日曜工作のHDL書き、学生さん、プロの方、カキコお待ちしております。
関連情報は >>2-10 あたり。
前スレ
【Verilog】プログラムで作る回路 Project1【VHDL】
http://science3.2ch.net/test/read.cgi/denki/1072330555/l50
【FPGA/CPLDスレ】 XILINX/ALTERA/Lattice
http://science3.2ch.net/test/read.cgi/denki/1081231226/l50
暇だからVHDLでも書こうかな
http://pc5.2ch.net/test/read.cgi/tech/1043858153/l50
【std_logic】Verilog VHDLスレ【16'hFFFF】
http://science3.2ch.net/test/read.cgi/kikai/1056186047/l50
フリーのツール(情報追加よろしく!)
ALTERA Quartus II Web Edition http://www.altera.co.jp/
XILINX ISE WebPack http://www.xilinx.co.jp/
評価基板とか(追加情報よろしく!)
Spartan-3 Starter Kit http://www.xilinx.co.jp/products/spartan3/s3boards.htm
CQ出版のシリーズ http://www.cqpub.co.jp/eda/
雑誌
Design Wave Magazine(DWM) http://www.cqpub.co.jp/dwm/
※基板が付録で付いている号はバックナンバー希少になりがち
Interface http://www.cqpub.co.jp/interface/
0003774ワット発電中さん
04/09/03 12:42ID:/IhaXLhF不調なのにご苦労様。体調気を付けてね。
0004& ◆t58k6Wvkqk
04/09/03 21:30ID:6pUqcToxまたVerilogのVCDフォーマットみたいなやつ、VHDLにはないの?
あまり、ソースがないので、困っています。
0005774ワット発電中さん
04/09/03 21:42ID:DudfWI6n乙
0006774ワット発電中さん
04/09/04 00:36ID:E9wuijWnhttp://www.actel.com/intl/japan/index.html
Actel社のフリーツールLibero 6.0は、評価版ながら、放射線対策3重冗長回路の
論理合成まで出来る優れもの。(約300MB)
http://interact.actel.com/gbnew/lr.cgi
日本語資料の豊富なこちらのサイトも参考になります
http://www.teksel.com/actel/
Libero 6.0の簡易日本語マニュアルはこちら
http://www.teksel.com/actel/libero60/index.htm
Libero 6.0のSynplifyによる宇宙環境向け、3重冗長回路の論理合成方法
http://www.teksel.com/actel/desktop/no28.htm
0007774ワット発電中さん
04/09/04 00:59ID:E9wuijWnhttp://www.fpga.co.jp/top.html
FPGA評価ボードを多く販売してる有限会社ヒューマンデータのHP
評価ボードの回路図も公表されているので、FPGAを使った試作ボード
の設計にとても参考になります。
http://www.hdl.co.jp/home.html
私はアマチュアなので知識が偏ってます。
あとは裏方に回らせてください( ´∀`)
0009774ワット発電中さん
04/09/04 01:34ID:oLE/jva2仕事で一度は使ってみたいと思いつつ、デリバリーや性能の点で
選外になるんだよね・・・。
書き込みや、ツール問題さえなければ趣味で使ってみたい石ではある。
001010
04/09/04 22:11ID:QbgqDZwn0011774ワット発電中さん
04/09/05 16:02ID:vdefAcEsALTERAが出しちゃった。新しいCPLDだって言い張ってるけど。
0012774ワット発電中さん
04/09/06 12:26ID:HY2eBUQJ俺も初めて聞いたときには笑った。思わず営業の人に「何これ?」って聞いちゃいました。
0013774ワット発電中さん
04/09/06 20:43ID:UUmwitZG0014774ワット発電中さん
04/09/06 21:24ID:I1N0glls只ツールと只ライターが無ければホビーユーザーとしては魅力無しだわ。
0015774ワット発電中さん
04/09/06 22:17ID:UUmwitZG一番下のヤツしかコンパイルできんかったような。
使えそうもないし、そもそもデバイスが入手できるかワカランし、
結局インストールもしなかった。
0016774ワット発電中さん
04/09/06 22:34ID:I1N0gllsコンパイル出来ても結果をDL出来なければアウト。
0017774ワット発電中さん
04/09/09 22:01ID:uzq2T1jiconfig中はI/Oピンはやっぱりハイインピーなのかな?
システムリセットは電源監視ICだけじゃダメってこと?
SRAMベースのFPGA初めてつかって回路組んだけど、苦労したところだったもんで。
リセット回路はなんとかなったけど、
config中はI/Oピンはハイインピーになること後で知ってプルアップ抵抗追加した。
MAX2だと、そんな苦労しなくても済んだのかも?と思ってたもので。
0018774ワット発電中さん
04/09/09 23:46ID:h30ugBA2微妙かも。
でも、リセット時Zになっていてくれた方が良い場合もあるから何とも言えないかなぁ。
0019774ワット発電中さん
04/09/10 00:18ID:naQwL9dP3k程度で手に入るけど、configROMやら、コア電源用レギュレータやらで
スペース取られて、しかも部品代が結局合計1万円コースになってしまう現状
からすれば、configROM内蔵のFPGAは、結構使いやすいし安上がりと思う。
0020774ワット発電中さん
04/09/10 00:26ID:7TpCfxag漏れはこれを機に全品種ROM内蔵に移行して欲しい。
0021初心者
04/09/10 22:00:43ID:QC4CB+yJ割った答えを16BITで出力する回路を
考えています。
答えに少数点以下の数値がある場合は、
整数に繰り上げます。
例えば、
(簡単のため10進数で考えると)
答えが1.1なら → 2とする
答えが1.000023なら → 2とする
といった具合です。
関係演算子「 >= 」と 加算演算子「 - 」を使って
解を求めようとしているのですが、
[ 000000111111 >= 5.5 ]
のような評価や
また、[ 000000111111 - 5.5 ]
のような計算が出来ません。
データタイプの異なるものに対して
どのようにしたら評価できるのでしょうか?
どうか教えて下さい。
0022774ワット発電中さん
04/09/10 23:50:59ID:mkow8z/rマルチポストする奴には知っていても教えない。
0023774ワット発電中さん
04/09/11 00:29:43ID:lj2zL9W3割った答えを16BITで出力する回路を
考えています。
答えに少数点以下の数値がある場合は、
整数に繰り上げます。
例えば、
(簡単のため10進数で考えると)
答えが1.1なら → 2とする
答えが1.000023なら → 2とする
といった具合です。
関係演算子「 >= 」と 加算演算子「 - 」を使って
解を求めようとしているのですが、
[ 000000111111 >= 5.5 ]
のような評価や
また、[ 000000111111 - 5.5 ]
のような計算が出来ません。
データタイプの異なるものに対して
どのようにしたら評価できるのでしょうか?
どうか教えて下さい。
0024774ワット発電中さん
04/09/11 02:10:12ID:tLWtgUc30025774ワット発電中さん
04/09/11 16:28:35ID:SPowAtKy教えて差し上げますので
どうかsageを覚えてくださいませ
mail欄に半角英で「sage」
そんだけです
貴方の挙げた数を例に取ると、
下位に一桁追加して
[0000001111110(63.0) >= 0000000001011(5.5)]
[0000001111110(63.0) - 0000000001011(5.5)]
でよろしいのではないでしょうか
ていうかお前
ageマルチポスト荒らしはヤメロ
あと12BITを5.5で割って整数に切り上げで出力なら
答は10BITで十分だろがこの水羊羹
0026774ワット発電中さん
04/09/11 22:15:56ID:m952+8TF割った答えを16BITで出力する回路を
考えています。
答えに少数点以下の数値がある場合は、
整数に繰り上げます。
例えば、
(簡単のため10進数で考えると)
答えが1.1なら → 2とする
答えが1.000023なら → 2とする
といった具合です。
関係演算子「 >= 」と 加算演算子「 - 」を使って
解を求めようとしているのですが、
[ 000000111111 >= 5.5 ]
のような評価や
また、[ 000000111111 - 5.5 ]
のような計算が出来ません。
データタイプの異なるものに対して
どのようにしたら評価できるのでしょうか?
どうか教えて下さい。
0027774ワット発電中さん
04/09/11 22:19:48ID:fqPQb5210028774ワット発電中さん
04/09/11 22:21:10ID:N8gd9KNcまぁここでは関係無いだろう…。
12bitだと4096-1までだから、4095/5.5=682.5。
だから10bitで十分。
002925
04/09/12 01:16:07ID:qaDfhCoh0030774ワット発電中さん
04/09/12 02:59:05ID:xtfXZxqW0031774ワット発電中さん
04/09/12 09:11:45ID:+Tdr4uZyWeb上で手に入る入門書というより例文集といった感じであるが、
HDLコーディングスタイルガイド
http://www.teksel.com/actel/data/hdl.zip
Actel社提供だが、第二章はテクノロジに特化しないコーディングスタイル
で、基本ロジックがVHDL,Verilogの両方で書かれているのでとても参考に
なると思う。
003230
04/09/12 23:34:57ID:xtfXZxqWじっくりみてみます。
0033774ワット発電中さん
04/09/14 01:13:52ID:/oyP7a6Jものの本にはVHDLはAdaが基になってると書いてあったけど。
http://www.w-frontier.com/delphi/2_koubun.html
http://www.w-frontier.com/delphi/tips.html
PIOボードやGPIBボードも多少機能制限あるがドライバ対応してるみたいだし
Delphiでもよさげな気がしてきた。
0034774ワット発電中さん
04/09/14 01:28:17ID:mHhWMXlG趣味だとそれで良いのだが、仕事で使うと開発ツールを新規に購入
とか色々と問題があってなかなか導入に踏み切れない。
Delphiの良さは十分に理解してるが、MSの囲い込みにはやはり弱い。
0035774ワット発電中さん
04/09/14 22:55:45ID:LkeO8kTSここにADAのプログラムがちょこっと載ってた。
http://iip-lab.ics.es.osaka-u.ac.jp/people/inoue/program-sekkei-00.html
ほとんどVHDLそのままだな。
0036774ワット発電中さん
04/09/14 23:00:06ID:sVV72nl7そりゃADAベースだから。
0037774ワット発電中さん
04/09/16 00:32:10ID:WJmyeviz0038774ワット発電中さん
04/10/04 22:57:35ID:C093HSbrサイのアーモンド型のつぶらな目が大好きでした。
ありがとう。つぼはち
0039774ワット発電中さん
04/10/09 09:27:36ID:4n1MEssY実際に動く評価基板があればそこから始められるんだけど、
シミュレータからだと、初心者には分かりづらいよね?
シムとかテストベンチから入った香具師の体験談きぼん
004139
04/10/09 17:29:05ID:4n1MEssY0042体験談1
04/10/09 19:08:35ID:2q5Gawao(ただしC言語は習得済みでした)
始めに、本を買いました。
CQ出版 改定入門Verilog HDL記述
CQ出版 HDLによる高性能ディジタル回路設計
ソフトは以下を揃えました。基本は無料ですよね。ホビーですし。
GPL cver (UNIX用フリーVerilogシミュレータ)
cygwinが入っていたので。根っこを学ぶ分にはGUIよりCUIのほうがいいこともあります。
ALTERA Quartus II Web Edition
XILINX ISE WebPack
無料でつかえるソフトでは高性能、現実的だと思ったので。
テストベンチかかなくてもいいですし。
まずは、googleさまのご神託と共に入力信号を反転させる回路を記述しました。
テストベンチを書き、cverで動作を確認。
導入からここまでで1週間といったところでした。つづく。
0043体験談1
04/10/09 19:15:29ID:2q5Gawaoシム→シミュレータ
テストベンチ→自分が設計した回路をテストするための条件
42の例でいくと、
0秒目は入力Aに0を入力する
1秒目に入力Aへの入力を0から1に変える
2秒目でシミュレーション終了
・・・というのをVerilogとかで書いたものをテストベンチというですよ。
0秒目は出力Bに1が出ている
1秒目は出力Bが1から0に変化する
2秒まで出力Bは0のまま
という結果がでてくれば、期待通り(入力信号が反転している!)
というわけです。
というわけで、期待通りの動きをするかどうかを、シミュレータに(自分で書いた)
テストベンチと設計した回路(モジュールと呼びますね)を入力し、
出てきた結果を見て判断する、と。
これならお金はかかりません、ハラショー!というわけだ。
004439
04/10/09 19:23:35ID:4n1MEssYご丁寧にどうもありがとうございます。
PCの環境はどのくらい必要ですか?
0045体験談1
04/10/09 19:31:44ID:2q5Gawaoまあ、あればあるほど・・・というのが正直なとこですが、
ホビーなら自分が我慢できりゃなんでもいいかと思います。
ちなみに自分は
Win2000でモバイルセル論800MHz
WinXPでぺん3−833MHz(たしか
です。
0046体験談1
04/10/09 21:19:30ID:2q5Gawaoで、cverからQuotasやISEに移行するのが結構大変でした。
というのも、PLD開発のフローや全体が見えていないとなにをやればいいのかサパーリ
だからです。
自分はそういう業界にはいって有識者に教えてもらうという手段をとれたので
なんとかクリアしましたが、孤高のホビーストだとなかなかそうもいかないかもしれません。
で、次に買った&お勧めなのは
CQ出版 FPGAボードで学ぶ論理回路設計
約1万円で本とFPGAボードが付いてくる、比較的お得なブツだと思います。
意外にパラレルケーブル入手で苦しみました。最近ってD-SUB同士のプリンタケーブルって売ってないのね・・・_| ̄|○
安価なボードがついてくるっていうのもありますが、具体的にファイルを作成して動作させるまで
細かく書いてあるので、初心者にはかなりオススメだと思っています。(個人的に)
そんなこんなで2ヶ月が過ぎ、いまは↑でMMCカードIFを作ろうとしてるとこです。
やっぱ外にマイコンがいるなぁ・・・ってとこでAVRやらH8やらの方面を勉強中。 いじょ。
0047774ワット発電中さん
04/10/09 23:11:36ID:aATjcLd4>「以外に」パラレルケーブル入手で苦しみました。最近って
>D-SUB同士のプリンタケーブルって売ってないのね・・・_| ̄|○
そういうときは,RS-232CのDSUB延長ケーブルを買うんですよ.
もしくは全ピンストレートが必須だから,RS-1284対応LPTケーブルね.
0048体験談1
04/10/10 00:37:21ID:Ys2LJlJpあ。そうですねー、232C延長でよかったんですねぇ。
自分は案フェノール・DSUB変換買ってシマタ^^;
余談
予想外だったので「意外」だったのですよー
0049774ワット発電中さん
04/10/10 01:37:29ID:8dTR/5bBQuartus2のWEBエディションって、ライセンスの関係でネットの最適化が出来ない(英語)
っていう警告が出ると思うんですが、正式版だと更に最適化されるんでしょうか?
MAX3000みたいなCPLDレベルでも恩恵ありますか?
0050774ワット発電中さん
04/10/10 12:18:54ID:8PLbdUW5usbポートしかありません。USB-パラレル変換ケーブルは使えないと聞きました。
なんかいい方法ありますか?
0051774ワット発電中さん
04/10/10 12:50:39ID:MoJAHlCHhttp://www.isn.ne.jp/~ueno/altera/pldx.txt
0052774ワット発電中さん
04/10/10 13:42:33ID:T9DWFpcaありが�d!
0053774ワット発電中さん
04/10/11 03:44:15ID:xeLq7Qd+昔大学で使ったのが
・MAX-II plus
・verilog-XL / signalscan
この前、自宅ノートに入れたのが
・イカロス
です。
0054774ワット発電中さん
04/10/11 10:01:31ID:M7q7INtShttp://ppg.teldevice.co.jp/home/main/top/jtag-blazer.html \37,800-
PL-USB-BLASTER $300.00
又は10000円くらいで中古パソコンを買って、LANで繋ぐほうが安いかもしれん(w
0055774ワット発電中さん
04/10/11 12:14:33ID:CqJcDmy4発売予定はまだ決まっていないが、もしかしたら年内には出るかも?
http://www.nahitech.com/ujstamp.html
0056774ワット発電中さん
04/10/11 20:08:42ID:tDHA8p0fhttp://members.at.infoseek.co.jp/x1resource/xilinx/sp2isp/usbisp.htm#top
0057774ワット発電中さん
04/10/12 12:58:15ID:WjPYcMhUVerilog-XLとSignalScanを使っていたのなら、それ級のシミュレータを探すとなると
ModelSIM-SEかAldecぐらいしか無いと思うよ。
とりあえず、Quartus2のシミュレータ使ってガッカリしなければそれで良いとは思うが
PLI-$dumpvars()でチェックをするようなことはできないから、物足りないと思う。
しかし、学生時代からその環境とはオッチャン、たまげた。
0058774ワット発電中さん
04/10/16 01:22:28ID:CT337dQ+0059774ワット発電中さん
04/10/16 15:51:05ID:S2CLhXAT4.1+SP1
0060774ワット発電中さん
04/10/16 15:59:29ID:l+2u/uqg0061774ワット発電中さん
04/10/18 12:25:21ID:wHQ4Zfl64.1+SP2
0062774ワット発電中さん
04/10/26 10:31:10ID:BMKhVnfc4.1+SP2
0063774ワット発電中さん
04/10/27 08:35:25ID:Usb3PlRI合成をしたところ トップモジュールにhigh-fanout-netが出てくるという
警告が出てしまいました(TIM-134)
しかしreport_netで各netのファンアウト数を見たところ
MaxFanoutでもせいぜい30程度でしかありませんでした。
これって合成用のライブラリがおかしいってことなんでしょうか?
それともreport_netでも出てこないようなnetが存在するということなんでしょうか?
どなたかご教授ください。よろしくお願いします。
0064774ワット発電中さん
04/10/27 09:04:51ID:B72sRQjQプロジェクト一式あぷすれ
0065774ワット発電中さん
04/10/27 15:03:40ID:2guEpE14ピン名がだぶっていねぇか?
0066774ワット発電中さん
04/10/28 07:22:55ID:vVDjRy08前スレや機械板で同じような質問があったが同一人物?
2ヶ月経ってまだ解決してないの?
http://science3.2ch.net/test/read.cgi/kikai/1056186047/452
0067774ワット発電中さん
04/10/28 08:49:46ID:rgTGjD4Kワラタw
内容とageて質問しているとこから見て同一人物だろう。
仕事なのか学校の課題なのか知らんが、そろそろ対応しないとやばいんじゃねーか?w
0068774ワット発電中さん
04/10/29 12:15:26ID:nVG1/EOp0069774ワット発電中さん
04/10/29 18:20:53ID:ZncUbX7pやばいだろーな
てことで
set_max_fanout 4
とでもして合成してみれ.
それでWarning出なくなればfanout 30がtoo highってことだし
それでもWarning出れば何か他の原因.
原因の特定にはつながるだろ.
まずはそこから.
合成時のログとか状況とかもうちょっと詳しく.
論理合成は成功するのか,失敗するとすればどこでとまるのか,
合成前のfanout数とか,どこでWarning出るのかとか.今の情報量じゃぜんぜんワカンネ.
あと,質問する時はメール欄に半角英でsageと入れておくれ.
0070774ワット発電中さん
04/10/29 22:36:09ID:bkjzYNtj下記の条件A='1'に加えA and B='1'の条件となるBを追加しようと考えています。
どこにどのような回路を組み込めば良いでしょうか?
entity test is
port(a, b : in std_logic;
A : in std_logic;
clk : in std_logic;
n_rst : in std_logic;
a1,b1 : out std_logic);
end testr;
architecture RTL of encoder is
begin
process (a, b, clk, n_rst, A) begin
if(n_rst = '0') then
a1 <= '0';
b1 <= '0';
elsif(clk'event and clk='1') then
if(A = '1') then
a1 <= a1;
b1 <= b1;
else
a1 <= a;
b1 <= b;
end if;
end if ;
end process;
end RTL;
0071774ワット発電中さん
04/10/29 23:47:02ID:JlMFQhLp0072774ワット発電中さん
04/10/30 02:30:38ID:cBpw+6f8'1'では?
本でも買って、最低限の記述スタイルを覚えたほうがいいね。
0073774ワット発電中さん
04/10/30 06:23:32ID:D/FXDpkG0074774ワット発電中さん
04/10/30 12:04:29ID:aoR2DEqSVerilog HDLと違ってVHDLは大文字・小文字の区別はありませんので
信号Aと信号aは別の名前にする必要があります。
process文の中身は非同期リセットとクロック同期のようなので
センシティビティリストの中はclk, n_rstだけで十分です。
で、質問の「A and B='1'」の条件とは「A='1' and B='1'」という意味でしょうか。
だとしたら「A='1' and B='1'」の条件と「A='1でBはdon't care」という条件に
なりますから、簡単に書けばif文を入れ子にして、
if(A='1') then
if(B='1') then
…
else
…
endif;
endif;
と書けばよろしいかと。
でも、しつこいようですけどVHDLは大文字・小文字の区別はありませんので
信号Bと信号bは別の名前にする必要があります。
007570
04/10/30 12:56:22ID:yHiIm30zありがとうございます。
入門書買って一から勉強してみます。
0076774ワット発電中さん
04/11/05 01:01:44ID:WexKwaKdCQ出版のFPGAボードで勉強してるんですが拡張コネクタの一つのピンから
16 bitデータを受け取るにはどうPinとノードを配置したら良いんでしょうか?
へたれなので出来のいい後輩が書いたソースを情けないやら悔しいやらで
話すすりながら打ち込んでます。
誰か教えてください。。。
0077774ワット発電中さん
04/11/11 14:49:51ID:dbWisPGLおかげさまでなんとか解決しました。
余計な信号を削ってデザインを作り直して
バッファーツリーを多段に入れまくって
helpコマンドで何かのコマンドの説明見て
最後のほうにでてくるコマンドも片っ端から説明見て
set_fix_multiple_port_netsをcompile前に入れて
set_max_fanout の変数を変えまくって実行したら
なぜかうまくいきました。なぜうまくいったかはわかりません。
けどちょっと合成スクリプトを変えたりすると
Design "hogehoge" contains unmapped components.
とかいうメッセージが出てきたりしてこれは結局解決できませんでした。
ほんとやばかったです。
ご迷惑をおかけしました。
なにぶんひどい開発環境(むしろ私の頭脳?)なもんでして、
どんなコマンドがあるとかそういうのが全くわかりませんでした。
あと質問あるときはsageるのが常識みたいですね、知りませんでした。
すいません
0078774ワット発電中さん
04/11/12 05:49:24ID:wUOQPMwrTutorial見てても多層化されたVerilogのモジュールを一切使っては
いませんでしたが。やっぱ平坦なファイルしか使用できないのでしょうか?
それともプロジェクトに追加しさえすればBlock Diagram上に表現されて
ないVerilogファイルでも他のモジュール内のサブモジュールとして
利用できるのでしょうか?誰か教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています