2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【Verilog】 記述言語で論理設計Project14 【VHDL】

1 :774ワット発電中さん:2016/08/08(月) 08:14:48.93 ID:Lhv7D4dX.net
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/

951 :774ワット発電中さん:2017/04/08(土) 22:01:55.70 ID:4B4Yv29r.net
例えばカウンターとかシーケンサーの記述でリセット記述はせず、レジスタ初期値だけ記述する。
リセットしたくなったらコンフィグからやり直せばいい、という意見だよね。
せっかくFPGAの機能としてあるんだからそれをうまく使えばいい、というのは私も賛成です。

ただ、>>943 のような理由からリセットが必要な場合も多々あって、常にリセットなしでというのは無理がある、または非合理的だし、ソースの再利用を考えるならリセット記述をしておいたほうがいいかもしれない、と言いたいわけです。

952 :774ワット発電中さん:2017/04/08(土) 22:22:19.68 ID:4B4Yv29r.net
実際リセットをレジスタ初期値に置き換えたらどの程度使用リソースが減るんだろう。
XかAか同期か非同期かにもよるんだろうけど…

953 :774ワット発電中さん:2017/04/09(日) 01:03:06.87 ID:T6S2xSgo.net
既に使用デバイスが決まっているなら、使用率の減少は絶対的な価値ではない。
検討段階でデバイスをワンランク落とせるなら、それは価値のある事。

でも本当の動機はソース記述量を一行でも減らして、ソースを書く時間を
節約したいという事だろ。そうすれば、ASIC化の可能性も潰せるし、
何より楽ができる。

954 :774ワット発電中さん:2017/04/09(日) 07:34:29.51 ID:LheVe4ff.net
>そうすれば、ASIC化の可能性も潰せるし
この話題とどういう関係があるのだっけ。
それに、ASIC化の可能性をなくすことってメリットあるの?

955 :774ワット発電中さん:2017/04/09(日) 08:50:01.96 ID:CvKg6enZ.net
>945
精神的メリット。resetがないならAsicは無理。w

956 :774ワット発電中さん:2017/04/09(日) 08:50:36.24 ID:CvKg6enZ.net
>ただ、>>943 のような理由からリセットが必要な場合も多々あって、
>常にリセットなしでというのは無理がある、または非合理的だし、ソース
>の再利用を考えるならリセット記述をしておいたほうがいいかもしれない

何故無理があるのかという例が一つでもあれば納得できるが、一例もないのに
意味があるとは思えない。
943については944で反論した。943の例は根拠がないと思う。

>常にリセットなしでというのは無理がある
なぜ?

>非合理的だし
なぜ?

>ソースの再利用を考えるなら
なぜ?
グローバルリセットが必要なロジックがそもそもないのに再利用でも必要ない。

たとえば「PLDにもっていくなら必要だ」「AISCに持っていくときには必要だ。」
というのであれば納得できる。そういう必要になるケースはもちろんあると思う。
デバイスが変わればそもそもソースをコンパチで使えるということはないので、
ロジックは再検討するのが普通だ。無条件に付けているリセットを省略している
だけだから、再度追加しなおすことにコストはかからない。
そのためだけに再利用を意識する必要はないと思う。
そういう場合には、マクロを作って自動的に全部のalwaysに追加したらいい。

リセットの削除の意味は「自動的に削除できるものを削除すべきだ」というのと同じだ
から、必要な時には「自動的に追加したらいい」それだけだと思う。

957 :774ワット発電中さん:2017/04/09(日) 08:53:35.25 ID:CvKg6enZ.net
再利用という意味では、IPがある。リセットのないIPが売れるんか?

IPにはresetが付いていてほしいかも、と自問してみた。
暫く悩んだが、やっぱりいらないと結論した。

958 :774ワット発電中さん:2017/04/09(日) 09:05:49.31 ID:LheVe4ff.net
>精神的メリット。resetがないならAsicは無理。w

ASIC化できることの方がメリットあると思うんだが。

959 :774ワット発電中さん:2017/04/09(日) 10:10:32.66 ID:NCVEXyRt.net
reset も clock もなければないほうがいいよね。

960 :774ワット発電中さん:2017/04/09(日) 10:10:38.82 ID:QyR6HXT9.net
>>956
その前に >>949 の3と4の定義を教えてよ。

961 :774ワット発電中さん:2017/04/09(日) 10:18:39.17 ID:y56uCNBI.net
自分だけは誰よりも正しいという前提
自分だけはバカじゃないという前提
自分だけは能ある鷹であるという前提

