【Verilog】 記述言語で論理設計Project14 【VHDL】 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
HDLの処理系も、それを実際に動かすシミュレータ・評価基板も、
安価で入手できるようになってきました。
このスレが目に入ったお嬢さん! HDLで何か作って遊んでみませんか。
日曜工作のHDL書き、学生さん、プロの方、主婦の方、カキコお待ちしております。
関連情報は >2-10 あたり。
入れ食いキーワード
・Nios、MicroBraze
・Artix-7、Kintex-7、Virtex-7、ハードコアCPU内蔵 Zynq-7000
前スレ (直近スレのみ)
2012/11/03〜 【Verilog】 記述言語で論理設計Project12 【VHDL】
http://uni.2ch.net/test/read.cgi/denki/1351913871/
2011/12/07〜 Project11
http://uni.2ch.net/test/read.cgi/denki/1323187568/
2010/09/17〜 Project10
http://kamome.2ch.net/test/read.cgi/denki/1284652343/
※前スレ
http://rio2016.2ch.net/test/read.cgi/denki/1394091422/ 本当に応用範囲が広いなら、8pin数十円ワンチップFPGAとか、スーパーコンピューターのFPGA版のスーパーFPGAなんかがあるはずなんだけど...
無いねwww 誰でも出来るFPGAなんかじゃなくて、ASIC開発すればwww >>850
2年でなんとかなるのって、超小規模のオモチャソフト開発か? >>853
だから認識がそうなんだよ
自分が「できる」つもりになってる井の中の蛙だということを知らない奴 本当にできる奴は不思議と自分ができるとは言わないんだよなぁ ASICに比べたら、
遅い、高い、電力食う、大きい、
ソフトに比べたら、
応用範囲が非常に狭い
隙間デバイスですね
そういう非常に狭い世界でしか威張れない
かわいそうです >そういう非常に狭い世界でしか威張れない
>かわいそうです
威張りたい、いいカッコがしたい。w
しかしまず電気ってとこが圧倒的に不利だよな。メカだと動きが見えるから
見栄えがする。
「こんなに素晴らしいものを作りました」って見せても理解できる人は少ない
からなー。
でも鉄ちゃんとか駅弁マニアよりはFPGAマニアの方がマシだろ。 >マイコンなんか誰でも出来るからマイコン出来たってしようがない。もっとレベルの高いFPGAやアナログも判れば重宝されるよ。
応用分野を考えるとマイコンの方が難しい場合がおおいよ。しかしツールがいいので
開発はやりやすい。
バグ取りでもブレークをおいてすぐ修正できる。適当に作って動かしながらアジャイル
で開発できる。100個くらいのバグならすぐ修正できる。しかしFPGAは実機デバッグで
100個もバグがあると中々終わらん。w >それとさ、随分前から用途とか作例とか聞いている人がいるけれど、その時点で
>向いていないと俺は思うのだ。
お前、FPGA向いてるけど結婚に向いてないぞw。
趣味だけではできんのだよ。飯のタネにするにはどうするか? 用途、作例は重要だよ。
仕事を何とかつくらねばならんからな。 >>861
それ、人に聞いてる時点でダメだろ
なんかボケーッと読んでみたけど酔っぱらいの会話より
つまらん話してるなぁ つまらん話を引き上げて面白い話にできると、頭いいなーって思うけどな。
つまらん話を貶してさらにつまらん話にするのでは、つまらん話をしてる本人と
あんまり変わらんな。w 何かというと直ぐにケチをつける奴って、よっぽど自信があるんだろうな。まあ
自信を持つのは悪いとは言わんが、それに見合うだけの生産的な話もしないとな
ケチをつけるだけでは脳がないとおもうぞ。まあ生産的な話を期待してるわ。 FPGAがぴったりな用途をあげるのも生産的だと思うけどね
なんて頑なに拒むのか意味わからんね
身近な用途が無いからだろうけど インテルですら一般的な使い方を見つけられずにいるよね
ハイエンドパソコンにも積まれない
しょせんはASICを作る前のブレッドボードだよFPGAは >>866
組み込みの仕事でzynq基板作ってるけどlinuxとfpga組み合わせて使うと面白いよ。ネットにも繋がるし。ラズパイにFPGAがついたようなもんだ。ASICは開発しんどいし面白くないからやりたくない。 >>852
半導体メーカーでASIC開発10年やってたけど一生やるもんじゃないね。 そもそもFPGA云々以前に単に見積もりというものを
出来ない人間の愚痴からダラダラ続いてるだけだしなぁ
なんでニッチなデバイスじゃ駄目なのか?
FPGAを何に使うかじゃなくて自分の作りたい物を補完
するのにマッチするのかという考え方が出来ないのか?
FPGAのスレではなくHDLのスレでやる話題なのか? >FPGAがぴったりな用途をあげるのも生産的だと思うけどね
自分で、身近でぴったりな用途のひとつを出してる
>ASICを作る前のブレッドボード
同一人物なのかな。
いつも自分で的確な答えを見つけているのにそれに気づいていない。
おかしな人だ。 >>868
>全く面白さが伝わってこない
そりゃ、面白くない人には面白くないよ。他人が観て面白い映画が自分にとって必ずしも面白いものではないのと同じ。
ただ、なにごとも他人から見て地味で面白そうでないものを面白いと思える人は、より積極的に学習しやすいってことはあると思います。そのあたりから差がつくね。
マイコンの方が簡単だ、って言ってる人も、他人から見て何が面白いの? みたいなプログラミングや用途、テーマを面白いと思って取り組んだはずです。
>>872
>FPGAのスレではなくHDLのスレでやる話題なのか?
ソフトウェアのプログラミング言語には馴染めたけれど、HDLには馴染めなかった人だと思う。
自分が馴染めないものは、難しいものであって、価値がないものだと考えることで、幸せになれるとでも思っているんだろうなあ。
目を瞑っているだけなのに。それにちっぽけな人間だもの、何から何まで守備範囲にすることなんて無理ってことを受け入れることも必要なのにな。 >>874
自分が出来ることについては、それが出来ない他人をバカにし、逆に自分が出来ないことは、それが出来たところで大したことないとやはりバカにする
そういう奴が実際にいるよな
人間性が残念だわ > 人間性が残念だわ
こんなことよく平気で言えるな >組み込みの仕事でzynq基板作ってるけどlinuxとfpga組み合わせて使うと面白いよ。
これは狙い目だというの分かってるんだがLinuxがハードルが高いw
WinじゃなしにLinuxやっておけばよかったよ。いきなり仕事を取るのは怖いし
Beagleやラズパイでチョコチョコとは遊んでるんだが、なかなか難しいよ。
要するにFPGAだけでは仕事の範囲が限られてくる。Linuxと合体すればそこら中の
あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを
失敗した上にLinuxでもまた失敗となると、泣きっつらに蜂。 >半導体メーカーでASIC開発10年やってたけど一生やるもんじゃないね。
心臓に悪いよな。1億くらいをお釈迦にしても平然と弁当が食えるくらいに
面の皮が厚くないと無理だよ。ASICをやると痩せるぜよ。きっと。
俺はやったことないが。 個人事業者なのか?
なんか書き込み見てると随分と稚拙な感じがするし
経験積んだ技術者には見えない
というか個人的な愚痴はtwitterでやってくれ 精神的に開放されていないと知性も働かないだろう。
狭量だと技術もまた矮小になる。もう少し大らかになると頭も良くなるぞ。 >要するにFPGAだけでは仕事の範囲が限られてくる。Linuxと合体すればそこら中の
>あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを
>失敗した上にLinuxでもまた失敗となると、泣きっつらに蜂。
つまり、この人は「能力的に問題がある」と言ってるわけだけど、本人としては解決方法は考えているんだよな。
>狭量だと技術もまた矮小になる。もう少し大らかになると頭も良くなる
自分の問題を掲げておいて、直後に自分なりの答えを書いている。 応用範囲が狭くなるのは開発コストや単価が上がるからで、デバイス自体の柔軟性
は非常に高いので、ネックとなる開発コストを抑えて適切な市場を見つけることが
出来れば問題は無くなる。
利益が見込まれるなら、便利な開発ルールなども導入できるので好循環が生まれる。
しかし現状は関連する仕事があまりないので年に一回程度しか使わない。こういう
状況だとなかなか上達もしない。3か月みっちり使ってかなり上達したのにまた忘却
サイクルに入っていく。
アッ、でも今回は予定よりもはるかに長いので技術も上達しつつある。長い目で
見ると酷いトラブルは世界を広げたり、技術の上達には良い結果をもたらすので
はあるまいか。
それにも増して何よりも大事な「謙虚」というものを学ぶことになる。
>881
少し冒険をして、難度の高いものをやれば、どんなに優秀な技術をもってしても
きっとトラブルと思う。そうすると知性と謙虚さを学ぶことができる。と思う。 FPGAでCPU作ろうとしてるんだけど、どれ買えばいいのかわからない 今からFPGA勉強して参入出来そうな市場ってあるの? >>883
まだまだ「謙虚」が足りないように見える 本当にいろんな事がよくできる人って不思議と謙虚な人が多いよね
なんでだろう プロ野球で代打要員の選手が、
「打席に入るのはせいぜい1試合に1回。あとはバットを握ることはもちろん、他のトレーニングもしないので衰える一方」
なんて言ってたらそりゃ仕事は減りますよね。 出来ない理由探しにしか見えないからなぁ。
Zynqに興味があるなら、何か適当なペリフェラルでも
自分で作ってみればいいし、Linuxが嫌ならFreeRTOSが
オフィシャルにあるんだから、それ使えばいいし。
話の流れに出て来た人ってさっさと手を動かしてる人だよ。
口というか愚痴ばかりで駄目エンジニアの典型にしか見えない。 >>885
別の人も書いてるけどDE0-CVがお手軽。
でもCPU作るならFPGAで作る前に、簡単なエミュレータを作ってサイクルとかを設計した方がいいよ。いきなりは作れないから。 8080でもエミュを作れれば問題解決能力が
桁違い、それも3桁以上になるだろう。
給金は伸びないけど。 $119 15K DE0
$150 49K DE0-CV
$85 50K DE10-Lite
コスパなら、DE10-Lite だな でもクソ頑固な方はハマれば最高だが
聞く耳を持たず自分が誰よりも正しいと思ってるから伸び代も少ない 段階を丁寧に追っていかないとマスターできないという人は理系の仕事には
あまり向かない。始めてチューリングマシンのアイデアに触れただけで、コンピュータ
の全体的イメージが出来上がる位の想像力は必要だ。
LEDチカチカができれば、「ヨッシャー、これで何でもできる。」と思える位の大胆さ
は持ち合わせていてほしい。
とは言えそうは問屋がおろさない。想像力があることと実際にそこに到達する
ことができることとはかなり違ってくる。
到達するには「クソ頑固」が必要になる。一人で二つの性格を合わせ持つのは難しい。
しかし性格の反対のものが二人いて協力すれば簡単に到達できる。
>口というか愚痴ばかりで駄目エンジニアの典型にしか見えない。
これはクソ頑固な人から見た柔らか頭の持ち主の典型的イメージだ。職場にも
そういう人を見つけてたら是非とも協力するということを思いつくと素晴らしい
ことが起こると思う。 自分だけは常に誰よりも正しいという前提
に立ってる人っているよね
端的に言えば傲慢な人 verilogで、
reg [7:0] retsu [0:5] [0:6];
みたいに定義する配列って、
同一モジュール内でしか使えないですか?
下位モジュールに渡そうとしたら、
下位モジュールのinputの定義でエラーが出てしまうので、
どうなのかと思っているのですが。 >905
もっと簡単なことでもエラーを出さずに誤動作するので、エラー警告を出しただけ
でも驚きだが、そういうことはやらない方が良いと思う。 あーあローンの返済後とかロンリーガールとか金持ちの庭とシマウマとかから解らなくして安城と刈谷で電車で死亡事故があったー!辞めろ風評被害!レジェンドこじきのイカロスになるしかない人たちがー!スラムダンク!
安部マリーオ! >>906
自分がイメージしやすいように、
8bitデータの二次元配列で扱いたかったんですが、
出来ないものはしょうがないですね。
ありがとうございます。 馬鹿だねー出てけーそうなるしかないのにねー顔パス?こじきにするよ always @(posedge gclk or posedge reset)
if(reset)
fset_q <= 24'h0;
else
if (ena | wr3)
fset_q <= fset_d;
この回路でリセット省略して初期値を入れて処理するとロジックに反映するという記述
があった。以下のように修正したみた。
reg [31:0] fset_q = 0;
always @(posedge gclk)
if (ena | wr3)
fset_q <= fset_d;
しかし実際にポストフィッティングを見るとリセットは入っていない。これは電源ON
で自動的にリセットを入れるから省略されているだけで、もしリセットしないレジスター
ではリセット回路が入ると考えていいのだろうか? >>905
Verilogでは配列のポートは不可能
SystemVerilogなら可能 >>912
FPGAならコンフィグで初期値が書き込まれる
ソースにないリセットは合成されない >914
コンフィグで初期化されるのか。
チョと不安がよぎるけれども考えてみたらそれで十分だね。いままでmodelsim
でのRTLシミュレーションの為にリセットを必ず入れていたが、変数を初期化して
おけば必要ないな。
寧ろ積極的にリセット部分は除くほうが方がベターだね。特に同期リセットを
入れるとかなり回路が複雑になる。
それにソースもリセットがないとシンプルで見やすくなる。
リセットは邪魔だね。変数の初期化でやってしまうべきだろうね。 ISPD Predicts Chip Futures
Machine Learning to Determine Architectures
http://www.eetimes.com/document.asp?doc_id=1331563& リセットSWの無いパソコン、電源ON/OFF するしかない
まぁ、確かに そういう物も存在したような気がする >918
リセットを設けるならコンフィグからかければいいのではないかな? 数ミリセカンド?で
リセットできるのだからね。
リセットが必要なのは誤動作した場合だが、その場合はロジックのバグなどの誤動作というより
は電気的な誤動作と考えた方がいい。そうかんがえるならコンフィグをしないとRAMベースの
FPGAの場合はRAM内のロジックが飛んでる場合もあるからね。
どのみちコンフィグのリセットをするんなら内部のレジスタリセットはいらない。
無用の長物だ。 1.PoweronReset 電源を落とす。
2.config reset ローディング時間がすこしかかる
3.register reset グローバルリセット
4.Logical reset これは適宜必要に応じていれる
3は
reg buf = 0;
とする。if(reset)はすべて省略、一切いれない。外部SWでグローバル
リセットするような場合は2のconfigresetで行う。
4のロジカルリセットはこれは必要なロジックがあれば当然つける。
てことね。 >>921
そう書くなら、どのあたりがどんなふうに戯言なのか書くべきだと思うんだ。
それを避けてるでしょ。誰かが具体的に言って、些細なことでグダグダになるのを高みの見物でもするつもりっすか?
あえて言うけど、ずるい。 2chの書き込みを裏をとらずにそのまま信じるアホはさすがにいないかと >922
前例がないので反発があるのは当然だ。
★最近のFPGAではグローバルリセットは無用
これはかなり大胆な意見だと思う。どこの教科書にもリセットが入っているし、こんなことを
いう人の前例がない。
しかし正しい選択だと確信している。意見のある人は言ってくれれば答える。 正しいと確信してるなら他の人に意見を聞くな
確信してないから意見を求めてるんだろ? 前例がないことに対しては誰も慎重になる。そのことを真剣に考えてみるということは
めんどうだ。考えることよりも学びを主体にした知識習得をしていると、誰もが正しいと
言っていることは、敢て反発するのは怖いものだ。
しかしベテランというポジションにいる人は、何か一言わざるをえない。そうしないと
示しがつかないからだ。
それが苦言。まあ稀に正しいこともあるが間違っていることも多い。 製品開発だと不要なリスクをわざわざ負う必要が無いっていう意見が重視される
前例の有無はそれはそれで意味がある
いろいろな評価が通ってることがわかってるわけで
リスクがあっても何も問題が無い用途でやってねって感じ
趣味ならどうぞどうぞ
そうじゃなきゃこんなところで同意を求めてないで評価、検証 >正しいと確信してるなら他の人に意見を聞くな確信してないから意見を求めてるんだろ?
あなたの言葉にはこの問題にたいする断定的な言葉がない。この問題をはぐらかした
意見でしかない。良識的意見のようであって、実は問題とは関係ない。
この問題が正しくても間違っていてもあなたは被害をこうむらないように逃げ道が
用意されている。
そんなにビビらなくても、正しいのか間違っているのか。その意見を言えばいい
と思う。 検証しないで正しいとか正しくないとか無責任なことは言わない >>921
赤いIDは戯言率高し。俺は小ズルいのさ。
ID:76ccvaD/
ID:/f9oldZT
ID:crzqUro7
ID:TcShF5sa
ID:G/ANrYqO
ID:m3kX9Ato 別に間違ってないと思うよ。
ただ、グローバルにしてもモジュール単位にしてもリセットがあったほうがデバッグしやすい場合はあるね。 あと、今はリセットを要求されていない仕様で問題ないかもしれないけど、別の設計でリセットが必要な仕様のときにモジュールの再利用がしにくくなるかもね。 最近猫にどう芸を仕込んだらいいのかとかなりトライしてきたので、頭の固い人を
相手にしても感情的にならないで優しく見れるようになってきた。どうやって教えたら
いいんだろうとは思うが、噛みついてきても怒りにはならない。
寧ろ可愛い。 >正しいと確信してるなら他の人に意見を聞くな
正しさには多様性があるから、他の正しさを聞いたり、他の価値観に照らしてみるという作業は必要だと思うんだが。
>>933-934 が実際的で、俺は同意できるな。
>>935
猫はモフモフしていて良い匂いだから。 >>919
FPGAでかいと100ms以上かかるし、バスの仕様によっては1ms以内に動作しないとならない場合もあるよ。 >937
100msecはキツイな。しかし暴走したんだからやむえない。リセットかける以外に
方法はない。暴走以外で手動リセットがひつようになるケースはないのでは?
しかしバスの仕様でという場合には、ロジカルなリセットでないとだめではないの?
つまり初期化とは別に、ロジカルにリセットを用意しておかなくてはだめでしょ。 どういう意味かよくわからないけど、バスの仕様を満たせるならロジカルだろうとグローバルだろうと非同期だろうと同期だろうと好きなリセットにしたらいいと思うよ。
そういったリセットを無しにしてFPGAの初期化の機能だけ使えばリソースを減らせる、という話ではないの? >933
デバッグかー。一括リセットしたいという場合はあるかもしれないね。自分の場合は
モジュールが小さいので、それが必要なケースに出会ったことはないが、、、
そういう場合にはテストベンチでなにか工夫はできないのだろうか?
ソースにくどくどとif(reset)をいれる理由にするには、自分としてはすこし弱い気
がする。
リセットを無くせばかなりスッキリする。特にRTLビューワで見た時にスッキリと
なるのでドキュメントに貼り付ける時に非常にわかりやすい。 >そういったリセットを無しにしてFPGAの初期化の機能だけ使えばリソースを
>減らせる、という話ではないの?
そうではないよ。
初期化リセット以外ではリセットが必要のないレジスタであってもリセットを
いれているというケースです。 >あと、今はリセットを要求されていない仕様で問題ないかもしれないけど、別の設計で>リセットが必要な仕様のときにモジュールの再利用がしにくくなるかもね。
客先から「リセットを入れよ」という仕様になっていれば仕方ないね。
でも「つべこべいうな。何が何でもどうしてもリセットを入れよ。リセットがないと
検収を上げん。」という頭の悪い客の場合はしかたないけれども、このデバイスでは
リセットは不要で、入れない方がいいですといえば普通は納得してもらえるのでは
ないだろうか?
そういうことは別にして、実際にリセットが必要な仕様というのはあると思う?
所謂、初期化リセット、グローバルリセットのことだけど。
つまりconfigでリセットをかけることができるのに、それとは別に初期化リセットが
必要な回路って殆どないと思う。
もちろんロジック的に同期リセットが必要になるというのは普通にあるけど、それを
グローバルリセットで代用するってことはないんので、これはリセットを省略する
ことは元々できない。 コンフィグ時間が問題になるときとか、リセット中のFPGAのピンの状態を確定させたいときかな。
その辺の問題がなければリセットピン無しにすればFPGAのピンを1本節約できるね。
ただそういう目的と記述中にリセット記述をしないこととは別問題だとは思うけど。 >コンフィグ時間が問題になるときとか、リセット中のFPGAのピンの状態を確定させたいときかな。
それはおかしい。Config中でもHZで確定してるし必要ならPULLして確定しなくてはいけない。
逆にリセット時の出力確定とConfigの確定は一致しておかないとまずいでしょ。イニシャルリセットだよ。
暴走したらConfigするしかないので、Config時間が問題になるような設計ではいけないということになるね。 例えばFPGAにつないでいるデバイスがリセット解除時にクロックが必要だとか、ポートのHigh/Lowを指定してくるだとかはよくあると思うけど。
もちろんFPGA側でそのデバイスのリセットが握れるなら問題ないけど、そうでない場合もあるでしょ。
>>暴走したらConfigするしかないので、Config時間が問題になるような設計ではいけないということになるね。
そもそも暴走するような設計にしたらあかんでしょw 非同期問題を甘く見てる この手ヤツは、いずれ会社に億単位の損害を与えるから そのに時体でわかるよ
理解できた時は既に手遅れだけどな、一生忘れられない経験になる >>925
>暴走するような設計にしたらあかんでしょw
「Configしなおさないとリカバリできない暴走」を回避する設計ってどんなのでしょうか。
静電気のアタックや電源瞬断、雷サージなどに対する堅ろう性とか? 「Configしなおさないとリカバリできない暴走」があるとしたら放射線によるソフトエラーとかですかね?
私はそんな状態になったのを見たことありませんけど…
そもそもなぜ >>938 から暴走した時の話が出てきたのか私にもわからないけど… >私はそんな状態になったのを見たことありませんけど…
自分もだけど、リセットなんて使うことがない。でもリセットしたい場合もある。
そのときはConfigでいいのではないかって話。コンフィグなら reg buf = 0;で簡単に
リセットできる、リソースも全く消費しない。回路もシンプルになる。
話がかみ合ってないのだろうか?
なぜわからないのかわからない。
リセットが必要なケースはどんなケースがあるのかだよね。 マニュアルSW
1.PoweronReset 電源を落とす。
2.config reset ローディング時間がすこしかかる マニュアルSW
3.register reset グローバルリセット マニュアルSW
4.Logical reset これは適宜必要に応じていれる
これ以外にはないでしょう。
4は省略できないから問題外だよね。
3は不要で2で代用できるはずというのが自分の考え。
3が必要な例として
デバッグでリセットを使いたい。 これは大規模な場合はあり得るかも
小規模ならリスタートでいい。
他に3のケースがあるんだろうか? ないなら2のコンフィグでリセット代用で
いいのではないか? むしろそうすべきだと思う。 確かにかみ合ってないのかも
3, 4の違いというか定義が良くわからない。
3はすべてのレジスタに一本のリセット信号線で入れる非同期リセットみたいなもの?
4はモジュール単位のリセット信号とか? 例えばカウンターとかシーケンサーの記述でリセット記述はせず、レジスタ初期値だけ記述する。
リセットしたくなったらコンフィグからやり直せばいい、という意見だよね。
せっかくFPGAの機能としてあるんだからそれをうまく使えばいい、というのは私も賛成です。
ただ、>>943 のような理由からリセットが必要な場合も多々あって、常にリセットなしでというのは無理がある、または非合理的だし、ソースの再利用を考えるならリセット記述をしておいたほうがいいかもしれない、と言いたいわけです。 レス数が950を超えています。1000を超えると書き込みができなくなります。