0001774ワット発電中さん2016/08/08(月) 08:14:48.93ID:Lhv7D4dX
実際リセットをレジスタ初期値に置き換えたらどの程度使用リソースが減るんだろう。
XかAか同期か非同期かにもよるんだろうけど…
既に使用デバイスが決まっているなら、使用率の減少は絶対的な価値ではない。
検討段階でデバイスをワンランク落とせるなら、それは価値のある事。
でも本当の動機はソース記述量を一行でも減らして、ソースを書く時間を
節約したいという事だろ。そうすれば、ASIC化の可能性も潰せるし、
何より楽ができる。
>そうすれば、ASIC化の可能性も潰せるし
この話題とどういう関係があるのだっけ。
それに、ASIC化の可能性をなくすことってメリットあるの?
>945
精神的メリット。resetがないならAsicは無理。w
0956774ワット発電中さん2017/04/09(日) 08:50:36.24ID:CvKg6enZ
>ただ、>>943 のような理由からリセットが必要な場合も多々あって、
>常にリセットなしでというのは無理がある、または非合理的だし、ソース
>の再利用を考えるならリセット記述をしておいたほうがいいかもしれない
何故無理があるのかという例が一つでもあれば納得できるが、一例もないのに
意味があるとは思えない。
943については944で反論した。943の例は根拠がないと思う。
>常にリセットなしでというのは無理がある
なぜ?
>非合理的だし
なぜ?
>ソースの再利用を考えるなら
なぜ?
グローバルリセットが必要なロジックがそもそもないのに再利用でも必要ない。
たとえば「PLDにもっていくなら必要だ」「AISCに持っていくときには必要だ。」
というのであれば納得できる。そういう必要になるケースはもちろんあると思う。
デバイスが変わればそもそもソースをコンパチで使えるということはないので、
ロジックは再検討するのが普通だ。無条件に付けているリセットを省略している
だけだから、再度追加しなおすことにコストはかからない。
そのためだけに再利用を意識する必要はないと思う。
そういう場合には、マクロを作って自動的に全部のalwaysに追加したらいい。
リセットの削除の意味は「自動的に削除できるものを削除すべきだ」というのと同じだ
から、必要な時には「自動的に追加したらいい」それだけだと思う。 0957774ワット発電中さん2017/04/09(日) 08:53:35.25ID:CvKg6enZ
再利用という意味では、IPがある。リセットのないIPが売れるんか?
IPにはresetが付いていてほしいかも、と自問してみた。
暫く悩んだが、やっぱりいらないと結論した。
>精神的メリット。resetがないならAsicは無理。w
ASIC化できることの方がメリットあると思うんだが。
reset も clock もなければないほうがいいよね。
自分だけは誰よりも正しいという前提
自分だけはバカじゃないという前提
自分だけは能ある鷹であるという前提
そういえばCycloneはFFの初期値は0にしか設定できないって話があったような。
単ビットであれば1に設定してもコンパイラがうまいことやってくれそうだけど、カウンタやシーケンサの初期値を0以外にした場合はどうなるんだろ。
今度試してみるか…
0963774ワット発電中さん2017/04/09(日) 13:20:28.77ID:CvKg6enZ
>958
やっとこさでFPGA完成させたのに、それをまたASICにするのは仕事が増えて大変と思う
人だけの話。
「ASICは無理、出来ません。resetがついてないので、、、」
と過剰な仕事を逃げることができる。
「じゃあリセットをつけなさい」
「わかりました。3か月ほどかかります」ということで、納期が稼げる。実際には
マクロで3分で変更できるから、3か月ほどFPGAで遊べる。
0964774ワット発電中さん2017/04/09(日) 13:21:49.48ID:CvKg6enZ
>958
やっとこさでFPGA完成させたのに、それをまたASICにするのは仕事が増えて大変と思う
人だけの話。
「ASICは無理、出来ません。resetがついてないので、、、」
と過剰な仕事を逃げることができる。
「じゃあリセットをつけなさい」
「わかりました。3か月ほどかかります」ということで、納期が稼げる。実際には
マクロで3分で変更できるから、3か月ほどFPGAで遊べる。
>960
3は普通のリセット、reg aa=0と書いておけば配線を省略できるリセット
4は省略できないリセット たとえば1msec間反応が無かったらカウンタを0にしなければ
ならないというようなリセット。
0965774ワット発電中さん2017/04/09(日) 13:33:54.22ID:CvKg6enZ
>reset も clock もなければないほうがいいよね。
それを言い出すとverilogからは足を洗うことになる。
リセットがないだけでもかなりスッキリする。Verilogが好きになりそう。
慎重に記憶をたどってみても今まで一度も、ただの一度もリセットを使ったことがない。
それなのに、modelsimが真っ赤になるので只管リセット回路を書いていた。
なぜこんな大事なことに気が付かなかったんだろう。w
該当FFに入出力にInverterを入れてたな、確か
面白いのは、非同期 set/rst 付きのFFを合成させた場合
トランス・ペアレントLATCH + XOR の追加で逃げてる
Warnnig 出るから、何だろうと思って追ってみたら
自ら合成した箇所で、Warnnig 出してたな
>「ASICは無理、出来ません。resetがついてないので、、、」
んー。俺のお得意さんにこんなことを言ったら「重大な瑕疵」って言われそうだ。
0970774ワット発電中さん2017/04/09(日) 14:18:43.42ID:CvKg6enZ
チョット燃料投下すると賑やかになるな。w
0971774ワット発電中さん2017/04/09(日) 14:33:33.45ID:uwMDGr5F
ループの回数の上限ってなにで決まるんですか?
ループが多すぎるってシンセサイズのエラーが出ました。
ふむ。
>3か月ほどかかります」ということで、納期が稼げる。実際にはマクロで3分で変更できるから
この「3分」という見積もりがいつも外れて3カ月4カ月かかるようだと、
「あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを 失敗した上に…」と愚痴りたくなるだろな。
>>970
お前みたいな害虫に当たらないことを願うばかりだ 0976774ワット発電中さん2017/04/09(日) 15:35:24.96ID:CvKg6enZ
>974
恐れている者のところに弾は飛んでいく。よろしこ!
0977774ワット発電中さん2017/04/09(日) 15:38:08.46ID:CvKg6enZ
>973
急がば回れ。見積もり失敗は成功の母。そのうちガッポリ取り返す。
0978774ワット発電中さん2017/04/09(日) 15:40:46.22ID:CvKg6enZ
>んー。俺のお得意さんにこんなことを言ったら「重大な瑕疵」って言われそうだ。
ケツのアナの小さい害虫にはケツのアナの小さい客。類は友を呼ぶ。
0979774ワット発電中さん2017/04/09(日) 15:54:00.80ID:CvKg6enZ
>仕事舐めてんなてめぇ
仕事は呑んでかかる。くってかかるの下等。
しかし舐めてかかると痛い目に合うのがFPGA。
0980774ワット発電中さん2017/04/09(日) 15:56:23.35ID:CvKg6enZ
誠意を込めてレスしたいのだが、返信の難しいレスが多いな。
>>964
>4は省略できないリセット たとえば1msec間反応が無かったらカウンタを0にしなければならないというようなリセット。
ああ、勘違いしているのね。
相手のデバイスからリセットが来て、解除されたあと1ms以内に相手が通信を始める。
その場合にリセットをコンフィグにしていると、例えばコンフィグに10msかかると相手のデバイスは通信できないでしょ。
>>956
>デバイスが変わればそもそもソースをコンパチで使えるということはないので、
デバイス固有の機能を使っていなければそのまま使えるよ。
固有の機能を使っていても同じデバイスや同じシリーズならそのまま使えることが多いし。
>>966
カウンタなんかでもFFの前後にNotでいいのか。なるほど。
試さんですんだ。THX。 0982774ワット発電中さん2017/04/09(日) 16:38:05.11ID:CvKg6enZ
>981
それは勘ちがいだな。
4はConfigしてはいけないリセットだから、、、
4は配線を省略できないリセット
たとえば1msec間反応が無かったらカウンタを0にしなければ ならないというようなリセット。だからConfigで代用はできない。だから最初から4は問題外としている。
4はグローバルリセットしてはいけないもの。だから当然Configで代用はできないもの。
>>982
グローバルかどうかはこの際あまり関係なくて要するにリセットが省略できないケースがあるということ。
今回はコンフィグ時間問題ならないからということで全部リセット省略して作った後に、次の設計でリセットが必要で以前作ったリセットなしのモジュールを使おうとしてもそのままでは使えない、となる可能性があるよ。
マクロ作戦はありかもしれないが、相当そのマクロに自信がないと、結局マクロが意図通り働いているか確認して回ることになる。
QuartusではFFはリセット値でPower upするらしいから、原理的にはリセット記述をしておいてリセットのポートをネゲートしておけばコンフィグ後正しく動作することになるのかなぁ。
んーでもようやらんなぁ。 0984774ワット発電中さん2017/04/09(日) 17:17:27.94ID:CvKg6enZ
>グローバルかどうかはこの際あまり関係なくて要するにリセットが省略できないケースがあるということ。
>今回はコンフィグ時間問題ならないからということで全部リセット省略して作った後に、次の設計でリセット
>が必要で以前作ったリセットなしのモジュールを使おうとしてもそのままでは使えない、となる可能性があるよ。
ないとおもうよ。
リセットの種別を分類して話をしないと混乱するよ。あなたは全部をひっくるめてリセットという言葉でいうので
混乱してると思うよ。
2のリセットなのか3のリセットなのか4のリセットなのかを区別して、書いてごらんよ。
2のリセットと4のリセットが問題外というのは分るよね。
話の内容からして3のタイプのリセットと4のタイプのリセットが混乱してるのではない?
1. 4のリセットは3のリセットでは代用できない。だから省略も変更もできない。
2. 3のリセットは2のリセットで代用できる。
この2点の意味がわかる?
だから反対意見を言うなら、2の判例を出さないと駄目でしょ。1例でいいので例を挙げないとだめですよ。
3と4は記述としては全く同じじゃない?
違うなら実際のコードで例を出してほしい。
1.マイコンとFPGAつなぐからFPGAよろしく。通信はSPI。電源ONのあと1秒後に動くよ。
2.よーし。SPIの通信モジュールリセットなしで作っちゃうぞ〜
3.動作も良好。完了!
4.1か月後、新プロジェクト。
5.マイコンとFPGAつなぐからFPGAよろしく。通信はSPI。リセット解除後1msで動くよ。リセットはマイコンが好きに動かすよ。前作ったからすぐできるよね?
6.リセットないΣ(゚Д゚|||)…
これでOK?
SPIくらいならどうということないけどでかいモジュールだと困るでしょ。
0987774ワット発電中さん2017/04/09(日) 18:24:34.62ID:CvKg6enZ
敢てそういう例を挙げるのであれば、そのタイプが4タイプのリセットってこと
だけどね。つまり避けられないリセット。
受注してやる場合にモジュール単位で受注する業態ならそういうことはあるかも
しれないね。
でもシステムとかボード単位だとないでしょ。電源ONした後でリセットが必要な
ケースはまずないね。
でかいモジュールをマイコンでドンドンリセットするなんてことはありえない。
それが急に仕様的に1msecになるなんてないよ。リセットが常時必要なら仕様の中に
リセットが入ってる。
それはリセットという名をつけてもコマンドだよ。つまりリセットコマンドだね。
3のリセットというのは緊急回復とか異常回復しょりだよ。それをマイコンのポート
に繋いで常時頻繁にON/OFFするなんてことはしてはならないでしょ。それをやりたい
ならコマンドにしなくてはいけない。
それにSPIにリセットいる? いらないでしょ。SPIにリセットなんか付けたことない。
例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
いつリセットが来るかなんて教えてくれない。
もちろんリセットボタンを押してもリセットがかかる。
通信プロトコルの途中ならリセットしないとリセット後の通信が正しく確立しないし、デバイスの内部状態だってリセットせずに前の状態のままだと困るでしょ。
なぜ自信満々でないと言い切れるのか不思議だ。
まあ、趣味でやっているのだろうから好きに作ったらいいけど。
んー。
ID:CvKg6enZ はその経験の中でそれで十分だと考えていて
ID:QyR6HXT9 はそれでは十分ではないと言ってるのだよな。
たいていの場合、何かを狭くして「十分」というときには何かが欠けてしまっている。
その欠けているものが重大なものなのか取るに足らないものなのかの判断は主観に依存することが多いと思う。
ID:QyR6HXT9 が、ID:CvKg6enZ を説き伏せることはムリだろし、価値観を共有できない人に、ID:CvKg6enZ が
自分の信じるものを納得させるのもムリ。
仕事だったら、お客さんか上司の判断を仰ぐとかしないといけないし、そういう第三者がいないプロジェクトで
同僚とこんなやりとりになったら、すげえ面倒だ。(あ。嫌なことを思い出した。ヤレヤレ)
この話題は ID:CvKg6enZ が広場の中心でマイクを持って主張を始めたところに、とおりがかった ID:QyR6HXT9 が
それはどうなん?って感じで声をかけたようなものだと思う。どこぞの政治家の演説に論戦をふっかけたって、
その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。
>例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
>いつリセットが来るかなんて教えてくれない。
>もちろんリセットボタンを押してもリセットがかかる。
Config resetで問題ないと思うが、、、パソコンの立ち上がるまでに腐るほど
時間がある。
>通信プロトコルの途中ならリセットしないとリセット後の通信が正しく確立しないし、
そういうある意味不完全なモジュールは当然リセットが必要だね。
イニシャル以前にしばしばハングとかあるのでしょう。
プロトコル中断は基本的にはタイムアウトで自動リセットするから自分の場合は
ハングなんかさせない。
ウオッチドグも入ってる。そこそこ完全なシステムを作っておけばいらないとおもうよ。
>デバイスの内部状態だってリセットせずに前の状態のままだと困るでしょ。
困る場合はリセットを入れる。しかし殆どこまらないのではないかな。
最悪困った時はConfigリセットでいい。
0991774ワット発電中さん2017/04/09(日) 19:41:21.26ID:CvKg6enZ
>その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。
政治とは違うよ。できない例が一つでもあれば終わりだからね。その例をだせれば
其のときは君の勝。 打ち負かしたら気分が最高になると思う。
かなり有利な立ち位置にあるのに、すこしは考えてみてよ。
0992774ワット発電中さん2017/04/09(日) 19:48:11.79ID:CvKg6enZ
なぜパソコンリセットの例がでるんだろ。
ろくに考えもせずにリセットは絶対に必要だと思い込んでるのではない?
それとも勘ちがいしてるのかな? Configで代用するというのは理解してるよね。
もんだいは一寸時間がかかるってことくらいだから、パソコンリセットとの同期を
例にするのが意味不明だ。
>Config resetで問題ないと思うが、、、パソコンの立ち上がるまでに腐るほど時間がある。
操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIOSがどんなデバイスがいるか見に来るのよ。
>その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。
そうだね、この辺にしとくよ。
うーん、自分で手を動かして、既存の考えにとらわれず新しい方法を検討する姿勢は素晴らしいと思うんだけどね…
0994774ワット発電中さん2017/04/09(日) 20:15:28.90ID:CvKg6enZ
>操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIO>Sがどんなデバイスがいるか見に来るのよ。
ああ、そういうレベルのボードをイメージしていたのか。PCIとかね。
それならわかる。そういう場合はConfigで代用は無理かもね。
確かにそういう美味しいボードばかりを作っているとそう思うかもしれないな。
まあ有意義でした。これでお開きってことに。
総括:美味しいボード リセット入れること
普通のボード リセット不要
怠け者が本質なのに、真っ赤になって駄文繰り返すとか変な所で勤勉なんだな。
勤勉な馬鹿。
しかし、熟練技術者の先輩に苦言をいうのははばかられるが、そういう一言は飲み込んで
ぐっとこらえると部下が伸びる。特にお調子者の部下の場合はさりげなく褒めると伸びる。
もう技術者としては歳だろうから建設的な提案を出すのは難しいとは思うが、そういう
場合にも若い者の意見を理解するように努めないといけない。これはやはり質問の発し方
が重要だと思う。
意見の意味する本質を引き出すような適切な質問をすると部下も非常に喜ぶ。感情的に
食ってかかるというのが一番いけない。それよりもさらに悪いのは意味もなく只管貶すこと。
部下も伸びないし、自分も伸びない。それでなくても年を取ると段々頭が固くなるのに
それを加速するようなことをしてはいけない。
と思います。
○ FPGAでは非同期リセット不要。
○ 完全同期回路仕様推奨。非同期動作の完全撤廃。
○ Config終了時の初期値定義を推奨。
これらは別に新しい意見じゃなくて、FPGAベンダーのポジショントーク。
彼らはFPGAが売れればいいからASIC展開とか要求としての非同期は考慮しない。
>>998
オレサマはASIC設計だから、FPGAで動かすにしても非同期リセットですがなにか? リセット入れて下さいと仕様書にもかいてあるのに、
リセットが入れない設計と実装をする技術者なんか、
取り替えればいいだけだろ。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 246日 10時間 44分 8秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php