962 :774ワット発電中さん:2017/04/09(日) 12:46:24.70 ID:QyR6HXT9.net
そういえばCycloneはFFの初期値は0にしか設定できないって話があったような。
単ビットであれば1に設定してもコンパイラがうまいことやってくれそうだけど、カウンタやシーケンサの初期値を0以外にした場合はどうなるんだろ。
今度試してみるか…

963 :774ワット発電中さん:2017/04/09(日) 13:20:28.77 ID:CvKg6enZ.net
>958
やっとこさでFPGA完成させたのに、それをまたASICにするのは仕事が増えて大変と思う
人だけの話。
「ASICは無理、出来ません。resetがついてないので、、、」
と過剰な仕事を逃げることができる。
「じゃあリセットをつけなさい」
「わかりました。3か月ほどかかります」ということで、納期が稼げる。実際には
マクロで3分で変更できるから、3か月ほどFPGAで遊べる。

964 :774ワット発電中さん:2017/04/09(日) 13:21:49.48 ID:CvKg6enZ.net
>958
やっとこさでFPGA完成させたのに、それをまたASICにするのは仕事が増えて大変と思う
人だけの話。
「ASICは無理、出来ません。resetがついてないので、、、」
と過剰な仕事を逃げることができる。
「じゃあリセットをつけなさい」
「わかりました。3か月ほどかかります」ということで、納期が稼げる。実際には
マクロで3分で変更できるから、3か月ほどFPGAで遊べる。

>960
3は普通のリセット、reg aa=0と書いておけば配線を省略できるリセット
4は省略できないリセット たとえば1msec間反応が無かったらカウンタを0にしなければ
ならないというようなリセット。

965 :774ワット発電中さん:2017/04/09(日) 13:33:54.22 ID:CvKg6enZ.net
>reset も clock もなければないほうがいいよね。

それを言い出すとverilogからは足を洗うことになる。

リセットがないだけでもかなりスッキリする。Verilogが好きになりそう。
慎重に記憶をたどってみても今まで一度も、ただの一度もリセットを使ったことがない。
それなのに、modelsimが真っ赤になるので只管リセット回路を書いていた。

なぜこんな大事なことに気が付かなかったんだろう。w

966 :774ワット発電中さん:2017/04/09(日) 13:34:53.10 ID:VFAarKh8.net
該当FFに入出力にInverterを入れてたな、確か

967 :774ワット発電中さん:2017/04/09(日) 13:42:47.40 ID:VFAarKh8.net
面白いのは、非同期 set/rst 付きのFFを合成させた場合
トランス・ペアレントLATCH + XOR の追加で逃げてる

Warnnig 出るから、何だろうと思って追ってみたら
自ら合成した箇所で、Warnnig 出してたな

968 :774ワット発電中さん:2017/04/09(日) 13:54:05.34 ID:X8OZliTO.net
>>963
仕事舐めてんなてめぇ

969 :774ワット発電中さん:2017/04/09(日) 14:10:09.46 ID:LheVe4ff.net
>「ASICは無理、出来ません。resetがついてないので、、、」

んー。俺のお得意さんにこんなことを言ったら「重大な瑕疵」って言われそうだ。

970 :774ワット発電中さん:2017/04/09(日) 14:18:43.42 ID:CvKg6enZ.net
チョット燃料投下すると賑やかになるな。w

971 :774ワット発電中さん:2017/04/09(日) 14:33:33.45 ID:uwMDGr5F.net
ループの回数の上限ってなにで決まるんですか?
ループが多すぎるってシンセサイズのエラーが出ました。

972 :774ワット発電中さん:2017/04/09(日) 14:38:49.22 ID:T6S2xSgo.net
>燃料投下
自白しましたし、もう解散でいいでしょ

973 :774ワット発電中さん:2017/04/09(日) 15:06:43.55 ID:LheVe4ff.net
ふむ。

>3か月ほどかかります」ということで、納期が稼げる。実際にはマクロで3分で変更できるから

この「3分」という見積もりがいつも外れて3カ月4カ月かかるようだと、

「あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを 失敗した上に…」と愚痴りたくなるだろな。

974 :774ワット発電中さん:2017/04/09(日) 15:18:49.27 ID:y56uCNBI.net
>>970
お前みたいな害虫に当たらないことを願うばかりだ

