【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
0079774ワット発電中さん
04/11/12 21:51:45ID:bejicOFZVerilog歴3ヶ月の俺が言うのもなんだけど、Quartusは関係無い。
Verilogの入門書でも読んでみて下さい。
「下位モジュールの呼び出し」とかっていうようなタイトルでも付いてると思います。
構文は、 「 下位モジュール名 インスタンス名 (ポートリスト) 」 って感じです。
0080774ワット発電中さん
04/11/13 00:46:01ID:nTHXHrfX> バッファーツリーを多段に入れまくって
手で入れたの?
ご苦労さん。
0081774ワット発電中さん
04/11/13 09:04:57ID:nKM6sARJQuartusでもできます。普通です。
2ファイルくらいのコードで試してみたら?
同じディレクトリに入れて、トップをコンパイルすれば、分かるよ。
0082774ワット発電中さん
04/11/13 23:27:14ID:UmZlR5Kg状況にもよるのかもしれんが、普通は手で多段ツリーなんて入れんと思うがなぁ
クロックツリーバッファを手で一段入れたり、必要なドライブ能力を考えてI/Oセルを
自分で置いてset_dont_touchとかはやるけど
というか、変な小細工する前に文法チェッカーかけるか、詳しい人に
ソースと .synopsys_dc.setup を見てもらうべきかと
0083774ワット発電中さん
04/11/14 20:36:00ID:mI/nMcZv0084774ワット発電中さん
04/11/14 23:03:04ID:EfVrCvdCとりあえずVerilogを覗くだけなら
ALTERA Quartus II Web Edition http://www.altera.co.jp/
XILINX ISE WebPack http://www.xilinx.co.jp/
(>2 より抜粋)
書いたVerilogのコンパイルとシミュレーションまで無料できるから、
とりあえずこれためすべし。
評価ボードに手を出すのはそのあとでいいかもよ?
評価ボードもピンキリだし、人によって欲しいボードも違ってくるだろうから・・・
とりあえず買ってみて考えるってのも俺は好きだ! ホビーユースだしね
仕事だったらとりあえず買うなんてやったら殺されるなきっとw
0085774ワット発電中さん
04/11/15 00:09:12ID:58mcQWc1ありがとうございます。
言葉が足りなかったみたいですみません。
とりあえず、Verilogは昔大学でやってて、
1〜5万ゲートぐらいの設計をヘタレなりにやってたんですが、
久々にやってみたくなってw
当時、ソフトとボード与えられて、適当にやってたんで、
自分でやるとなると何を買えばいいか分からないんでお聞きしたいんですが、
Xilinxのスターターキットは論理合成から実体配線まで制限なしにできるんでしょうか?
調べたんですが、いまいち分かりません。
別に効率の良い合成は必要ありません。
Xilinxのスターターキット程度のものを買っておけばしばらくは遊べますでしょうか?
0086VHDL入門者
04/11/15 12:34:03ID:Ro2/ofkiCASE文で条件式中のビットの一部に不定のXを入れた場合は
どうなるのですか?
例えばwhen"011X"=>PORT1<="0010"
とした場合、0111及び0110両方で条件が成り立つのか、それとも
Xは0か1どちらも問わないものだとソフトが判断して0111か0110の
どちらかに固定されてしまったりするのですか?
教えてください…
0087774ワット発電中さん
04/11/15 14:21:07ID:HGhJspiKCQ出版のFPGA評価キットやxilinxの評価キットのISE(webpack)で実配線(フロアプラン作成のこと?)まで可能です。jtagで実機に書くことも可能です。
来月のデザインウェーブマガヅンにspartan-3が付いて2000円だそうです。
周辺をちょっと自力で作らなくちゃいけませんが、1万円程度のスターターキットを
買ってHDLだけの開発にがんがるか、DWMを買って半田付けからがんがるか迷ってください。
仕事で800万ゲート×4って言う開発してましたけど、この規模になったらfoundationかなと思いますが、それ以外ならフリーツールで十分かと
思います。
個人的にはステートマシンの記述が楽チンなvisualeliteとかsimplifyproとかがフリー版(機能限定でもいいから)で出てくれれば裾野が広がると思うんですけどねえ・・・
0088VHDL入門者
04/11/15 16:53:36ID:Ro2/ofki0089774ワット発電中さん
04/11/15 17:38:20ID:o3waSicM0090774ワット発電中さん
04/11/15 21:43:08ID:X2lqkume素直に考えれば、固定しない方が何かと都合がいいから、そうなると思うけど・・・・
実際エラー出ない? とある本では「書けないからifでやる」とある。
0091774ワット発電中さん
04/11/15 22:11:30ID:j8LiZ9Yiう〜ん・・・、そう書きたいの分かるけど、コンパイラとかによっては変な事起きるかも
しんないから俺はやらない。
経験少ないからあんまり自信無いけど、Q2 はダメだった気がする。
009283
04/11/15 22:21:40ID:58mcQWc1どうも、親切にありがとうございました。
私程度の人間だとフリーソフトで十分みたいですね。
半田ごてでがんがるか、どうするかもうちょっと悩んでみますw
009391
04/11/15 22:23:49ID:j8LiZ9Yiif の方がマシかもしれんが・・・。
case inp_d(3 downto 1) is
when "011" => port1 <= "0010";
009493
04/11/15 22:38:26ID:j8LiZ9Yi0095774ワット発電中さん
04/11/15 23:05:02ID:8s3R1jw3011Xの時は最下位ビットは見ないけど、
他の条件では4ビット全部指定有なんて
場合は記述がごちゃごちゃしそうかも。
0096774ワット発電中さん
04/11/15 23:24:30ID:Frcp5IfWVHDLの仕様とか書いてある
0097774ワット発電中さん
04/11/15 23:28:14ID:piNJXvJA只のシミュレータもネットで拾えるんだから幾らでも現実に試す手段もあるのに
なんでやれば出来ることを質問するのか?
頭悪すぎる。
0098774ワット発電中さん
04/11/16 17:52:38ID:mHpeKD1Y答えるのが嫌なら無視しろよ。誰もお前に教えてやれとは言ってない。
0099774ワット発電中さん
04/11/16 19:15:45ID:KYTfYzfBコンパイルが通るならシミュレーションで走らせれば
すぐわかりそうなものだけどね。
0100774ワット発電中さん
04/11/16 20:42:14ID:33hBiAMN0101774ワット発電中さん
04/11/17 21:18:46ID:yyLVKGbC0102774ワット発電中さん
04/11/18 00:09:15ID:HJWhAI8f0103774ワット発電中さん
04/11/18 01:48:04ID:vvRIFluecaseでは比較できない点に、子一時間ペリー著など調べたことがあった。
今となってはトラブルの無い冗長な記述命。。
逆に文法やパーサの推定なんぞで悩む時間が欲しい。。
0104774ワット発電中さん
04/11/18 14:18:23ID:AWHw443v0105774ワット発電中さん
04/11/19 22:51:30ID:lVfxyT21generic文でフレキシブルなモジュールを作ったんです。
で、
generic ( WIDTH : integer );
port ( DATA : in std_logic_vector ( WIDTH-1 downto 0);
:
:
とかやりまして。
で、WIDTH=1にして、std_logicを繋いだら"型ちがーう"といわれまして。
std_logic_vectorにstd_logic繋ぐなよといわれました。ごもっともです。
じゃあってことで
signal A : std_logic_vector(0 downto 0);
はやっぱりはじかれたわけで。
泣く泣くWIDTH=1バージョンを個別モジュールで作ったんですが、なんだか
スマートじゃないなぁと。みなさんはこういう状況でどうします?
0106VHDL入門者
04/11/20 16:03:33ID:9bzit/Ah性能はどうなんでしょうか?
case文で記述すると、本来なら数個のロジックで出来た筈の回路が巨大に
なってしまいます。これは論理圧縮の性能が悪いで結論付けられるので
しょうか?
0107774ワット発電中さん
04/11/20 16:06:17ID:3+/xvP4kまずそのVHDLの記述をうpしてはどうでしょうか?
0108774ワット発電中さん
04/11/21 01:11:56ID:CvmGB45Xなんのツールではじかれたのでしょうか?
メッセージはなんてでたのでしょう?
0109105
04/11/22 20:41:41ID:yuDkLbxkツールはModelSimPE 5.5fです。
メッセージは以下のようなものでした。
# ERROR: C:/.../xxx.vhd(yyy): Type error resolving index expression.
いろいろと読んだりぐぐったりしてはいるんですが、
C++みたいにモジュールの多重定義ができたりはしなさそうですね>VHDL,Verilog
なんか悔しい。
0110774ワット発電中さん
04/11/22 23:29:01ID:3fUDtwhF仕事でも出張先とかでWEB版使ったりするが、圧縮率が悪いって気になった事無いけどなー。
case文の記述が悪くて変な回路合成してたりしない?
0111774ワット発電中さん
04/11/23 00:30:48ID:Uu37W0gn合成結果は同じだと思うのだが。
実際に、200kくらいの設計を
WEBPACKとFOUNDATIONの両方で合成させてみて、
出来上がったbitファイルを比べてみると、全く同じになった。
0112774ワット発電中さん
04/11/23 01:58:01ID:jDHJzlXQホビースト的には嬉しいけどw
なんかつくりてー でも時間が無い・・・くそぉ
0113774ワット発電中さん
04/11/23 02:41:25ID:+8rPSg/0ISE もQuartusも ReedSolomonも Turbo符号もエンコーダ、デコーダともワンタッチで出来上がる。
これさえあればほとんどの人はちょこちょこしたグルーロジックさえ組めば何もしなくていいんじゃないの?
0114774ワット発電中さん
04/11/23 11:24:47ID:Uu37W0gnFPGAエディタは、WebPACKだとCLBの配置配線が見えるが、有料版だとCLBの中身まで見える。
エディタとはいっても、配置配線を眺める以外には使わない。
それ以外のアクセサリは使ったことがない。
0115774ワット発電中さん
04/12/05 23:27:03ID:D48nht+aifじゃねえ
0116おっくん
04/12/08 01:32:41ID:o90pAHBO0117774ワット発電中さん
04/12/08 02:30:45ID:3/jHyzfDそこは非同期にすること。
0118おっくん
04/12/08 17:32:54ID:o90pAHBO0119774ワット発電中さん
04/12/08 23:38:18ID:h3Q60i2Falways @(posedge clk ) begin
sftreg[3:0] <= {sftreg[2:0], fb};
end
0120774ワット発電中さん
04/12/09 13:12:05ID:PKxLhrMJ0121774ワット発電中さん
04/12/09 17:20:02ID:Kr5JHULqsftreg[3:0] <= {sftreg[2:0], fb};
fb <= sftreg[2] ^ sftreg[1] ^ sftreg[0];
end
と書くな!ということでは?
0122774ワット発電中さん
04/12/09 17:30:11ID:XFlGTW3n0123774ワット発電中さん
04/12/10 02:50:22ID:ZeW55erk禿げしく勉強不足
0124いつでもどこでも名無しさん
04/12/10 10:49:52ID:L1pP5+7Wでいいじゃん。
0125774ワット発電中さん
04/12/10 11:04:56ID:9pKzODtz???
0126774ワット発電中さん
04/12/10 14:26:49ID:FTUB//os計算するときはどうすればいいのでしょうか?
テーラー展開くらいしか思いつかなかったのですが、別の方法があるのでしょうか?
よろしくお願いします。
0127774ワット発電中さん
04/12/10 14:32:19ID:ggxWYBJE0128774ワット発電中さん
04/12/10 15:00:30ID:OiC2Pd3iあとは超簡単なDSPを手組みして教科書に載ってるのアルゴリズムを
色々と試してみる。
0129774ワット発電中さん
04/12/10 15:47:23ID:h8OSbmQL0130774ワット発電中さん
04/12/10 16:54:16ID:hHajYQvZFPGAで三角関数計算するのはCORDICが良かった。テーラー展開なんか目じゃない
CORDICでぐぐると結構サイトがある
大昔68kに実装したときにバレルシフタがうらやましかった、マジ。
でも、用途に依るがテーブル引いて線形補間で問題なかったりしない?
0132774ワット発電中さん
04/12/10 17:56:05ID:hHajYQvZ今でも一度身に付けると一生もんだよ。といっても、便利がいい方法だけど、あまり知られていないんだよね
日本語の本が一松信先生のしかないし、この本がまたわかりにくいってことはあるけどね
0133774ワット発電中さん
04/12/10 19:26:56ID:VJM7nC7A0134774ワット発電中さん
04/12/10 20:07:34ID:dDoj+5Na場合が多い。 FPGAのアプリだと尚更その傾向が強いような気がするんだけど・・・
FPGA使った計算で、そこまで精度が必要な用途って何か聞いてみたい。
0135774ワット発電中さん
04/12/10 20:20:22ID:znfqrlxaで、ATANとSQRTが必要で、平方計算はどうしてもどこかでやらなきゃいけないので、えいやっとまとめてCORDICした
0137774ワット発電中さん
04/12/10 21:00:49ID:tGVCILbQ入門用のおすすめの本かwebページありませんか?
0138774ワット発電中さん
04/12/10 21:28:52ID:sFg4l3eghttp://www.andraka.com/files/crdcsrvy.pdf
これでいいの?
あとIEEE 1364 Verilog2001 spec 転がってるとこない?
手に入れた奴はフォントがないのかFigのタイトルとかがちゃんと表示されない。
2001になってめちゃくちゃ便利になってるジャン。見落としてた・・・
0139774ワット発電中さん
04/12/10 21:48:31ID:znfqrlxa日本語でcordicの原理を解説したのもあった。(今年の7月ごろ)
さっきぐぐったときは、読めば実装できるCORDICの文献が、
日本語のモノで多数転がってった。
当時、私も一松先生の教科書を見て実装しますた。
0141774ワット発電中さん
04/12/10 22:27:59ID:znfqrlxa実は、いまだに良くわかってないのだが。汗
0142超初心者
04/12/10 22:41:14ID:mA4gxR8R書かなきゃいけないんでしょうか?ええとつまりc言語の配列見たいに
array[N] = {....}みたいな風にすっきり書けないんでしょうか?教えて下さい。。。
0143774ワット発電中さん
04/12/11 00:45:23ID:PWbGlx7Xttp://www.picfun.com/vhdl36.html
0144126
04/12/11 02:04:34ID:eGzACmSMぐぐったらたくさん出てきました。
1周期を1024分割したのでROMでもいいのですが、計算法があるというのがわかっただけでも勉強になりました。
ありがとうございました。
0145774ワット発電中さん
04/12/11 09:51:24ID:HoQLAUdKそれがFPGAになってまた活躍しているのは喜ばしい限りです
ぜひ、活用してください
0146774ワット発電中さん
04/12/11 13:34:40ID:grQkrB75昔、寺のEABにテーブル突っ込むのに、C言語(MS-C かなり古い!)でテーブル記述した事あるぞ。
Cで書いてコンパイルして、HEXファイルをEABに喰わせれば良い。
LEへテーブル実装するなら、この方法は無理かもしれないが・・・
0148774ワット発電中さん
04/12/11 15:17:41ID:BFzv6oph> http://ppg.teldevice.co.jp/home/main/top/jtag-blazer.html \37,800-
> PL-USB-BLASTER $300.00
USB Blasterヤフオクでてるね。
http://page12.auctions.yahoo.co.jp/jp/auction/p9425997
うーん、個人で持っとくのも悪くないか?
0149774ワット発電中さん
04/12/11 15:43:05ID:M4GLMEfxバンダリスキャンていう書きこみ以上のことができるみたいだし
http://www.nahitech.com/smartjtag.html
0150774ワット発電中さん
04/12/11 20:18:23ID:XBQ7u2k8使うものであって・・・ゴニョゴニョ・・・
0151774ワット発電中さん
04/12/11 23:02:20ID:M3VuMh3AHoQLAUdKは有効数字と有効桁が同じものだと知らなかった哀れな高卒。
0152超初心者
04/12/12 14:56:31ID:h09vxZHxレス遅くなって申し訳ありません。ありがとうございます!
0153超初心者
04/12/12 14:56:52ID:h09vxZHxレス遅くなって申し訳ありません。ありがとうございます!
0154774ワット発電中さん
04/12/12 14:59:07ID:FL5vsRtnレス遅くなって申し訳ありません。ありがとうございます!
0155774ワット発電中さん
04/12/15 22:21:22ID:wlA48S0O0156774ワット発電中さん
04/12/16 07:09:35ID:Zu0mp3yoCQ出版のやつとXHDLを試したけど、どちらも完全対応じゃないみたいで。。
0157774ワット発電中さん
04/12/16 12:22:59ID:sQv+TCi0>おすすめのVHDL←→Verilog変換ツールってありますか?
ロハのやつなら漏れも欲しいぞ
0158774ワット発電中さん
04/12/17 04:41:20ID:S1Sx6LQuをしないといけないのですが問題があって困ってます。
2で割ったりするだけならビットシフトで十分ですけど、
除数(分母)が被除数(分子)よりも大きい場合は実数で
考えれば1より小さい値ですが固定小数点なので0になって
しまいます。なので、浮動小数点演算でやろう考えてますが、
回路が大きくなってしまうことが目に見えてます。
何かよい考えがあれば教えて下さい。
0159774ワット発電中さん
04/12/17 07:35:34ID:enKCZRg3それはHDLで書く前の仕様設計の話だろ かなりスレ違い
乗除算以外に加減算も必要なのか?
乗除算だけなら対数に変換して計算するって手があるぞ
ま、演算する目的がわからなきゃどうにもならん
0160774ワット発電中さん
04/12/17 08:23:04ID:2rdgsE8dそりわ、固定小数点ではなく「整数」でわ・・・
0161774ワット発電中さん
04/12/17 09:04:41ID:BF/KcTFd見なせば固定小数点演算と見なせる。
たとえば、
0001+0011 = 0100
を整数と見なせば1+3=4
下から二桁目と三桁目の間に小数点があると見なせば
0.25+0.75=1.00
0162774ワット発電中さん
04/12/17 19:40:57ID:8q/QfZYtとりあえずこの辺を試してみるべし。
ttp://www02.so-net.ne.jp/~morioka/v2v.htm
0163超初心者
04/12/24 08:28:05ID:5Um8eo73subtype wave is std_logic_vector(31 downto 0);
type ROM is array (0 to 64) of wave;
signal data: int_array;
constant cos : ROM := (省略);
これでcosはテーブルとして使って
a <= ar(1) * conv_integer(cos(1));
というような使い方は出来ないんでしょうか。これをすると
object cannot be indexed
because it has small_int type rather than array type
と出てきてしまいます。というかそもそも conv_integer(A)に対して
乗算をすること自体文法エラーみたいですが。。。
0164超初心者
04/12/24 08:53:19ID:5Um8eo730165774ワット発電中さん
04/12/24 14:16:12ID:QntLHWVCa の型は何?
aもinteger型なら問題はなさそうだが… (論理合成は出来ないと思うけど)
0166774ワット発電中さん
04/12/24 15:52:25ID:baucrM1p精度はどれくらい欲しいのかな?
0.1まで保証したかったら単純に10倍してから割ればいいだろう。
回路を簡単にしたいのであれば16倍して割る値をちょっと弄ればOKだね。
結果をどういった形で使いたいのかわからんがもう少し頭をやわらかくしたほうがいいぞ。
0167774ワット発電中さん
04/12/26 21:23:30ID:MS8bbIn5どれくらいいますか?
私は適当+自己流なんで何か流儀があるのなら勉強したいのですけど。
0168774ワット発電中さん
04/12/26 23:03:39ID:NkZGbqRr浮動小数点演算用にPICつけてシリアル通信したことあったなぁ。。
ダサいけど工数は0同然だった。
もちろん最終の基板では仕様見直したけどね。
0169774ワット発電中さん
04/12/27 04:55:47ID:IiOwaSMjこの人Verilog書きなれてないと思ったのは俺だけ?
0170774ワット発電中さん
04/12/31 00:08:41ID:tKLJqHbHインストール後、某ファイルを消すとずっと使えるぞなもし。
0171774ワット発電中さん
05/01/05 01:13:05ID:K1krFDC0こーゆー情報が今やご法度だものな。糞法律ばっかし作りやがってさ糞官僚が。
0172774ワット発電中さん
05/01/05 01:50:54ID:A7lNAgRoDVD−ROM
0173774ワット発電中さん
05/01/05 03:58:23ID:NGDPEDukハァ?
「今や」?
遙か昔から、少なくともてめーが生まれる前から
偽計業務妨害罪だよ。
高卒は法律も知らんのか。
野蛮だねプククククククク
0174774ワット発電中さん
05/01/05 04:15:32ID:/YFrRIWvhttp://tmp4.2ch.net/test/read.cgi/tubo/1102178196/760
0175774ワット発電中さん
05/01/05 04:16:24ID:NGDPEDuk隔離スレに何を書こうが誰も見ない訳だが、
そんなにこちらで論破されてずたぼろにされるのが怖いのかね?
チキンofチキンの高卒哀れだよ高卒。
0176超初心者
05/01/05 10:41:32ID:ko/FuqQFすいません。大学がしまっててレス遅れました。。。
ええとaの型はintegerです。それでも前に書いたエラーがでます。
0177774ワット発電中さん
05/01/05 10:47:31ID:lWvCpkO/0178超初心者
05/01/05 10:55:11ID:ko/FuqQFでも直しても同じエラーがでるのでそこが問題ではないみたいです。
■ このスレッドは過去ログ倉庫に格納されています