975 :774ワット発電中さん:2017/04/09(日) 15:20:27.30 ID:y56uCNBI.net
すまん変換ミス
○外注

976 :774ワット発電中さん:2017/04/09(日) 15:35:24.96 ID:CvKg6enZ.net
>974
恐れている者のところに弾は飛んでいく。よろしこ!

977 :774ワット発電中さん:2017/04/09(日) 15:38:08.46 ID:CvKg6enZ.net
>973
急がば回れ。見積もり失敗は成功の母。そのうちガッポリ取り返す。

978 :774ワット発電中さん:2017/04/09(日) 15:40:46.22 ID:CvKg6enZ.net
>んー。俺のお得意さんにこんなことを言ったら「重大な瑕疵」って言われそうだ。

ケツのアナの小さい害虫にはケツのアナの小さい客。類は友を呼ぶ。

979 :774ワット発電中さん:2017/04/09(日) 15:54:00.80 ID:CvKg6enZ.net
>仕事舐めてんなてめぇ

仕事は呑んでかかる。くってかかるの下等。
しかし舐めてかかると痛い目に合うのがFPGA。

980 :774ワット発電中さん:2017/04/09(日) 15:56:23.35 ID:CvKg6enZ.net
誠意を込めてレスしたいのだが、返信の難しいレスが多いな。

981 :774ワット発電中さん:2017/04/09(日) 16:14:10.45 ID:QyR6HXT9.net
>>964
>4は省略できないリセット たとえば1msec間反応が無かったらカウンタを0にしなければならないというようなリセット。
ああ、勘違いしているのね。
相手のデバイスからリセットが来て、解除されたあと1ms以内に相手が通信を始める。
その場合にリセットをコンフィグにしていると、例えばコンフィグに10msかかると相手のデバイスは通信できないでしょ。

>>956
>デバイスが変わればそもそもソースをコンパチで使えるということはないので、
デバイス固有の機能を使っていなければそのまま使えるよ。
固有の機能を使っていても同じデバイスや同じシリーズならそのまま使えることが多いし。

>>966
カウンタなんかでもFFの前後にNotでいいのか。なるほど。
試さんですんだ。THX。

982 :774ワット発電中さん:2017/04/09(日) 16:38:05.11 ID:CvKg6enZ.net
>981
それは勘ちがいだな。
4はConfigしてはいけないリセットだから、、、

4は配線を省略できないリセット
 たとえば1msec間反応が無かったらカウンタを0にしなければ ならないというようなリセット。だからConfigで代用はできない。だから最初から4は問題外としている。
4はグローバルリセットしてはいけないもの。だから当然Configで代用はできないもの。

983 :774ワット発電中さん:2017/04/09(日) 16:59:59.15 ID:QyR6HXT9.net
>>982
グローバルかどうかはこの際あまり関係なくて要するにリセットが省略できないケースがあるということ。
今回はコンフィグ時間問題ならないからということで全部リセット省略して作った後に、次の設計でリセットが必要で以前作ったリセットなしのモジュールを使おうとしてもそのままでは使えない、となる可能性があるよ。

マクロ作戦はありかもしれないが、相当そのマクロに自信がないと、結局マクロが意図通り働いているか確認して回ることになる。

QuartusではFFはリセット値でPower upするらしいから、原理的にはリセット記述をしておいてリセットのポートをネゲートしておけばコンフィグ後正しく動作することになるのかなぁ。
んーでもようやらんなぁ。

984 :774ワット発電中さん:2017/04/09(日) 17:17:27.94 ID:CvKg6enZ.net
>グローバルかどうかはこの際あまり関係なくて要するにリセットが省略できないケースがあるということ。
>今回はコンフィグ時間問題ならないからということで全部リセット省略して作った後に、次の設計でリセット
>が必要で以前作ったリセットなしのモジュールを使おうとしてもそのままでは使えない、となる可能性があるよ。

ないとおもうよ。
 リセットの種別を分類して話をしないと混乱するよ。あなたは全部をひっくるめてリセットという言葉でいうので
混乱してると思うよ。
2のリセットなのか3のリセットなのか4のリセットなのかを区別して、書いてごらんよ。

2のリセットと4のリセットが問題外というのは分るよね。
話の内容からして3のタイプのリセットと4のタイプのリセットが混乱してるのではない?

1. 4のリセットは3のリセットでは代用できない。だから省略も変更もできない。
2. 3のリセットは2のリセットで代用できる。

この2点の意味がわかる?
だから反対意見を言うなら、2の判例を出さないと駄目でしょ。1例でいいので例を挙げないとだめですよ。

985 :774ワット発電中さん:2017/04/09(日) 17:22:55.02 ID:QyR6HXT9.net
3と4は記述としては全く同じじゃない?
違うなら実際のコードで例を出してほしい。

986 :774ワット発電中さん:2017/04/09(日) 17:36:21.39 ID:QyR6HXT9.net
1.マイコンとFPGAつなぐからFPGAよろしく。通信はSPI。電源ONのあと1秒後に動くよ。
2.よーし。SPIの通信モジュールリセットなしで作っちゃうぞ〜
3.動作も良好。完了!
4.1か月後、新プロジェクト。
5.マイコンとFPGAつなぐからFPGAよろしく。通信はSPI。リセット解除後1msで動くよ。リセットはマイコンが好きに動かすよ。前作ったからすぐできるよね?
6.リセットないΣ(゚Д゚|||)…

これでOK?
SPIくらいならどうということないけどでかいモジュールだと困るでしょ。

987 :774ワット発電中さん:2017/04/09(日) 18:24:34.62 ID:CvKg6enZ.net
 敢てそういう例を挙げるのであれば、そのタイプが4タイプのリセットってこと
だけどね。つまり避けられないリセット。
受注してやる場合にモジュール単位で受注する業態ならそういうことはあるかも
しれないね。

 でもシステムとかボード単位だとないでしょ。電源ONした後でリセットが必要な
ケースはまずないね。
でかいモジュールをマイコンでドンドンリセットするなんてことはありえない。
それが急に仕様的に1msecになるなんてないよ。リセットが常時必要なら仕様の中に
リセットが入ってる。
それはリセットという名をつけてもコマンドだよ。つまりリセットコマンドだね。
 3のリセットというのは緊急回復とか異常回復しょりだよ。それをマイコンのポート
に繋いで常時頻繁にON/OFFするなんてことはしてはならないでしょ。それをやりたい
ならコマンドにしなくてはいけない。

それにSPIにリセットいる? いらないでしょ。SPIにリセットなんか付けたことない。

988 :774ワット発電中さん:2017/04/09(日) 18:55:48.55 ID:QyR6HXT9.net
例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
いつリセットが来るかなんて教えてくれない。
もちろんリセットボタンを押してもリセットがかかる。

通信プロトコルの途中ならリセットしないとリセット後の通信が正しく確立しないし、デバイスの内部状態だってリセットせずに前の状態のままだと困るでしょ。

なぜ自信満々でないと言い切れるのか不思議だ。
まあ、趣味でやっているのだろうから好きに作ったらいいけど。

989 :774ワット発電中さん:2017/04/09(日) 19:18:50.84 ID:LheVe4ff.net
んー。
ID:CvKg6enZ はその経験の中でそれで十分だと考えていて
ID:QyR6HXT9 はそれでは十分ではないと言ってるのだよな。

たいていの場合、何かを狭くして「十分」というときには何かが欠けてしまっている。
その欠けているものが重大なものなのか取るに足らないものなのかの判断は主観に依存することが多いと思う。
ID:QyR6HXT9 が、ID:CvKg6enZ を説き伏せることはムリだろし、価値観を共有できない人に、ID:CvKg6enZ が
自分の信じるものを納得させるのもムリ。

仕事だったら、お客さんか上司の判断を仰ぐとかしないといけないし、そういう第三者がいないプロジェクトで
同僚とこんなやりとりになったら、すげえ面倒だ。(あ。嫌なことを思い出した。ヤレヤレ)

この話題は ID:CvKg6enZ が広場の中心でマイクを持って主張を始めたところに、とおりがかった ID:QyR6HXT9 が
それはどうなん?って感じで声をかけたようなものだと思う。どこぞの政治家の演説に論戦をふっかけたって、
その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。

990 :774ワット発電中さん:2017/04/09(日) 19:35:59.22 ID:CvKg6enZ.net
>例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
>いつリセットが来るかなんて教えてくれない。
>もちろんリセットボタンを押してもリセットがかかる。

Config resetで問題ないと思うが、、、パソコンの立ち上がるまでに腐るほど
時間がある。

>通信プロトコルの途中ならリセットしないとリセット後の通信が正しく確立しないし、

そういうある意味不完全なモジュールは当然リセットが必要だね。
イニシャル以前にしばしばハングとかあるのでしょう。

プロトコル中断は基本的にはタイムアウトで自動リセットするから自分の場合は
ハングなんかさせない。
ウオッチドグも入ってる。そこそこ完全なシステムを作っておけばいらないとおもうよ。

>デバイスの内部状態だってリセットせずに前の状態のままだと困るでしょ。

困る場合はリセットを入れる。しかし殆どこまらないのではないかな。
最悪困った時はConfigリセットでいい。

991 :774ワット発電中さん:2017/04/09(日) 19:41:21.26 ID:CvKg6enZ.net
>その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。

政治とは違うよ。できない例が一つでもあれば終わりだからね。その例をだせれば
其のときは君の勝。 打ち負かしたら気分が最高になると思う。
かなり有利な立ち位置にあるのに、すこしは考えてみてよ。

992 :774ワット発電中さん:2017/04/09(日) 19:48:11.79 ID:CvKg6enZ.net
なぜパソコンリセットの例がでるんだろ。
ろくに考えもせずにリセットは絶対に必要だと思い込んでるのではない?
それとも勘ちがいしてるのかな? Configで代用するというのは理解してるよね。
もんだいは一寸時間がかかるってことくらいだから、パソコンリセットとの同期を
例にするのが意味不明だ。

993 :774ワット発電中さん:2017/04/09(日) 19:54:31.22 ID:QyR6HXT9.net
>Config resetで問題ないと思うが、、、パソコンの立ち上がるまでに腐るほど時間がある。
操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIOSがどんなデバイスがいるか見に来るのよ。

>その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。
そうだね、この辺にしとくよ。

うーん、自分で手を動かして、既存の考えにとらわれず新しい方法を検討する姿勢は素晴らしいと思うんだけどね…

994 :774ワット発電中さん:2017/04/09(日) 20:15:28.90 ID:CvKg6enZ.net
>操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIO>Sがどんなデバイスがいるか見に来るのよ。

ああ、そういうレベルのボードをイメージしていたのか。PCIとかね。
それならわかる。そういう場合はConfigで代用は無理かもね。
 確かにそういう美味しいボードばかりを作っているとそう思うかもしれないな。

まあ有意義でした。これでお開きってことに。

総括:美味しいボード リセット入れること
   普通のボード  リセット不要

995 :774ワット発電中さん:2017/04/09(日) 20:42:18.75 ID:y56uCNBI.net
・・・。

996 :774ワット発電中さん:2017/04/09(日) 22:15:37.80 ID:T6S2xSgo.net
怠け者が本質なのに、真っ赤になって駄文繰り返すとか変な所で勤勉なんだな。
勤勉な馬鹿。

997 :774ワット発電中さん:2017/04/10(月) 06:21:51.05 ID:qCqh+BdC.net
しかし、熟練技術者の先輩に苦言をいうのははばかられるが、そういう一言は飲み込んで
ぐっとこらえると部下が伸びる。特にお調子者の部下の場合はさりげなく褒めると伸びる。
もう技術者としては歳だろうから建設的な提案を出すのは難しいとは思うが、そういう
場合にも若い者の意見を理解するように努めないといけない。これはやはり質問の発し方
が重要だと思う。
 意見の意味する本質を引き出すような適切な質問をすると部下も非常に喜ぶ。感情的に
食ってかかるというのが一番いけない。それよりもさらに悪いのは意味もなく只管貶すこと。
部下も伸びないし、自分も伸びない。それでなくても年を取ると段々頭が固くなるのに
それを加速するようなことをしてはいけない。
と思います。

998 :774ワット発電中さん:2017/04/10(月) 07:00:13.27 ID:HWBm2vGI.net
○ FPGAでは非同期リセット不要。
○ 完全同期回路仕様推奨。非同期動作の完全撤廃。
○ Config終了時の初期値定義を推奨。
これらは別に新しい意見じゃなくて、FPGAベンダーのポジショントーク。
彼らはFPGAが売れればいいからASIC展開とか要求としての非同期は考慮しない。

999 :774ワット発電中さん:2017/04/11(火) 18:53:31.21 ID:b1xY0IgW.net
>>998
オレサマはASIC設計だから、FPGAで動かすにしても非同期リセットですがなにか?

1000 :arisa ◆QaHT6HayjI :2017/04/11(火) 18:58:55.53 ID:b1xY0IgW.net
リセット入れて下さいと仕様書にもかいてあるのに、
リセットが入れない設計と実装をする技術者なんか、
取り替えればいいだけだろ。

総レス数 1000
276 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200