X



トップページ電気・電子
1002コメント353KB
【Verilog】 記述言語で論理設計Project14 【VHDL】 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001774ワット発電中さん2016/08/08(月) 08:14:48.93ID:Lhv7D4dX
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/
0002774ワット発電中さん2016/08/08(月) 08:15:22.75ID:rS0bDErD
MIT発、VerilogをベースとしたDNAプログラミング言語
早く弄りたい
0003774ワット発電中さん2016/08/08(月) 08:31:19.00ID:6R+oGpyJ
)))()())()(())))))(((()())((()))(()(((()()()((()())))((())(((()()))(((())))(
(())(()(((())()))))()())((()()()())((((()(()()())()(((()(()))))(())))())()()
((())()(()))(((())())()))(()())(((()()())((())())(()()((()(())))))()((()))()
()(())))(()()))))(()()))((()()()()))))()((())))()())(())()()(((())((((()((((
())(()))))(((((((((()()))())))()()))()(()))))((((())()())())))()(())((()((((
))()()(()((((()))())))((()()((()(()()(()()(()()))))(()()((())())()))())()(()
)())())())((())))()(()())))()(((((())))(((((()))((())()))(())((())((())(()()
())()()()()())())()()))(()(()))()(((()()()()()()))())()(()())(()))()(()(((((
())(())(()(()((((())(()(()(()())(()()))())()()())()()))())()(()))))()(()((()
())((()()(())((())(())(((()))))()))))((())(((()))()))()()(((())((())((())())
)(())()()))()()))()((())()(())(()((((())()))()))))((()))))((((())()((()(()((
)(()(((((((((())(()()((()))()()(((())())()()()()())))))()())(()))()()()))())
()())))()))()((((((()))()()))((())(()()((())()(())()())))()((()(((()()))(())
))(((()()(())))))(())))((())(())(()(()()(())((()(((()((()))))())())()))((()(
()())()(((())((()())(()))(()())))(((()(()())((()((())()()((())()))(())()))))
)))(()()))))()()((())()())))))(()(()))())(())((()((()(()))((((()((()(())((()
)()(())(()))(())(()))))((()))()()))()()()((((())())))((())()())((((((((())()
(())()))))())()()((((())())(((()()())()(()())))())()((()(((()())))((())))(((
()(())(((()()()()())()()))()()))(()()()()())()))(()()())))(())(((()))((()(((
(()))))())())))))())())())))(()()(()))(())(((((((()())()((((()((())))(()((((
())()()(())(()()))(()())())((()(())()((())()()()(()()))))()())((()())((()()(
()())))))())())(()()))()(()((())((())(()(())(((((())()())(((()(()()))()(()))
(()))())))(()))))())())(()())()()(()(()())()((()(((()())(()(((((()))()((()))
(()()))(()(()(())())(()()())())((()(()(((()))())))())))()(()))((()(()())(()(
)())))())())))))()())((()))()))()()()))(((()(()))(()()(((((((((()(())(())(((
(()(()()()))(()(()((()))))))()((((())(()()())())(()))(()))(((((())(()))))(()
())((())()))(((((()))(((())()(()()(()()((()()))()(()(((()()))()))())))()))()
()()()())())())))((())())((((()(())()()((()()((((()))()(())))(()))())))(()((
()())()())))(((((())()))))())))(()()())))))(()))(((()((((()(((()())((())()((
((((())()(())((()(()()())((()()()(()())()))()((())))(((())()))))))()((()))()
)))(((()(()()())()()((()())))((()(()))((((((()())((())(())())))()))()(()))()
)())(())())()(((((()(((()()())())())()))()))((()))))()(())(()))(()((()()()((
(()((()(()()(()((()))(((())()(((()(()))(()())))()(())())))())((())()(())))))
)())())()(())))))(((())()()(()(((())()())())(((()))))))))(((()(()(()()()((((
))()))(()()))())))()))))(())(((()()((())()))))()(((()))((())(()((()((((()(((
))))((((()())(((()(()))))))()(()(()()(())((((())))((())((()()))))()(()(())()
))(())(())()))((())(())))((()))())((((())(()((()))))(((()())))((())()()(()((
)((()())))(()(()))(())()(())()((((((((()(((()(()(())(()))))))(())))()))(()))
())(((())()))))((())(()(()()))()())))(())())(((())((((()()(()))())((()())()(
)(()))()())()()()()))(()()()()()())))())(()(()()))(()(()())))))((((((((()(((
)))(()()()())(()))(()((())))((((((((()(((())))))))()()))(((()())((((())))())
)))(())(()((((())())(()))()))))(()())))(())))()()))(()()((()())()((((()(((((
()()()()((())(()(())((()))(()(()))()()))()()(((())()()()())))))()(())()(()((
(((()(((())(()(())())())))()))))((())))(())(()()))(())(((((())((()))()()(())
)((()()()))())()()()(())((()()(()))())(((((())))((()))())())())(((()))((()()
())(()))(())))()(((())()()()()((())))())))(((()(()(()(((())())()))((()((()))
())))))(())()()()((((()()())()(()))()()(())))((()((())((())((()))))()()()(((
)()))))))()))((())))))()(()(()()(((()(())(()())((()()())))()())(((((((()(()(
((()())()(()()))())))())(())(()())()(())((())()()()((()))()())(((((()))()()(
(()(((())()()()(()(())(()))())()())()()((())(((())()))(())((())())))()((()))
0005774ワット発電中さん2016/09/19(月) 21:11:12.20ID:UfMInlU2
)()(((()((())()())())())()((((()()))()))))))()()((((()))())(())()))(())(((((
(()))(()()()))())(()()())()(((()()((())))))(())()())(()()())(()()((((())())(
((()())(((()))())()()()()(()((())))(())))()()()))()()(())()(()(((())))()(()(
(()(()(((()())(()))()()))())))()()((()()))()))((()(())())))(((()(()(((()()))
)(())((())()((())))((())()((()())())(()()(()((()((()))(())))))))(()(()()))((
)(())))((()))((()(())))()((()()()((())()())(())))())()()()((()(()())()))((((
)))))()()(((()()(()())))()(()(()()())(()(())((()(()(())(((((()))((()))()))))
(()())(()(())()())((((((())())))(()))())())(())))(()))))(())((()(()()((()()(
)()(())((())()((((()))())(())()(())(()))))())())((()))()((())(()()(()()())((
)))((((())()))(())()((((())()()(()()((())()))))))()())())()()((())(()((((())
(())))((()))())(()(())())))())()(()()()())(())(((()((()))((()))())(()()(()((
()())()()))())(()()()((()))(((((((()())()()(((((())())))()()()))))))((())()(
())(()(())(())(()()))(())((()((()(())((())((()())))))(()((()()()(()))))))()(
))()()()(())((())(()(())))((((((((()((())))()))))(()(((())(()))))((())())())
)(()((())())()))()(())()(())()()()))))(((()(()(()))))(()((()))()())))(((((((
)))))))(((()))()((()((()((((()()()(((()()())))()))()(((())((()())))()(()))()
((())())())(()((()((((((()(((()((()))))()(((()))))))()))()()((()())))())()))
(())))((((()(()()()(()()())))((()(())()()()()(()())))())())()))((()(())())((
))())(((((())(((()(()()()(((()))()()())))))()))((())(()()(()))))())())(()(((
)))())()(()())))()((((()((()(())()()()))))(((()((()))()()()())(()()))()((()(
))))())))()((()(()()))(((((()(()()())()(()())(((()())(())(()(((())())))))()(
()(()))()())()))))))(())()()())))(()()(((()()())()))()))()(((()()(((()((((((
)))))()()()(((((((()(()))))()())((((())()))((((()))((())()((()((()))))(())))
()()))()())(()((()())()()(((()))(()((()()))()))()()()((((()(()))((()())())))
())()))()(())(()()(())(()((()((()(()((((())()()))(())())))(()((())())())()))
)(()()))())((()())((()))((((())())()(((((((((())))(()())())))(()())())())())
))((()))))())))()()((()(()()(())((()(((((())(())()(((()(())))(()(()))))(()))
)((((((()(()))())((()))))(()()()))())()())))()(()(((())((((())()))())((()))(
(((()))()(()((()(()(()))))()((())))())(()))((((((()))((()(((()))())()))())))
)()()()())(()()()(())((()((()()))()))(())))()))))(((((())))(()((()((()()())(
(()(((()))())(())))(())(((()(((())(())()()()())()(())(()))))()(()((()))))(()
)(((()((())()((()(()((())))))()())()(((())(()((()))))(())()()))()(())))((())
)((()(())())()))())()()(()()(())()())(())()(())((()(()(())(((())))))(())()((
((()())()()))((()()(()())()()(()(()(()(())(())))))())))))(((((())(())))(()((
(())()())(((()(()()(())(()()))(()())(())(((())()))(())(()()))(()))((())))(()
((((())((((())((((((()))(((()))()()()()()())())())))((((())))(()))))))()))()
))((()))())((())()(((())()()(()(())()()()())((((()((((())))()))()))))(())(()
)))(((((()))()()))()))())(()(())(()()(())))(()))()((()()))((()))))((()((((((
()()((()((()()()((())))(()))))()(()))())((())())())(((((())))(()(()(()()))()
()())((()(()))))))(()(()((())())()(()))))(()(())())(()))())(()(()((()()((()(
))()((())((()))()()())))))(())()))((()((((()(()((()()))())((()()()())))(((()
)())((())()()(((((())))(()()(()((())))(()()())())()(((()))()((()()))))(())()
()())(())()(()((((()(((()()))(()())()()))(())(((()(())()))(()())))()))())(()
()()))(((()())()()))()))))((((()(((())((((())(())((())))))()(()(())(()())())
())(()()()))()()))(()((()((()))))((()))((((()(((()())()))))))(()))((())((()(
))()()(((()((()))())))))))(((()())))())((()())(()()())()(())))((((()()(()(((
()((()))((((()((()((()(())())(())(((())())())(())(())((())(()))))))))()(()))
(()))())(((((()(((()(()(()()()))))))))(())((())))(()(()))(((()())((())))(())
))()))()()(()))()())()()((())())))(())((())))()()()((((())(((())(()(()))((((
(())(()(())))(()((((((())(((()))((())(()())())())()))())()))()())()(()((()))
0006774ワット発電中さん2016/10/20(木) 11:30:26.87ID:1LMF7ZPy
仕事で論理設計して4年目だけど、未だにVerilogへの違和感が拭えない。
0007774ワット発電中さん2016/10/20(木) 21:48:39.33ID:2yQ9b0KM
ALTERA(MCLK=50MHz)から1Hzを出力しようと思ったら、どういう方法が最適でしょうか
0008774ワット発電中さん2016/10/20(木) 22:42:39.08ID:q013k26F
50MHzのカウンタをGPSからの1PPS信号でリセット、25Mパルスカウントで出力を1にする
0009774ワット発電中さん2016/10/20(木) 23:07:50.96ID:kEXYS73H
ALTERA内部完結でお願いします(TT)
0010774ワット発電中さん2016/10/21(金) 01:33:27.83ID:4x5KqsMp
50Mhzから1msecパルスを作成して有効利用をする。
1msecから100msecパルスを生成して有効利用をする。
100msecパルスから1Hzを作り出す。

役に立たない無駄社員の有効な使い方と同じだね。
0011774ワット発電中さん2016/10/21(金) 01:35:08.36ID:4x5KqsMp
>9
100msecパルスの有効利用方法を10個ほどあげてみて。
0012774ワット発電中さん2016/10/21(金) 08:11:36.34ID:4x5KqsMp
追跡が難しいエラー
A common error is to connect a signal which is supposed to be an input to
an output port.
Because Verilog is so flexible with regard to connecting ports, this will usually not be caught until simulation time, when a wire has two drivers on it when it should only have one, or when a wire has no drivers on it.
These errors can be difficult to track down.

インプットになるべき信号をアウトに接続してもエラーが出ない。
そんなことはないよな。こいつ何いってるんだろ。
0013774ワット発電中さん2016/10/21(金) 13:56:04.52ID:SufmUTJs
0または2つ以上のドライバで駆動されるwire
open又は衝突するからか?
見つけにくいって事はねえだろ。
Lintがエラー出す。
Sim後ならNCでもverdiでも追跡は得意だろ。
……まともにport接続してれば。
0014774ワット発電中さん2016/10/21(金) 15:36:12.07ID:NOXCEQzP
3state バスにするとセレクター作って合成してくれた。ISEの頃だけど。
0015774ワット発電中さん2016/10/21(金) 20:44:49.18ID:4jdrtlj4
文法は一通り覚えたので、勉強用に本をいくつか買おうと思ってます
皆さんのおすすめの本はありますか?
0019774ワット発電中さん2016/10/22(土) 12:29:52.49ID:m3ceeu3X
前スレのリセットなんだけど、リセットIC無し且PLL使わない場合どうすんのが一番いいんだ?
0020774ワット発電中さん2016/10/22(土) 15:12:36.16ID:wYOYfDwe
デバイスごとに変わる。プロジェクトごとに変わる。
アプリケーションごとに変わる。
0021774ワット発電中さん2016/10/22(土) 16:50:53.20ID:rxE0Rds1
>>20
ありがとう
今手元にDE0しかないんだけど、ユーザー回路のリセット作るとしたらどうするのが一番いいですか?
0022774ワット発電中さん2016/10/22(土) 20:48:11.37ID:wYOYfDwe
既にボードになってるんだろ?
fpgaならコンフィグ後には初期化されてる。
クロックも止めないんだろ?
外部リセットも要望するなら同期化させといた方が安全安心。
0023774ワット発電中さん2016/10/22(土) 22:10:59.02ID:gjpqHizY
コンフィグ時に初期値Max(たとえば0xFF)のダウンカウンタが
動いてる間はリセットっていうやつとかどう?
カウンタが0になったらリセット解除。
リセット信号はグローバルラインに乗せること。
0024774ワット発電中さん2016/10/22(土) 23:14:45.28ID:tBp0gB6g
すべてのFFが同時に動作し始める保証がないので、カウンタよりはシフトレジスタのほうが良いよ。

logic [7:0] shft = 8'hFF;
always_ff @(posedge clk)
shft <= {shft, 1'b0};
assign rst = shft[7];

とか。
0025774ワット発電中さん2016/10/22(土) 23:55:29.99ID:ail1AwUs
>>22-24
ありがとうございます

>>24の案がしっくりきました!
0026774ワット発電中さん2016/10/23(日) 08:26:14.30ID:E/6vFupP
>>24
すべてのFFが同時に動作し始める保証がないってのは
コンフィグが終了するまでの間はリセット保持しておくべきってこと?
シフトレジスタの長さをそれに合わせて調節するという感じですか?
0027774ワット発電中さん2016/10/23(日) 08:46:54.71ID:b19P+tLe
コンフィグが終了するまでは、>>24 の回路自体が存在しないよ(構成されてない)
何が解からないのかが解からない、のレベルか?
0028774ワット発電中さん2016/10/23(日) 09:32:08.33ID:vxDfyLcA
>>24
logicというのは、regと何が違うのでしょうか?

あと、連接で、shift[6ころん0]としなくてもよいのでしょうか?
0029774ワット発電中さん2016/10/23(日) 10:06:57.70ID:q9OP294G
24は SystemVerilog なんでしょ
shift のほうは、先頭ビットが捨てられるだけだから
warning は出るかもしれないけどエラーにはならないし
bit幅拡張する方向と違って結果どうなるかについて
あいまいな要素ないから使ってるんでは?

## 個人的には、VHDLの'high,'low,'range みたいなのが
## verilog にもあったら・・・って思う
0030774ワット発電中さん2016/10/23(日) 11:18:49.56ID:E/6vFupP
>>27
コンフィグが終了するまで回路自体が存在しないのは>>24も同じことで、
すべてのFFが同時に動作し始める保証がないのはシフトレジスタも同じなのでは?
なんでカウンタよりシフトレジスタが良いのかが分かりません
0031774ワット発電中さん2016/10/23(日) 11:22:23.71ID:E/6vFupP
シフトレジスタなら各FFの動作タイミングがずれても
1を保持してる状態がかわらないからかな?
0032774ワット発電中さん2016/10/23(日) 11:40:18.65ID:N0lKtuS7
一般的な話をすると、変なクロックが入ると
バイナリカウンタは値が飛ぶ。
一番極端な話を持ち出すと0xFF→0x00遷移ではあらゆる値に飛び得る。

冷静な話をすると>>23の0xFFからのダウンカウンタは
最初の一発目で0xFE以外に飛ぶとしても0xFFなので
シフトレジスタと大差ない。
でも好みはシフトレジスタかな。
0033774ワット発電中さん2016/10/23(日) 12:36:24.14ID:q9OP294G
最初のほうでコンフィグされた回路は全体のコンフィグ終了前に
動作し始めるの?
もしそうなら、前スレで出てたPLLのLocked信号なんか使った方法でも
PLLとリセット信号発生の回路が最初にコンフィグされるって保証ない
わけだから、ほかの先にコンフィグされた回路がリセットかからずに
走り出しちゃうってことになるんだけど
0037774ワット発電中さん2016/10/23(日) 22:59:14.33ID:N0lKtuS7
>>35
インバージョンプッシュされるから、あまり気にしなくていい。
0038arisa ◆QaHT6HayjI 2016/10/26(水) 05:20:56.78ID:UGJyQrpm
>>13
「NCでもverdi」
金持っている企業じゃないと、そんなの使えないからw
0040774ワット発電中さん2016/10/26(水) 08:09:18.87ID:NBLMi1SI
NC Verilog懐かしいなあ。
表示用PLI作って遊んでた。
0041774ワット発電中さん2016/10/27(木) 00:05:22.41ID:vee62HAA
回路設計習い始めたけどブロッキング代入ってのがどうにもよくわからん。。
辻褄合わせの設計しか出来なくて嫌んなってきた
0042774ワット発電中さん2016/10/27(木) 09:59:34.63ID:76ccvaD/
こんな書き方しないで
always @(posedge gclk or posedge reset)
if(reset)
fb_q <= 24'h0;
else
fb_q <= fb_input;

always @(posedge gclk or posedge reset)
if(reset)
fset_q <= 24'h0;
else
if (fset_ena)
fset_q <= fset_d;

こっちのほうがいいよな。
always @(posedge gclk)
fb_q <= fb_input;

always @(posedge gclk)
if (fset_ena)
fset_q <= fset_d;

always @(posedge reset) begin
fb_q <= 24'h0;
fset_q <= 24'h0;
end;
0045774ワット発電中さん2016/10/27(木) 12:16:06.46ID:76ccvaD/
なんでや!!
0046774ワット発電中さん2016/10/27(木) 13:08:01.87ID:nvlnAOBR
お利口さんはバグが出るとすぐに火病るから困る。
0047774ワット発電中さん2016/10/27(木) 14:16:03.86ID:+hWiMzlh
やっぱり end else begin を入れないと見にくいよね。

always @(posedge gclk) begin
  if( reset == 1'b1 ) begin
    fb_q <= 24'h0;
    fset_q <= 24'h0;

  end else begin
    fb_q <= fb_input;

    if (fset_ena == 1'b1 ) begin
      fset_q <= fset_d;

    end else begin
      fset_q <= fset_q;
    end
  end
end
0049774ワット発電中さん2016/10/27(木) 15:34:27.96ID:foSI7Cd2
always @(posedge gclk) begin
  fb_q <= fb_input;
  if (fset_ena) fset_q <= fset_d;

  if (reset) begin
    fb_q <= 24'h0;
    fset_q <= 24'h0;
  end
end
0050774ワット発電中さん2016/10/27(木) 15:58:29.38ID:76ccvaD/
>49
きれいだが、それだと同期リセットになるからだめ。意味が違ってくる。
0054774ワット発電中さん2016/10/27(木) 16:59:56.61ID:76ccvaD/
こっちのほうが俄然いいと思う。なぜなら非同期リセットなんてロジック
本体にあると邪魔だ。ロジックがよみづらくなるから。

always @(posedge gclk) begin
  fb_q <= fb_input;
  if (fset_ena) fset_q <= fset_d;
end
always @(posedge reset) begin
  fb_q <= 24'h0;
  fset_q <= 24'h0;
end
0056774ワット発電中さん2016/10/27(木) 17:07:49.74ID:76ccvaD/
とくにレジスタが大量にあるときは一か所で一括してクリアしてしまう。
こうするのがいいと思う。
always @(posedge reset) begin
  fb_q  <= 24'h0;
  fset_q <= 24'h0;
  asst_q <= 24'h0;
  vbnt_q <= 24'h0;
  z5tyuq <= 24'h0;
  sdft_q <= 24'h0;
  hjty_q <= 24'h0;
  fser_q <= 24'h0;
  njit_q <= 24'h0;
  mmlt_q <= 24'h0;
  hyut_q <= 24'h0;
  vvgt_q <= 24'h0;
  tyut_q <= 24'h0;
  i89t_q <= 24'h0;
end
0057774ワット発電中さん2016/10/27(木) 17:10:12.70ID:nvlnAOBR
フィッティングもしないんだからそれでオッケー。
0058774ワット発電中さん2016/10/27(木) 17:57:21.69ID:76ccvaD/
これで特に問題なければ、モジュールのreg定義をサーチして自動的にクリアロジックを
つくるマクロを作っておけば、リセットを気にする必要なしにプログラムできる。
0060774ワット発電中さん2016/10/27(木) 20:24:27.38ID:9XZtWH2D
ちょっとありかなと思った
0061774ワット発電中さん2016/10/27(木) 20:48:49.63ID:+vRhZ6pm
もう、Verilog じゃなくて別の言語作ってくれよ。

マジでそう思う。

同期設計に特化して、クロックや非同期リセットなんてわざわざ指定せずに済むようしてくれ。
0062774ワット発電中さん2016/10/27(木) 22:46:35.22ID:76ccvaD/
tclでマクロ作ってみた。 正規表現使うと簡単にできる

//--- reg reset logic ---
always@(posedge reset) begin
buf1 <= 0; // reg [7:0] buf1;
buf2 <= 0; // reg [7:0] buf2;
buf3 <= 0; // reg [7:0] buf3;
end
0063774ワット発電中さん2016/10/27(木) 22:50:42.30ID:76ccvaD/
本当は set rq {\[(\d+):(\d+)\]} とか使ってレジスタサイズ出して 8'd0に
したほうがいいのかも
0065774ワット発電中さん2016/10/28(金) 07:01:19.88ID:Xb9K6D44
>>64
ちんこには、コンドームをつけるのと同じです。
生が好きな人は生がいいだけの話です。
0066774ワット発電中さん2016/10/28(金) 08:22:07.95ID:hTOCZhV6
parameter val1 = 11
parameter val2 = val1/2

1011→ビットシフト→0101
で「5」
という切り捨ての認識で大丈夫ですか?
0068774ワット発電中さん2016/10/28(金) 11:53:59.55ID:cLqT6VZO
せっかくTCLでマクロ作ったのに腹立つことにコンパイラが全然受け付けんな。W
0069774ワット発電中さん2016/10/28(金) 12:15:31.16ID:cLqT6VZO
モジュールのマッピングってどうしても不細工になるんだが
imageとしては
{dtout, ack} = i2c(clock, reset, dtin);
こういう感じだよな。
そこで考えたのがこれだ!!! どうだ。
//-------------------------------------------------------------
          i2c u1(          //I2C instance
dtout, ack,    // <===          //output
             clock, reset, dtin);//inuput
0070774ワット発電中さん2016/10/28(金) 12:28:11.55ID:obq+eaMj
>>67
つまりただの除算の切り捨てってこと?
0071774ワット発電中さん2016/10/28(金) 12:34:59.61ID:8EzvlAZ/
そんな小技を考えなくていい新言語を考えてくれよ
inoutもきれいにかけるようにしてね
0072774ワット発電中さん2016/10/28(金) 13:01:12.07ID:UghvOnkc
>>70
parameter val1 = 11
parameter val2 = val1/3
ビットシフトなら↑とかどうするんだよ?
0073774ワット発電中さん2016/10/28(金) 14:20:16.32ID:HcFs76sP
http://zakii.la.coocan.jp/hdl/25_parameter.htm
・・・なぜならば、マクロはどのソースファイル内でdefineしても、FPGA全体のソースファイルに対して有効になるので・・・

この人の認識、合ってる?
AやXを使ってる限りそのようにはならないけど 環境依存?
もし主張通りなら、わざわざ ファイル毎に `include xxxx.v とかする必要がなくなるので
そのコーディングなりを参考にさせて頂きたい
0075774ワット発電中さん2016/10/28(金) 16:54:56.52ID:mUCi1lfQ
>>53
同感だけど、じゃあどう書く?って言われて有効な方法ないんじゃ?
3行に分ける?
0076774ワット発電中さん2016/10/28(金) 18:18:50.49ID:ZSf1RGkG
>>73
関係ないけど、include するファイルのファイル名って、みんなどうしてる?
.h は編だし。.vi とか見かけるけど。
0077774ワット発電中さん2016/10/28(金) 18:38:54.07ID:6QtTsAyX
>>72>>74
ありがと!納得
0079774ワット発電中さん2016/10/29(土) 10:53:30.12ID:QsWfeqPD
SRFFってどう書いたらいい?
案1
always@(posedge clk or posedge reset)
 if (reset) srff <= 0;
 else if (s | r) srff <= s & ~r;

案2
always@(posedge clk or posedge reset)
 if (reset) srff <= 0;
 else 
  srff <= r ? 0 : 
       s ? 1 : srff;
案3
always @(posedge gclk)
  srff <= (srff & ~r) | ( s & ~r);

アルテラプリミティブXort自動変換の場合
always @(posedge gclk)
  srff <= (srff & ~r) | (~(srff) & s) | ( s & ~r);

s r srff
0  1  x   0
0  0     srff
1  0      1
1  1     ~srff (こいつが入るのはあり?)
0080774ワット発電中さん2016/10/29(土) 10:56:35.83ID:QsWfeqPD
案3は非同期リセットいれるのを忘れたが、案3がベストか? 案1でこれまで
づっとやってきたんだが(1か月くらいだけど、、、)
0084774ワット発電中さん2016/10/29(土) 13:03:55.92ID:xeCXpjZp
>>80

always_ff @(poseedge clk)
  if(s)
    q <= 1'b1;
  else if(r)
    q <= 1'b0;

これでいいんじゃないの?
クロック同期のものをSRFFというのかよくわからんけど。SRFF風?
0086774ワット発電中さん2016/10/29(土) 13:46:41.91ID:y7F5gG4A
それ普通JKって言ったりして。

何なんだよJKビジネスって。
0087774ワット発電中さん2016/10/29(土) 14:10:57.69ID:QsWfeqPD
>84
 ある寺ではprimitiveに同期srffってあるよ。11で出力が反転するけど。
0088774ワット発電中さん2016/10/29(土) 14:13:56.21ID:QsWfeqPD
案4
always@(posedge clk or posedge reset)
 if (reset) srff <= 0;
 else srff <= (srff | s) & ~r;

実はこれが正解ね。
0090774ワット発電中さん2016/10/29(土) 15:50:08.48ID:y7F5gG4A
あ、AND書き間違えた
jkff <= (j & ~k) | (~jkff & j) | (jkff & ~k);
0091774ワット発電中さん2016/10/29(土) 16:05:43.24ID:ijRGJpWi
ソースコードで入力したプログラムにテストフィクチャーを使って動作確認をしたい時
ソースコードはinputにクロック信号がくると仮定して作ったものである場合、テストフィクチャー上ではどのようなプログラムを記述すればよいのでしょうか?
イマイチ使い方がわかっていない状態で、論理合成は成功してるが信号が入ってきた動作確認が何をすれば確認できるのか全くわかっていないです
0092774ワット発電中さん2016/10/29(土) 16:50:15.83ID:QsWfeqPD
>91
 test benchでググると書き方がわかるよ。
0093774ワット発電中さん2016/10/31(月) 07:00:40.10ID:o2cah31x
>71
それちょっと考えてみたんだが、言語は作れるとして一般のプログラム言語のように
asmレベルの言語てあるんだろうか?
verilogに落とし込むという手もあるが、verilog自体がかなり抽象的だから細かい
記述がむつかしいよね。でもverilogに落とすのが無難かな。
0094774ワット発電中さん2016/10/31(月) 07:02:11.15ID:o2cah31x
SystemCで書いたこれって意味わかる?わからんよね。W
C++はすこし使ったことがあるが、これはなんのこっちゃらわからん。どこがどう抽象
化されてるん?
これよりVerilogのほうがマシだろ。W
一体全体何を狙ってるんだろう。予算か。W

# include "systemc.h"
SC_MODULE(adder) // モジュール (クラス) 宣言
{
sc_in<int> a, b; // ポート
sc_out<int> sum;
void do_add() // プロセス
{
sum = a + b;
}
SC_CTOR(adder) // コンストラクタ
{
SC_METHOD(do_add); // カーネルへのdo_addの登録
sensitive << a << b; // do_addのセンシティビティリスト
}
};
0095774ワット発電中さん2016/10/31(月) 07:03:31.39ID:o2cah31x
A+Bって書くだけなのにこれはやりすぎというもの。W
0097774ワット発電中さん2016/10/31(月) 11:56:21.38ID:nEjhzlG5
入力判定でon信号がきてから±1秒でスイッチを押せているかどうかと言うのはどの様に書いていけば良いのでしょうか?
0098774ワット発電中さん2016/10/31(月) 14:23:08.85ID:o2cah31x
if(スイッチが押されて1秒以内に入力判定が来た)or
(入力判定ONから1秒以内にスイッチが押されたか)
OK
else
NG
0099774ワット発電中さん2016/10/31(月) 15:10:18.50ID:VfOGKPRp
天才やな
0100774ワット発電中さん2016/10/31(月) 17:15:41.35ID:zgPTqaik
>on信号がきてから±1秒でスイッチを押せているかどうか
±1秒というのがわからん
0101774ワット発電中さん2016/10/31(月) 18:13:03.73ID:Fnj0DBJG
これは違うかな。

specify
$setuphold( posedge on信号, スイッチ, 1, 1 );
endspecify
0102774ワット発電中さん2016/10/31(月) 18:25:25.70ID:o2cah31x
まあでもそんなのは30円くらいのマイコンでやることだな。それでも部署に
よってはI2cをFPGAに組んでくれというところもあって1ch100万で2ch
だから200万でと適当に見積もりしていたら、本当にやることになったこと
もある。
0103774ワット発電中さん2016/11/01(火) 04:25:45.58ID:CthFoE4Z
>>102

I2Cから浮動小数点演算まで、
月額63万円の派遣で組まされているから、さっさと転職したい。

給与は、月30*(12+3(ボーナス)) ぐらい、税引き前。

あたしゃ、もう疲れたよ。
0104774ワット発電中さん2016/11/02(水) 08:17:35.05ID:1xjkUtj8
普通は7掛けだから間接の分け前が多いのは大手だな。
0105774ワット発電中さん2016/11/02(水) 12:15:10.33ID:Ki5hJ7d1
昔、今リクナビで募集している
稲城のシーデックス
中身は派遣で
月75万客先請求 時給1100円 見込み残業ありで、
日立系列・ルネサス武蔵に派遣されたぞ
イッテヨシ
0106774ワット発電中さん2016/11/02(水) 19:11:52.80ID:1rkJxqA/
実は派遣の人材には時給1000円〜30000円位の能力のバラツキが
あって、一律75万払ってその中にかなりの雑魚が混じっていても、優秀なの
が数名いれば受け入れ側としては已む得ないとするんだよな。

だから時給1000円くらいの能力で月30万も貰っているとお得だよね
0108774ワット発電中さん2016/11/04(金) 23:40:49.12ID:rVTd+79h
まずVHDLなのかVerilogでやるべきなのかすらよく理解してないけど、はじめの一歩に良い本とか環境を紹介してください
AとXの開発環境もとりあえずインストールしてみたけど、なんか取っかかりが無くて何から勉強したら良い物やら・・・
0109774ワット発電中さん2016/11/05(土) 07:29:23.05ID:hJsJl0Yx
>>108

入門者テキスト向けのテキストとしては、個人的に以下がおすすめ
・「HDL独習ソフトで学ぶCQ Endeavor Verilog HDL」
(ttp://shop.cqpub.co.jp/hanbai/books/38/38961.html)
・「HDL独習ソフトで学ぶ CQ Endeavor VHDL」
(ttp://shop.cqpub.co.jp/hanbai/books/38/38951.html)

ちょっと高い(税込定価4,104円)けど
0111774ワット発電中さん2016/11/05(土) 10:09:57.07ID:gi1/WB49
FPGAでI2Cって面倒なだけで簡単じゃん
それで100万をやりたくないお断り価格ととらずに発注してくれるのか
0114774ワット発電中さん2016/11/05(土) 17:55:55.16ID:Hx8KbpYA
シノプシスとかケーデンスが売り上げアップのために無理やり推し進めてたんじゃないの?
そのくせ、ツールも凄く高くて普及させる気もなさそうだったけどね。
ソフト屋を連れてくればハードも出来ますよって騙してた。
0116774ワット発電中さん2016/11/05(土) 22:37:56.87ID:sO/pBHAj
>>109
サンクス。早速読んでみます。
どちらをやるべきかといえばやっぱりVerilogなのかなぁ?
0117774ワット発電中さん2016/11/06(日) 00:01:43.72ID:Pk7cdX2O
どっちか取っつきやすいと思えた方でいいと思う
一つ覚えたら用語や概念の置き換えで片一方も覚えられるはず。
0120774ワット発電中さん2016/11/06(日) 10:35:30.98ID:zAZcaoe3
確かにキツいね
何がキツイって、やたら無駄が多い
同じモノ書いてコード量が2倍とか、アホらしくなってくる

仕事でもなければ、こんなもん選択しない
0121774ワット発電中さん2016/11/06(日) 11:33:25.02ID:SXdNl6oJ
つまり、最初はVHDLから入るべきって事だな。
ゆるゆるなVerilogより圧倒的にいい。
0122774ワット発電中さん2016/11/06(日) 13:20:07.34ID:BY4wG7vq
Verilogで、もっとチェックが厳しいのは無いんだろうか。
「そんなこと、事前に教えてくれよ」というのが多い。
0123774ワット発電中さん2016/11/06(日) 14:33:35.97ID:B08Nwgql
>>122
Verilatorで文法チェックができるらしい。
本来はVerilogシミュレータだけど、
チェック機能だけ使うこともできるそうだ。

http://seesaawiki.jp/don10ueda/d/Verilator%3A%3ALint%A5%C1%A5%A7%A5%C3%A5%AF#content_1

http://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2FHDL%2FVerilator%20%E3%81%AE%E5%B0%8E%E5%85%A5%EF%BC%88C%2B%2B%E3%83%A2%E3%83%BC%E3%83%89%EF%BC%89
0125774ワット発電中さん2016/11/06(日) 19:08:28.39ID:SXdNl6oJ
終わってる
0126774ワット発電中さん2016/11/06(日) 19:54:55.16ID:IsJdOoW0
verilogしかやってない人の記述は汚すぎな奴率多い気がするな
0128774ワット発電中さん2016/11/07(月) 18:13:37.79ID:jPgYlnsr
>>109
これ、もう新品では手に入らないのね・・・
尼だとプレミアム価格になってて吹いた
定番と言われるstarc本も解散したせいですごい値段だしなんだかなぁ・・・
0129774ワット発電中さん2016/11/08(火) 00:20:15.73ID:wYIxSDFl
>120
Verilogですらやたらと無駄が多くて頭にくるのにVHDLときたら、、、、
0131774ワット発電中さん2016/11/08(火) 07:30:04.80ID:6SFoFk6j
無駄が嫌ならABELでも書いてろ。
0132774ワット発電中さん2016/11/08(火) 09:14:16.04ID:H1qkYcA6
昔のXACTみたいに自分で配置配線出来ると楽しいんだが。
0133774ワット発電中さん2016/11/08(火) 09:48:26.62ID:2E6xekCX
>>130
お、電子書籍になってたのか。紙との値段差凄いなぁ・・・
紙でほしいけどこの値段差だったら一冊分でVHDLとVerilogの両方買えるし電子書籍になっちゃうかなぁ
0134774ワット発電中さん2016/11/08(火) 18:36:18.12ID:gVFzAa6K
オンデマンドのやつ会社で買ってもらったけど
なんか裁断がイマイチでページめくりづらい
0135774ワット発電中さん2016/11/08(火) 22:24:42.73ID:jQlhgFaj
ブッコフではやすり掛けしてるらしいね。日焼け落としでだけど。
会社でやられては敵わんから家に持ち帰ってやったらどうか。
0136arisa ◆QaHT6HayjI 2016/11/09(水) 06:08:43.11ID:0CxQ817X
海外にいって、pdfの暗号化解除して印刷して持ち帰ったら、著作権法違反なのかよくわからないよね。

ぬるぽ!
0137774ワット発電中さん2016/11/10(木) 11:17:14.33ID:OqTDt7H3
CVC を cygwin (32 bit) でビルドできないでしょうか。
とりあえずヘッダファイルを linux から持ってきて、ld の -m オプションの指定を
i386pe に変えてみたりして進めたけど、cvclib_str.s のアセンブルでエラーになってしまう。
ld の -m オプションも正しいのかどうかわからないんだけど、できた人いませんか。
0138774ワット発電中さん2016/11/10(木) 19:48:05.16ID:D1Ta2lua
>>137
cygwin環境は知らないけど、
hexasm cvclib.o __cvclib 8 > cvclib_str.s
で止まるのは、カレントディレクトリにパスが通ってないから。
0139774ワット発電中さん2016/11/10(木) 22:11:45.55ID:OqTDt7H3
>>138
そこは通ってます。その変換じゃなくて、その後のアセンブルでエラーになるんですよ。
てか、linux ではビルドできてます。
どうも ELF だの COFF だのといった形式の違いが関係しているらしい。
linux で使ったところ、icarus より断然速かったんで、Windows でも使いたかったんだけどなー。
0140774ワット発電中さん2016/11/11(金) 00:29:10.98ID:cWPggw/D
>>139
Tachyon CVC がオープンになってるとは知らんかった。アリガト
ざっと見ただけだが、少なくともhexasm.cとv_asmlnk.cは手を入れないとだめぽい
ま、それだけで動いてしまうような気もする。
0141774ワット発電中さん2016/11/14(月) 02:23:14.20ID:0vBjh5Kn
16bitバイナリの値をアスキーに変換するのもう分からん
まず10進数でみたときの1桁単位で値を分解する方法が分からん
こうなったら65535ワード40bit配列作ってしまおうか?
0142774ワット発電中さん2016/11/14(月) 03:58:14.11ID:OA5CEjPv
$display("%5d",x);

壱の位を加算で求める(1,2,4,8,x6,x2,x4,xx8…)
0.1を掛けて、十の位を求める
0.01を掛けて、百の位を……

BCD encode shift and add-3を使う

10で割って……
0143774ワット発電中さん2016/11/14(月) 05:01:26.28ID:SC5l6bf7
小学校で割り算(組み立て除法)習ってないのか
51かけて9ビット右シフトするインチキも・・・
0144774ワット発電中さん2016/11/14(月) 07:02:28.31ID:OA5CEjPv
>shift and add-3
適当に書き散らかしたら、46000や64600でバグったよママン。
0145774ワット発電中さん2016/11/14(月) 21:42:33.28ID:pfUScJZA
X=40000以上ならばY1=1にしてXから40000を引く
X=20000以上ならばY2=1にしてXから20000を引く
X=10000以上ならばY3=1にしてXから10000を引く
X=8000以上ならばY4=1にしてXから8000を引く
X=4000以上ならばY5=1にしてXから4000を引く
X=2000以上ならばY6=1にしてXから2000を引く
X=1000以上ならばY7=1にしてXから1000を引く
.....
とずーっとやっていくとX1,X2,X3.....がBCDになる

ループで記述することも可能。
65536ワードより少なく、19ワードのテーブルを使う。
0146774ワット発電中さん2016/11/14(月) 22:06:40.04ID:pfUScJZA
う、ケアレスミス
>とずーっとやっていくとX1,X2,X3.....がBCDになる
X1,X2,X3.じゃなくってY1,Y2,Y3.だね。
0149774ワット発電中さん2016/11/14(月) 23:15:53.46ID:HG652s2B
言い忘れました。

HC163とNANDゲートを使って欲しいです。
0151774ワット発電中さん2016/11/16(水) 03:59:31.48ID:R8e4I7Hm
Verilog人口ってどのくらいいるんだ? 日本に10万人はいないな。1万人くらいか?
0152arisa ◆QaHT6HayjI 2016/11/16(水) 06:06:19.59ID:8Sn/I0Vd
特電のボード見てた後に、DE0-Nano-SoC 見たら欲しくなってやばい。
0153774ワット発電中さん2016/11/16(水) 07:32:25.21ID:yb6hanaB
結局のところ勉強用にサンプルコードやらフリーのIP見てるとVHDLの物も多いし、Verilogにみんな移行した感じでもないので両方勉強しないと駄目なんだなぁとは思う
0154774ワット発電中さん2016/11/16(水) 12:38:48.03ID:JGgSZ7q4
アルテラとザイリンクスってどっちがいいとかありますか?
0156774ワット発電中さん2016/11/16(水) 14:41:57.67ID:SnuhtX1X
ラティスとアルテラってどっちがいいとかありますか?
0158774ワット発電中さん2016/11/16(水) 18:07:48.56ID:eTWokwgS
>>154
用途聞いた上で、それならAのコレだね、あれにはXのこの辺だね、って判断しかできない。
どっちかが相手を完全に凌駕している訳ではない。
0159774ワット発電中さん2016/11/16(水) 18:09:07.40ID:eTWokwgS
>>156
その比較ならAltera。
0160arisa ◆QaHT6HayjI 2016/11/16(水) 18:41:34.74ID:ejjHBEap
>>154
FFT/IFFT FIR使う信号処理なら、xilinx。

ALTERAは使いにくい上に有料だから。あとメモリ配置が高速処理にはむかない。


一般用途と、CPUとかならアルテラ。

つうか、アルテラはインテル狂ってるから。
0161774ワット発電中さん2016/11/16(水) 19:09:31.79ID:lgesInP3
省電力だったらLatticeというイメージだったけど実際どうなん?
0164774ワット発電中さん2016/11/17(木) 15:57:53.28ID:8ksldZn5
OpenCLで検索すると、Altera/Intelの広告がトップに出てくる
0165774ワット発電中さん2016/11/18(金) 12:25:02.20ID:Vbk7ag+6
>160
高速ってどのくらいのスピードのこと?
ALTERAで400Mhzで処理をがんぱったことあるんだがギリギリだったな。Xなら
余裕とか?
0166774ワット発電中さん2016/11/21(月) 12:28:57.02ID:hTKBI/FL
verilogでレジスタに直接zを書くのって大丈夫ですか?
0167ももたん2016/11/21(月) 12:35:05.70ID:PjBWb8Y+
精神障がい者年金は1級だと毎月一生8万円もらえるそうですが、ヤクザや入れ墨の家庭の不良のニートたちが不正受給していて問題だと思います。
躁うつ病だと仮病を使って、ヤクザの人気取りの精神科医師の診断書1枚だけで毎月8万円もらえるのおかしい。しかも不正受給に近所でも気づけない!
生活保護のように経済力を査定する機関を介してでないともらえないようにしたほうがいいと思います。
全く薬物治療しなくても精神障がい者年金がもらえるんだよ!ここがおかしい社会保障制度のひとつです!
税金がそんなところにつかわれるのおかしいです。不良のニートや入れ墨のお小遣いになっている精神障がい者年金制度は問題です!
0170774ワット発電中さん2016/11/21(月) 19:58:16.69ID:H77v3n5y
レジスタは値を保持する物のであって、ハイインピーダンスの状態を保持するのは気持ち悪いような。。
0171774ワット発電中さん2016/11/21(月) 20:36:43.29ID:wQI6dwRL
まあ、合成しなければの話だけど。
0172774ワット発電中さん2016/11/21(月) 22:31:37.60ID:mgnpnzyu
やったことないけどエラーで弾かれたりワーニングでたりしないかね。
0173774ワット発電中さん2016/11/21(月) 23:04:46.03ID:myAOCpZ9
ツールさえ強力ならFF 2個と3ステートバッファで実装できるんだから
エラーで弾くべきじゃないだろ
現実に合成できるツールがあるかどうかは知らん
0174774ワット発電中さん2016/11/21(月) 23:19:40.12ID:sI9UNIe1
>>166です
みなさんありがとうございます
レジスタの値をシフトレジスタに突っ込んで、ある出力のトライステートを実現させられたり出来るかな?と思った次第です
イネーブル用のレジスタを1個おけば済む話とは思うのですが。。
0177774ワット発電中さん2016/11/22(火) 20:30:15.76ID:xARd2FA3
やれる確信がなければ危ない橋は渡らないに限る。
0178774ワット発電中さん2016/11/23(水) 16:49:55.64ID:J1tBCkiv
SystemVerilogって使ってる?

使い始めてみたんだけど、bit型って初期値0なんだけど
合成した回路でもリセットなしで0になってることが保証されるの?
0179774ワット発電中さん2016/11/23(水) 22:29:21.50ID:3R5vi/s4
合成してみれば一発でわかるのに何を言ってるんでしょうね。
0180774ワット発電中さん2016/11/24(木) 08:54:17.79ID:QnznLr+Z
たまたま 0 になってるのか、保証されてるのか合成してわかるもんなんでしょうかね。
0181774ワット発電中さん2016/11/24(木) 09:44:37.97ID:AfsPn/Fo
そういうのは言語仕様ではないから、合成ツールのカスセンへ
01821782016/11/24(木) 13:02:52.64ID:uPlTUNUo
ありがとうございます。

ググりまくったらサザーランドの本の一部がgoogle booksで読めて
それによると保証されないと書いてあった。
IEEEの規格も無料配布されてるけど合成のことは触れていない。
FPGAなら初期値も合成しちゃうんだろうけど。

ということはリセット漏れの検査がシミュレーションではできないのか。
0183774ワット発電中さん2016/11/24(木) 17:19:30.11ID:hwvleIxN
○ 合成後ネットでやる。
○ bitを使用禁止にする。

starcさんならきっと使用禁止のガイドラインにしてくれる。
0184774ワット発電中さん2016/11/24(木) 18:13:55.03ID:uBYWKu7c
ソフト屋さんなんだろうな。合成出来るのはツールによって違うサブセットなのに。
0185774ワット発電中さん2016/11/24(木) 19:02:49.28ID:QktG16u6
つか合成前提にしたロジックでリセット入れないとかシミュレーションたるくてしかたないだろ。
01861782016/11/24(木) 20:08:00.93ID:uPlTUNUo
いやいや、言いたいのは、
複数人で開発してたり自分がトチ狂ってたりして
リセット入れ忘れた信号があったときに
テストから漏れる恐れがあるってことだよ。
合成後にテストできるにしても工数的には早く見つけるに越したことはない。

ま、ガイドラインとしては>>183のいうようにmodule内は2値型禁止しかないね。
0187774ワット発電中さん2016/11/24(木) 20:16:19.64ID:NmHfpzpH
>>185
俺が無能ってのも大きいだろうけど、出力がXのままになるな。
0188774ワット発電中さん2016/11/26(土) 00:48:01.54ID:8dHlClQE
DNA用の「プログラミング言語」をMITが開発。望みの機能をコーディング〜コンパイルし、細胞へインストール

>言語のベースになったのはデジタル回路シミュレーションに使われる「Verilog」で、プログラミング言語として実行可能とするためにバクテリアの DNA に論理ゲートや、化合物や光に反応するセンサーの役割を果たす機能を設計してあります。
http://japanese.engadget.com/2016/04/05/dna-mit/
0189774ワット発電中さん2016/11/28(月) 12:46:51.14ID:0kBnv+Vg
c言語をちょっとかじった俺が入りやすい方法ある?どこかで入門セミナーやってないかな?
0190774ワット発電中さん2016/11/28(月) 13:03:21.64ID:ruvASFyI
SystemC だね。ソフト屋さんでも簡単に使えるよ。


少なくともツールベンダーはそう言ってた。
0192774ワット発電中さん2016/11/28(月) 21:09:49.98ID:lsLGmkKT
FPGAで液晶のAQM1248に文字を表示させたいんだが,どう制御コマンドを送ればいいのかさっぱりわからない...
誰かご教授願いたい...
0194774ワット発電中さん2016/11/28(月) 22:58:31.28ID:JOLCMUGI
>>193
早い...早速参考にさせていただきます。
ありがとうございます!
教えて君になってしまい申し訳ないです...
0195774ワット発電中さん2016/11/29(火) 00:28:11.25ID:W9nL5Zcc
>>188
ほう、厳格さを要するDNAプログラミング言語もベースはVerilogなのか
MITがそうなのだから時代はVerilogなんだろう
0196774ワット発電中さん2016/11/30(水) 06:33:35.90ID:7x2uqA5M
OpenCoresに登録しようとしたけど、受理された旨のメールが来ない…
0197774ワット発電中さん2016/11/30(水) 14:05:01.27ID:iGvbK0U1
ぼくなら、えふえふじゅうご!きっとそう呼ぶ!
0199774ワット発電中さん2016/12/01(木) 19:48:55.21ID:hh9GZoPK
>>183
RTL設計スタイルガイドの電子書籍版で仕様禁止にされてた(2-101ページ)
紙の最終版は見たこと無いなら知らない
あと、STARCは死んだ…
0201774ワット発電中さん2016/12/08(木) 01:25:58.04ID:nHd5IUIK
warningが、300個も出ました。
やる気が出ません。
寝ます。
0202774ワット発電中さん2016/12/08(木) 09:07:56.05ID:N0+kcvzz
俺は3,000個に出てたから大丈夫。最初から書き直そう。多分ロジックはあってるけど記述のしかたが悪いだけ。それが解れば正しく記述し直せばいい。そんなに大変じゃないよ。
02031782016/12/08(木) 09:11:12.74ID:pLZRIv++
お前らってwarningゼロにする派?
0204774ワット発電中さん2016/12/08(木) 10:09:37.57ID:2N8bQSo0
ゼロは超難しい
AもXも、ツール o rデバイスのバグまでwarninで出してくるからな
0205774ワット発電中さん2016/12/09(金) 12:58:42.34ID:v55Z7YtM
僕もワーニングが多くて困っています。

Verilogで、待ち時間などのmoduleを作るとき、
wait # (
  .w_clocks ( 1000 )
) w1 (
  ・・・・・
);
と、呼び出し側で数値を決められますが、呼ばれた側の中では、カウントするregのbit幅を取るのに、
「これぐらい取っておけば大丈夫でしょう」と
reg [15:0] count;
とかのbit数を見込みで設定します。

しかし、それよりも短いbit数で済む値を入れると、余りbitに対して一斉にワーニングが出て
WARNING:Xst:1710 - FF/Latch <count_15> (without init value) has a constant value of 0 in block <w1>.This FF/Latch will be trimmed.....
WARNING:Xst:1710 - FF/Latch <count_14> (without init value) has a constant value of 0 in block <w1>.This FF/Latch will be trimmed.....
WARNING:Xst:1710 - FF/Latch <count_13> (without init value) has a constant value of 0 in block <w1>.This FF/Latch will be trimmed.....
WARNING:Xst:1710 - FF/Latch <count_12> (without init value) has a constant value of 0 in block <w1>.This FF/Latch will be trimmed.....
WARNING:Xst:1710 - FF/Latch <count_11> (without init value) has a constant value of 0 in block <w1>.This FF/Latch will be trimmed.....
などとなります。
このワーニングを消すには、ちゃんとbit幅を適正にしてやる以外に無いのでしょうか?
指定値のw_clockは、constなんだから、コンパイルの時点で自動的にbit幅を計算してくれて、
ワーニング無しにしてくれればいいのに、と思うんですが。
0206774ワット発電中さん2016/12/09(金) 13:23:25.34ID:tquTYVBr
単に、オマエが知らないだけだろ

reg [log2(w_clocks)-1:0] count;
0207774ワット発電中さん2016/12/09(金) 13:50:51.35ID:v55Z7YtM
>>206
ありがとうございました!

素晴らしいです。こんな便利な物があったのですね。ありがとうございます。

ところで、
カウントアップする増分値の表記は、どのようにしたら良いのでしょうか。

reg [log2(w_clocks)-1:0] count;   // bit幅、自動
count <= count + 16'd1;       // +1は16bit幅 固定

この 16'd1 ですが、これも自動的に幅を揃えられるでしょうか。

parameter inc = (log2(w_clocks))'d1;
count <= count + inc;       // 増分値のbit幅も、自動

とかでしょうか。
0209774ワット発電中さん2016/12/09(金) 18:19:08.24ID:v55Z7YtM
ISE14.7で試してみました。

  reg [log2(w_clocks)-1:0] count;    // bit幅、自動

  always @ ( posedge clock ) begin
    if( reset == 1'b1 ) begin
      count <= (log2(w_clocks))'d0;  ←エラーでした
      count <= 0;           ←ワーニング無し、動作もOKでした。
       :
       :

  function integer log2;
    input integer addr;
    begin
      addr = addr - 1;
      for (log2=0; addr>0; log2=log2+1)
      addr = addr >> 1;
    end
  endfunction

log2(w_clocks)-1 : 0 で、単純に文字に変換されるなら、行けそうだと思いましたが、
さすがに 16'd0 とは見てくれませんでした。
0210774ワット発電中さん2016/12/09(金) 19:35:09.35ID:RUeKXnKd
count <= 0;
count <= count + 1;
で何か不都合ある?
前にも議論があったような気がするけど
0211774ワット発電中さん2016/12/09(金) 20:18:11.84ID:0DvjJI4f
ない。
リントでワーニングは出たりするけどね。
気になるなら、 { (log2(w_clocks)){1'b0}} とかにすると上のワーニングは消せる。
{{ (log2(w_clocks)-1){1'b0}} , {1'b1}} とかにしても、オーバーフローのワーニングは出るので、
下手に複雑な書き方はしない。
0212774ワット発電中さん2016/12/09(金) 20:38:17.15ID:tquTYVBr
warning "HDLCompiler:413" だろ?、 確かに出るね
意地でも消したいなら下、提示の ISE14.7 なら消える

parameter P_BIT_LEN = log2(w_clocks);

count <= count + 1;

count <= {count + 'h1}[(P_BIT_LEN-1):0];
or
count <= count + {{(P_BIT_LEN-1){1'b0}}, 1'b1};
0213774ワット発電中さん2016/12/09(金) 21:13:55.74ID:RUeKXnKd
VHDLの 'length みたいなのがあればいいんでしょうね
0214774ワット発電中さん2016/12/09(金) 21:27:43.00ID:tquTYVBr
拘って消しても、可読性が落ちるようなら本末転倒だしな

ただし、大量の warning を放置したままだと、本物を見落とす確率が上がるから要注意
この手の warning は、 内容を確認したうえで順次 MessageFiterで隠すようにしてる
0215774ワット発電中さん2016/12/09(金) 22:41:43.55ID:v55Z7YtM
みなさん、ありがとうございます。

parameter k = log2(w_clocks); として、bit数を入れ、
parameter k0 = {{(k-1){1'b0}}, 1'b0}; として、'0'を定義して
parameter k1 = {{(k-1){1'b0}}, 1'b1}; として、'1'を定義して
count <= k0;
count <= count + k1;
として、うまくシンセサイズができました。
ワーニングもなしでした。ありがとうございました。

>拘って消しても、可読性が落ちるようなら本末転倒だしな
そうですね。実際にはこんな書き方は使わないと思いますが、
見過ごしていいワーニングかどうかを判断するためにも
ワーニングの意図を知って、その解決法を確認しておくことが重要だと考えました。

どうもありがとうございました。
0216774ワット発電中さん2016/12/10(土) 00:19:19.05ID:l99WPLwm
神になった気分だ。
スキルアップした今、どんなジャンルの回路を設計し作れと言われても
その詳細さえ教えてもらえれば
一瞬でどんなデータ構造/アルゴリズムで作ればいいかや
どんなデザインパターンを使えばいいかが
一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、
予期せぬバグとかがなければ短期間で一人でその回路やツールを作る自信がある。

この予期せぬバグとはふだん使ってない昔やってプログラミング言語の細かい文法関連のことだけで
それはすぐ見直してカンを取り戻せばいいから全く問題ない。
02192142016/12/10(土) 21:34:46.16ID:kN7V6EG0
>>217
MessageFiterで隠すって書いた通り、拘ってるの俺じゃないから

まぁでも意地でも消したいって気持ちは解らんでもない
でも、そのうち Tool/Device のバグまでwarningで出して来るのに遭遇するから
そうすれば、いくら頑張っても無駄だって思えてくるよ

あと、こう書いても消せるね
count <= count + 1'h1;
0220774ワット発電中さん2016/12/11(日) 12:21:53.13ID:IZ5J/r7S
でも、warningがたくさん出ると、
自分の能力の無さを数字で出されたようで、つらい。
人に見られると「大丈夫なのか? これ」と言われそうで。
0221774ワット発電中さん2016/12/11(日) 15:55:21.91ID:32vhXSYv
>>203
俺はwarningをワーニングと言われると違和感を覚える派かな。

warmウォーム
star warsスターウォーズ

wormワーム
wordワード
workワーク

なぜ、warningだけウォーニングじゃなくてワーニング?
0222774ワット発電中さん2016/12/11(日) 16:05:36.23ID:BUPYXdD9
ウォーニングだろうとワーニングだろうとどっちも同じ。日本人にしか通じないから気にするな。
0223774ワット発電中さん2016/12/11(日) 16:18:08.07ID:uIpbsMVL
wantやら、warrantなんかでウォとワの両方あるからね。
0224774ワット発電中さん2016/12/11(日) 16:22:10.71ID:vG1Pr9ci
>>221
俺も書くときはウォーニングと書くことが多い。一緒に仕事をしたことがあるネイティブさんがそう言っていたから、ってだけが理由。
でもワーニングという表記で違和感は覚えないな。ワーニングは、すでに定着した外来語に分類される日本語だもの。
得意先にドキュメントを出したときに「ウチはワーニングで統一しているので、ワーニングって書いて」って言われたら普通に置換するよ。

で、それでもワーニングと言うのは日本人だけかなー、と思ったら。
ttp://ja.forvo.com/word/warning/#en
ここの少ないサンプルだけど、
オーストラリアの男性は ウォーニング と言ってるけれど、
米国女性はどちらとも聞こえるような発音。
ドイツ、フランスの人は、かなりワーニングに近いね。

外来語のカナ表記にひとつひとつ違和感持ってたら、知れば知るほど大変だと思う。感情抜きで受容することも必要かと。
0225774ワット発電中さん2016/12/11(日) 18:21:20.26ID:qjgJoNcI
やっぱり出たな
こういうこと言い出すやつが必ず来ると思っていたよ
0226774ワット発電中さん2016/12/11(日) 19:44:04.58ID:QUKE8tZX
新聞のラテ欄で、アカデミー賞(Academy Awards)や
グラミー賞(Grammy Awards)の授賞式番組が横幅の都合上、

アカデミーアワー


なんてふうに書かれていたりすると、
アカデミー賞の時間って意味か!と一瞬思ったりする。
これだって、本来、アカデミーアウォードだろう。
0227774ワット発電中さん2016/12/11(日) 21:42:49.64ID:vG1Pr9ci
外来語をカナでどう表記するのか以前に、考えていることを表現できない・しないことの方が問題だと思うよ。>>225
0228774ワット発電中さん2016/12/11(日) 22:20:13.26ID:4ijxzXdh
外来語がその元になった単語と発音が違ってても気にならないけどなぁ。伝わればいいんだし。
0230774ワット発電中さん2016/12/11(日) 22:23:38.51ID:8jQ/y5ZQ
バイラスをウイルスと言って通じなかったことはある。
0231774ワット発電中さん2016/12/11(日) 23:23:43.38ID:vG1Pr9ci
馴染みがないものだと、外来語として読みが定着していないものもありますよね。
「AUXポート」ってなんて読みます?
客先で「オグジリアリポート」って言ったら「は?」って顔されて、
「エーユーエックスポートです」と言い直したら、「ああ、アウックスポートのことか」って言われたことがあります。
0232774ワット発電中さん2016/12/12(月) 00:13:56.44ID:0KsK4BG4
確かに、AUXは、読み方を知らない人が多いね。
あとはdeterminというのも、知らない人多すぎ。
0233774ワット発電中さん2016/12/12(月) 00:16:58.80ID:0KsK4BG4
>>232
間違い。
determineだった
0234774ワット発電中さん2016/12/12(月) 07:36:00.93ID:aQW1SWTK
「えーゆーえっくす」と言うものの、脳内では「おーぐず」と読み上げている。
0237774ワット発電中さん2016/12/12(月) 11:16:56.46ID:Iis2T/S6
その方が利口かもな
IntelバージョンになったらIP-UpgradeでQuartus落ちまくり
アプリごと落ちるのは、さすがに酷いね

その他は font が変わったくらいで可もなく不可もなく
暇なら上げてみれば? って程度
0238774ワット発電中さん2016/12/13(火) 02:14:42.42ID:gyOE8jOO
周りでは、クォータスって呼んでる。
矯正されない限り、最初に耳に入った名前で覚えてる。
0239774ワット発電中さん2016/12/13(火) 02:18:41.03ID:Y82Y28td
まあ普通は「クォータス」かな
それ以外の呼び方(発音)は聞いたことないけど、違った呼び方してる人いる?
0240774ワット発電中さん2016/12/13(火) 02:57:12.05ID:gyOE8jOO
I2Cは呼び名が多かったな。
アイツーシー
アイスケア(スクエア)シー
アイアイシー
0242774ワット発電中さん2016/12/13(火) 11:27:23.54ID:q73fnqYe
Quartus クオータス (クォータスでもいいけど)

マイケルジャクソンのマイケルというのは、読みがいくつかあるらしい
・マイケル
・ミカエル
・ミッシェル
0243774ワット発電中さん2016/12/13(火) 11:54:29.32ID:OFBgtRiQ
PLLをプルルとよぶのを聞いた時は正直びっくりした。
0244774ワット発電中さん2016/12/13(火) 12:07:29.67ID:SGZXmPxv
>>239
Quartusはラテン語で第4という意味でクウァールトゥスが正解の様ですが?
ラテン語でググれば発音聞けますな

>>241
俺もカルタスって呼んでた
音楽用語のカルテットと同じ感じかなと
調べてみたらQuartetの語源はラテン語のQualtusらしいので
大きくは外してなかったのかなーと
0245774ワット発電中さん2016/12/13(火) 12:26:34.39ID:dWH4TlsZ
FIFOは?ファイフォー言ってる?
0246774ワット発電中さん2016/12/13(火) 14:13:01.65ID:q73fnqYe
フィフォ とか
ファイフォ とか
エフアイエフオー というバリエーションをがある。

ファイフォ に1票

>>243
ホントですか? 歌い出しそうですね。
0247774ワット発電中さん2016/12/13(火) 16:09:12.96ID:IQkORHPX
真顔で「ふぃーふぉ」って言ってる地域があったよ。
そのあたりの関連会社がみんな言ってた。
逆に「ふぁいふぉ」とは言いづらかった。
0248774ワット発電中さん2016/12/13(火) 16:46:13.83ID:q73fnqYe
そうだよね。
そんな中で1人だけファイフォって言うと、
「こいつ、俺たちがフィーフォって言ってるのに、
  敢えてファイフォって言うんだな。イヤなヤツ」
って思われるもんね。

別件だけど、僕は会議の席で上司に指摘したことがある。
上司「便宜的(びんせんてき)に、そう呼びますが・・・」
わたし「それは、べんぎてき ですよ」
0250774ワット発電中さん2016/12/13(火) 17:24:13.86ID:OFBgtRiQ
「これは越えなければならないハードルですっ!」
と言うべきところで、ハードルをバーベルと言う人を見たことがある。
0251774ワット発電中さん2016/12/13(火) 18:49:31.41ID:kAfN7pts
>>250
障害走のハードルは競技者なら当たり前のように超えていく。
高跳びのバーや、重量上げのバーベルは勝つために駆け引きの中で上げていくわけで、
技術のレベルに例えるならむしこっちの方がしっくりくる。

でもバーベルは超えていくものではないね…

「これはクリアしなければならないバーベルです!」
奇をてらっているようにしか聞こえない。
0252774ワット発電中さん2016/12/13(火) 18:55:24.06ID:kAfN7pts
>>248
>上司「便宜的(びんせんてき)に、そう呼びますが・・・」


呼び方ぐらいは テキセン 変えてもらっても結構なのですが、
私は、すでにこのプロジェクトは ハジョウ していると考えています。
責任者を コウソウ して見なおすべきです。
0253774ワット発電中さん2016/12/13(火) 20:37:01.99ID:OFBgtRiQ
>>240
IEEEは「アイトリプルイー」と読むのが普通だろうけど、
俺が大学の時の指導教官は「アイスリーイー」と読んでいた。


>>247
「ファイフォ」は米語的、「フィーフォ」は英語的、って感じかな。

NIKONのカメラは海外では「ナイコン」と呼ばれている、という話があるけど
それは多分アメリカでの話で、イギリスではちゃんと「ニコン」と呼ばれているようだ。
0254774ワット発電中さん2016/12/13(火) 20:40:06.32ID:gyOE8jOO
最初に破城って誤読を聞いたときは山一やリーマンのアレだとは知らず
聞き返してしまった。居た堪れなかった。
今なら確実にスルー出来ます。
0259774ワット発電中さん2016/12/13(火) 22:50:47.99ID:Y82Y28td
Quartusは、「クォータス」でググると「Quartus」がたくさんヒット
したけど、「クウァールトゥス」ではヒットしなかったな

「クォータス」でヒットしたページでも「クォータス」って表記してた
ページは見当たらなかったから、何だよって感じなんだけど
Altera系のセミナーでは何て呼んでるの?
0263774ワット発電中さん2016/12/14(水) 00:00:20.23ID:gVPTHzoZ
クォータスの「ータ」のところに「る」が聞こえるか聞こえないかぐらいに入ってる。
ttps://www.youtube.com/watch?v=qBRGlIwkHKY&list=PL0pU5hg9yniadIUzG9gvKkf3wtwC4LdIy&index=2

発音する人のRの習慣で変わりそう。

Windowsを新聞が記事にするときに「ウィンドウズ」とカナ表記をするものだから戸惑う。
Quartusをカナ表記にする必要もないのだし、口にするときにクォー(r)タスで良いのではない?

「クウァールトゥス」も「く・うぁー・る・とぅ・す」とブツギレで発音することを意図していないと思う。
一瞬でさらりと「クウァールトゥス」と言えば「クォータス」とも聞こえるわけだし。
0264774ワット発電中さん2016/12/14(水) 00:48:56.46ID:2QxeM0o/
>>249>>197
誰も知らないけど、後の百年戦争の開戦の理由がこれである。
0265774ワット発電中さん2016/12/14(水) 14:30:12.12ID:2GjOEokh
PSoCでVerilogが使えると知って、Verilogの事は何も知らないけど、まず2chを見てみようと来たんですけどよろしくです。

ところで質問だけど、
使う変数はレジストリ構成に関係なく、自由に定義してもいいの?
0268774ワット発電中さん2016/12/15(木) 12:49:35.25ID:n8uIA/ns
そろそろプログラマーもFPGAを触ってみよう!
goo.gl/R7Cful
0272774ワット発電中さん2016/12/17(土) 15:42:44.92ID:p0wY5r5i
世界最大のモバイルCPU/IP企業が日の丸傘下になった
そろそろFPGAも傘下に入れるべきだな>禿
0273774ワット発電中さん2016/12/17(土) 15:56:07.28ID:p9CKiO72
>>271
それはalteraがインテルを買収しないと無理。

でもさ、普通のXeonとビンコンパチだと言われてるから、
CPU差し替えだけで良いんだよ。
0274774ワット発電中さん2016/12/17(土) 15:57:54.11ID:pX0BLm6j
良く考えたらFPGAぐらい自力で作れるだろインテルなら
だから技術ではなくてalteraが抑えてるシェアをカイタタイタ訳で
そういう意味ではいまさら他のFPGAメーカー買い押さえた所でなんの意味もない
0275774ワット発電中さん2016/12/17(土) 16:02:41.20ID:p9CKiO72
>>272
もうalteraはないし、xilinxはibmと手を繋いでるし
残りもののラティスとかマイクロセミとかでもいいか?
0277774ワット発電中さん2016/12/17(土) 17:41:06.24ID:p9CKiO72
>>276
そうねえ。
目的がマイクロソフトとかグーグルとか少なくとも
データーセンター用だろうから個人は考えてないね。。
0279774ワット発電中さん2016/12/18(日) 09:42:38.38ID:M7LqpBfj
AI推論でfpga使うらしいから
AIアプリ毎にコンフィグデータも必要になりそう
きっとスマホにもfpgaが載るんだよ
0281774ワット発電中さん2016/12/18(日) 14:51:29.66ID:mDFelIz+
>>279
インテルはスマホ領域は捨てたから、
やるなら禿CPUしかない。
で、ラティス買うのかマイクロセミか?
0282774ワット発電中さん2016/12/18(日) 18:15:12.20ID:14eeQqhW
ラティスは中華系のファンドが買ったんじゃなかったか
0283774ワット発電中さん2016/12/18(日) 19:23:58.88ID:1CngaFCH
>>282
https://goo.gl/G29zDG
中華系ではないかもしれないが、身売りしたのは確からしい。
ただ上記記事にり、技術的シナジーとか関係ないと書かれてるから、
買値よりも高く提示すれば売ってくれるんじゃないかな?
0284774ワット発電中さん2016/12/19(月) 01:54:25.07ID:jPwK144U
>>279
つかもうアップルがしれっと載せてるんじゃなかったっけ?
機能としては眠らせてるみたいだけど
0286774ワット発電中さん2016/12/19(月) 23:00:50.55ID:nwspHX89
どうせ最近モバイルで採用が増えてるっていう
latticeのcpld系小規模グルーロジック用だろ
と思ったらやっぱりそうだった
0287774ワット発電中さん2016/12/27(火) 10:29:30.41ID:Kpd1TEA+
チップスコープで、双方向の信号(メモリのデータバスなど)が見たいのですが
表示できません。というか、設定リストに見あたりません。
assign a = ioSIG; と別の名前の信号にcopyしても、aが出てこないです。
チップスコープで、どのようにしたら見えるのでしょうか?
0289774ワット発電中さん2016/12/27(火) 13:39:10.48ID:Kpd1TEA+
あっ!? えっ!? そうなんですか・・・
わかりました。移動してきます。
0294774ワット発電中さん2016/12/28(水) 23:39:27.34ID:zcLaSna6
配置配線なんてツールが自動だろ?
と、レイアウトスキルのない俺が煽ってみる。

タイミングがmetしないのは論理が悪いのかツールを使いこなせないからか。
0296774ワット発電中さん2016/12/29(木) 13:18:39.13ID:A7TxtcOT
レジスタバスって何ぞ?
プリチャージ方式バス?
0297774ワット発電中さん2016/12/29(木) 19:49:10.60ID:rDlWnVQu
レイアウトできる会社に変えるのか
ネットリストを変更するのかしないとな。
0298774ワット発電中さん2016/12/30(金) 02:09:54.82ID:sCAU7/KO
>レジスタバス
なんだろうな?バス表記方法の方言かな?
0299774ワット発電中さん2017/01/03(火) 00:08:12.65ID:BcBTri5v
>>297
>レイアウトできる会社に変えるのか
>ネットリストを変更するのかしないとな。

内部フロアプラン概略図の作成は、verilog設計者の仕事か?
自分が会社を変えることにしたw
0300774ワット発電中さん2017/01/03(火) 10:47:57.54ID:ZJPKQaYT
>>299
できないならやらなくて良いよ。
できるならやってあげた方が良いけど。
0301774ワット発電中さん2017/01/04(水) 10:21:43.93ID:2rgbqqm6
>>300
仕様決定から、設計・実装・試験仕様・実試験(テストベンチ)まで、一切レビューなく一人の責任でASICデジタル設計をFPGAしか経験ないのに、一発動作させたから、月63万円年収420万円派遣だから、やる気ないよ。
もっと、収入もらっている奴がやればいいだろ
できないけどw
0304774ワット発電中さん2017/01/04(水) 10:32:46.28ID:X6hMZl8F
>>303
普通は小学校、中学校、高校で大方必要な日本語を学ぶと思うよ
0305774ワット発電中さん2017/01/04(水) 16:37:12.01ID:RKhFda0l
>>304
ニホンゴムズカシクテオマエサンノイットルコトガワカラナイアル
0307774ワット発電中さん2017/01/05(木) 07:01:00.20ID:waDFDXvw
こんな感じでおおむね日本人技術者の人間力が総じて低い。
0309774ワット発電中さん2017/01/06(金) 16:31:44.45ID:IaMy/duH
シンセシスにErrorが出て、朝からずーっとデバッグしてきた。
Clean up projectをしてもダメ
ISEを再起動してもダメ

PCを再起動したら、直った。 なんだそれ。そんなん有りですか?
1日パーになってしまいました。
0314774ワット発電中さん2017/01/10(火) 12:28:57.00ID:oowlH8BE
ALTERA って、使っている会社や使ってる人が多いけど、
どこらへんに魅力があるのかな。
・チップの性能がいい
・チップが安い
・商社の営業ウマンが可愛い
・ツールが分かり易い
・動作速度が速い
0315774ワット発電中さん2017/01/10(火) 20:34:41.28ID:xfFuamSW
・書籍や講習が多い
これではないかと、トラ技の特集もAlteraばかり
0317774ワット発電中さん2017/01/11(水) 00:21:15.75ID:6m20KORt
確かにある寺の講習やしょせきは多いね。
なんでザイリンクスも、もっとバンバンやらないのかなあ。
大口が決まってるから、こまけえこたあいいんだよ、
ってことかな。
代理店だったテッドの営業が、下手だったのかなあ。
0318774ワット発電中さん2017/01/11(水) 00:22:54.37ID:6m20KORt
確かにある寺の講習やしょせきは多いね。
なんでザイリンクスも、もっとバンバンやらないのかなあ。
大口が決まってるから、こまけえこたあいいんだよ、
ってことかな。
代理店だったテッドの営業が、下手だったのかなあ。
0319774ワット発電中さん2017/01/11(水) 00:44:47.40ID:M7CietzE
販促にかなり力入れてるイメージだな
雑誌にせよボードにせよ、かなり思い切った値段で提供したりする(原価割れ?)
実際驚く程安いボード出してたが売り切れたら追加なし、それで終わりだったな
その辺が入門者を引き付けてるんだろ

あとツール、Xiみたいにバッサリ変えたりしない
デバイス自体は特に目立った処な無し、寧ろXiの方が良さそう
0320774ワット発電中さん2017/01/11(水) 14:01:34.06ID:LXvG1GAk
>寧ろXiの方が良さそう
そうそう。
それにあぐらをかいているように見える。
今の若者が将来のデバイス選定をするのに。
「えっ?! ザイリンクスですか?」と驚かれる今日この頃
0321774ワット発電中さん2017/01/11(水) 20:09:21.04ID:chn0PHXE
おいらも仕事やるまでは、アルテラが多数派だと思てた。
0322774ワット発電中さん2017/01/11(水) 22:36:25.58ID:LXvG1GAk
>>321
ん?
0323774ワット発電中さん2017/01/11(水) 22:38:12.01ID:7F1P3HKh
うちも治具作りでFPGA使うという話してた時はAという
選択肢は存在しなかったな
理由はわからないけど大人の事情が殆ど全てな感じだった
ホビーユースだと「今は」確かにXの安い環境少ないけどね
0324arisa ◆QaHT6HayjI 2017/01/13(金) 04:09:40.78ID:Op75bIRN
Xilinxは高度なIPコアがおおむね無料なんですよ。昔から。

そこにあぐらをかいて大崎でふんぞり返っていたXilinxは、Intelに買収されたALTERAちゃんにシェアを食われて、メシウマ!!
0326774ワット発電中さん2017/01/13(金) 08:04:47.10ID:VS8R+H4L
>>325
アートヴィレッジ大崎セントラルタワー

オーストラリア人の社長がワーカホリックらしいな。
0327774ワット発電中さん2017/01/13(金) 10:03:53.01ID:4D7XNnzP
シェア食われてるの?
0328774ワット発電中さん2017/01/15(日) 03:40:34.52ID:mkHj70jg
>アートヴィレッジ大崎セントラルタワー
雨でも駅からビルまで濡れずに行ける。
1階のマクドナルドとおにぎり屋さんが好きだった。
1階のコンビニで、初めてレジ待ちの並び方を覚えたっけ。
Xilinxのセミナーにはよく行ったなぁ。
セミナー室が地名になってるんだよね。
受付のお姉さんが綺麗な人だった
0330774ワット発電中さん2017/01/18(水) 01:04:28.99ID:6a36KCqw
初心者がこれからVerilog学ぶにあたってのオスス本教えてケロ
0331774ワット発電中さん2017/01/18(水) 01:55:31.15ID:/q5NhjGv
>330
木村真也さんの本がいいですよ。トラ技スペシャルNo.95など

教えてください。

Verilogで、functionの練習をしていますが、いくつか教えてください。

1. 変数の記述
・通常のところで wire で繋ぐところを reg で宣言
・regなのに assign は不要で、いきなり a = b; と書く
ようです。
間違いそうで怖いです。

みなさんは、どのようにして間違いを予防していますか?
functionの中の変数だけ特別な変数名にしている、とかです。

2. 引数の順番は、
functionの中身の先頭の input xxxx の順番で引き渡す方法しか できないのでしょうか?
通常のインスタンシエーションのように、hoge ( .a( A ), .b( B ), ...)
のように「組み合わせ」で書けないのでしょうか。

3. 出力
入力はfunctionの先頭でinputを宣言しなければ、function以外からでも値を引っ張ってくるようです。
これもドキドキものだと思いますが、
出力もfunction外部の変数に直接アクセスできるのでしょうか?

functionは、便利なものですが、上記のようにちょっと書き方が違っているので
困惑しています。
よろしくお願いします。
0333arisa ◆QaHT6HayjI 2017/01/18(水) 07:28:31.41ID:FfyRVatf
>>331
functionそのものが、どういう論理回路が生成されるかわからないので、オレサマ使ったことないし使えません。お答えできず申し訳ございません。
実務で使えと言われたことはまだ無いね。いろんな会社を派遣で転々としているけど・・・
0334774ワット発電中さん2017/01/18(水) 09:46:18.58ID:LyyhIxq0
予防なら、スクリプトで簡単な記述ミスや、ついでにコーディングルール違反は潰す。
一時変数でもregをwireのように使うなら、always記述でも いいじゃんとなる。
複数ブロックに跨っても代入文を書けば、そのようにシミュレートされる。ご法度でもね。

ワイはalways派なので、普段はfunctionを使わない。
0335774ワット発電中さん2017/01/18(水) 12:30:26.38ID:s/FuukKw
みなさん、どうもありがとうございます。
みなさんの仰ることは、とてもよくわかりました。
本やネットで調べると、functionよりalwaysで書く人が多いらしく、
理由も納得できました。
×functionは、bit幅の間違いを起こしやすい。記述が多い。
×alwaysは、ラッチを作りやすい、というか記憶する回路になってしまう。
とのことで、ラッチを生成する原因はcase文の記述漏れらしいです。
case文で、全部のケースを書かなかったり、defaultを書かないような書き方は
しないので、僕もalwaysで書こうと思います。
ありがとうございました。

しかし、ここでもう1つ疑問が湧きました。functionでは以下のような書き方ができて
スマートに感じますが、alwaysでも同じような書き方はできるのでしょうか?

assign A = func( a, b );
assign B = func( s, r );     // 複雑な組み合わせ回路が1行で書けて
assign C = func( q, k );     // 全体の見通しが良いです。
assign D = func( z, P );

こういう場合、alwaysの記述だと、どのようにすれば良いのでしょうか。
0336774ワット発電中さん2017/01/18(水) 13:12:14.84ID:LyyhIxq0
そういうのはfunction向き。若しくは別モジュールにしてインスタンシエート。
0337774ワット発電中さん2017/01/18(水) 13:20:52.39ID:s/FuukKw
なるほど、忘れてました。
ありがとうございます。こんな考え方で良いでしょうか?

 ALWAY UA ( .u(a), .v(b), .w(A) );
 ALWAY UB ( .u(s), .v(r), .w(B) );   // こうすれば、見やすいですね。
 ALWAY UC ( .u(q), .v(k), .w(C) );
 ALWAY UD ( .u(z), .v(P), .w(D) );

module ALWAY (
  input u, v,
  output w
);
  a;ways @ (*) begin
    case(xx)など functionと同じもの
  end
endmodule
0338774ワット発電中さん2017/01/18(水) 14:52:56.11ID:oe5wAuIZ
>>331

>3. 出力
>入力はfunctionの先頭でinputを宣言しなければ、function以外からでも値を引っ張ってくるようです。
>これもドキドキものだと思いますが、
出力もfunction外部の変数に直接アクセスできるのでしょうか?

function 内部で宣言した変数以外は、外部の変数が参照される。もちろん、代入すれば影響が出る。
スコープについて勉強するといいよ。
あと、合成できるかどうかはまた別の話だからね。
0339774ワット発電中さん2017/01/18(水) 15:01:32.02ID:5r4xp1UJ
階層跨いだ接続
シュミレーションは可能だけど、合成で弾かれるんじゃなかったかな
0340774ワット発電中さん2017/01/18(水) 15:21:20.20ID:Aslqu8RE
systemverilogがもっと一般的になればいいのになぁ
0341arisa ◆QaHT6HayjI 2017/01/18(水) 19:17:43.36ID:FfyRVatf
>>335
その辺、STARC本を読むといいです。
ただ、そこまで気に病むことじゃない。
世の中そこまでveriogの記述を気にする奴はなかなかいないので、そこを追求すると10年後高収入になるかもしれないし、
奴隷のように使われるかもしれない。
がんばれ
0342arisa ◆QaHT6HayjI 2017/01/18(水) 19:21:15.54ID:FfyRVatf
>>337
最初は
a;ways @ (*)
使わない方が良いかもしれない。
コンピュータ言語上がりとか、若い人は使いたがるけど。

セレクタだと余計なラッチが生成されて、
always @(posedge CLK)
で、同期回路をきちんとつくろうとしたときに、罠になる。

周りに聞く人がいないというのもつらいね・・・
0343774ワット発電中さん2017/01/18(水) 21:43:04.59ID:s/FuukKw
>>342
ありがとうございます。

>セレクタだと余計なラッチが生成されて、
この表現は、あちらこちらでよく見かけます。verilogの講習に行ってもいわれます。

>>342の言う「セレクタだと余計なラッチが生成されて」というのは、
本来は「組み合わせ論理回路」を組んだつもりなのに、
意図せずに「記憶してしまう回路」が生成されてしまう、という意味ですよね。
それがたまたま「ラッチ」だったというだけで、
「記憶してしまう回路」にフリップフロップが生成されても、同罪という理解でよいでしょうか?

あるいは、
「HDLの中で、ラッチは完全に悪。使い道ないし」ということでしょうか?

FF = clockの↑で、D→Qにcopyするもの

ラッチ = ANDとかのゲートが自己保持になって、clockに関係なく記憶されてしまうもの
     始末に負えない
0344774ワット発電中さん2017/01/19(木) 06:54:57.71ID:UrpvSdoA
>>343
まぁそんな感じだけど、verilog言語マニアとして転職すればw
パソナ テクノプロ あたりで3ねんぐらい奴隷すれば報われるか報わないかは自分次第
0345774ワット発電中さん2017/01/19(木) 08:14:45.66ID:HL+PmyOm
流れからして、デコーダ話だからな
それなら、ラッチが生成される要因として
defaultの書き忘れより、sensitivity list の漏れの方が多いから
always @ (*) を使うのは理にかなってる

ラッチが嫌われる原因は、タイミング解析ツール側の事情
要は、ツールとしては対応しない。 この一点だね
(マトモな解析をしない/するつもりも無い、したとても単なる遅延としてだけ扱う)

そのへんのリスクを熟知した上で使うなら、別に問題は無いよ
0346774ワット発電中さん2017/01/19(木) 13:36:35.39ID:tAbAsBwd
ありがとうございます。

>タイミング解析ツール側の事情
>要は、ツールとしては対応しない。 この一点だね
なるほど、そういうことなんですね。
確かに、clockで刻々と進んでいくほうが、解析はしやすいですから。
「不意なラッチ」は、いつ発生するかわかんないので、
とても細かく自艦を移動させないといけないから。

ラッチについては、納得できました。
・ラッチは回路として害ではない。
・しかし、HDLの世界では、clockに同期しない部品や回路は使わないから
 ラッチは使われないし、嫌われ、悪者扱い。
・入力で、出力が一義に決まる組み合わせ論理回路を作成したのに、
 default忘れや、センシティビティリスト忘れにより、記憶される回路ができてしまう。
 このときの動作としては、ラッチ動作となる。
・デバッグが大変なので、記述に注意する。
・ツールはWarningさえ出してくれない。(QuartusはWarningしてくれるらしい)
0347774ワット発電中さん2017/01/19(木) 14:23:45.45ID:nwvH33gR
2ちゃんの書き込みを真に受けないほうがいいよ。
0348774ワット発電中さん2017/01/19(木) 14:38:20.37ID:tAbAsBwd
>>347
エッ!? 何かまずいでしょうか?
皆さん親切に教えてくれますけど。
ヤバいすか?
0350774ワット発電中さん2017/01/19(木) 19:47:16.93ID:qHu4BeNr
>>348
親切に嘘を(わざと)教えているときもあるし、
教えている側が間違った情報を信じていることもある。
0351774ワット発電中さん2017/01/22(日) 08:43:19.69ID:uAaO1HiJ
>348
今時Verilogなんて使わないよ。CAD入力だよ。デバッグでちょっと触るくらいだね。
NETをCAD接続する以外は自動プログラミングだからそんな問題は発生しない。
0352774ワット発電中さん2017/01/22(日) 11:37:37.73ID:1p8H75rF
紙に回路図書いてからVeriog書くより
CAD入力の方が良いよね。
0356774ワット発電中さん2017/01/22(日) 16:11:33.37ID:uJew+LJy
トップ階層は、回路図がいいよね。
0357774ワット発電中さん2017/01/22(日) 16:26:31.41ID:zNHTiIwV
なわけねーだろ結線手作業でやるやつはマジで死んでくれ
0358774ワット発電中さん2017/01/22(日) 16:46:58.68ID:0BZ8HODP
2ちゃんの書き込みを真に受けないほうがいいよ。

皆さん親切に教えてくれますけど。

親切に嘘を(わざと)教えているときもあるし、教えている側が間違った情報を信じていることもある。
↑コレに便乗して
今時Verilogなんて使わないよ。CAD入力だよ。(ニヤニヤ)

ネタと真実との境界があいまいになると怖い。
0363774ワット発電中さん2017/01/23(月) 10:46:11.08ID:B5eRi1o9
素人には図がわかりやすい。
素人でなくても理解する気のない人には図がわかりやすい。
0365774ワット発電中さん2017/01/23(月) 22:16:54.82ID:F5mtZNaH
その昔はスケマで設計していたが、今はVerilog HDLやVHDLで論理設計して
スケマは論理合成で自動生成されるものを確認を主目的として使う
で意図通りになってない所があったらHDLを修正して再度論理合成

ってのが最近(といってもだいぶ前な気もするが)の方法だという認識だったのだが

これって釣られてるのかな?
0366774ワット発電中さん2017/01/23(月) 23:26:32.57ID:RRQVSQeV
合成後のネットリストなんて滅多なことでは見ないだろ。ECOの時くらいだ。
0367774ワット発電中さん2017/01/23(月) 23:52:29.49ID:pwbAuse4
シミュレーションで確認だよね。

あとタイミングドリブンレイアウトでタイミングチェック
0368774ワット発電中さん2017/01/25(水) 04:08:52.56ID:hCL8RwuQ
今どきは、FPGAの内部を自分で配線する人はいないでしょうか?
0369774ワット発電中さん2017/01/25(水) 04:26:31.04ID:hnOuEXGa
フロアプランナーとかで中身いじるのは
よほとの時じゃね?
0370774ワット発電中さん2017/01/26(木) 15:30:10.42ID:9vpQ3jRO
配線まで弄ったことはないな。ざっくりとした領域指定や、
クロックバッファのインスタンス指定までやらかしたことはあるけど。
0372774ワット発電中さん2017/01/28(土) 05:36:38.60ID:LPs0O4WE
昔のように例えばマクロセルが500以内程度の小さい回路はHDLの方が効率が
いいが、でかい回路になるとスケマでないと理解できなくなる。
HDLはモジュール間結線が空間的に配置できないから直観的に大局を把握できない。
古い技術者は昔のCAD回路図がHDLに変わる過程の劇的な効率アップをしっているので
なかなかHDLから離れることができない。ところが今時HDLなんて書き古したものを
コピーするだけで済むから、もっぱら上位概念をスケマで書く方が主流だ。
 VerilogもVhdlもモジュール結合の記述に致命的な欠陥がある。
この欠陥がなければ、もう一桁上までHDLでも書けるがそこが限界だ。もうすでに
HDLで書く時代は終わった。
0373774ワット発電中さん2017/01/28(土) 06:16:02.97ID:LPs0O4WE
Verilogは稀に見る馬鹿な言語仕様で大局を記述するにはせめて入力と出力を分離して
  outlist = module名(inputlist)
こうなっていれば視覚的にわかりやすいが
  module名 インスタンス(in,out,ごちゃ混ぜputlist)

1.インスタンス名はいらんだろ馬鹿
2.インアウト分離しろ馬鹿

もちろんVHDLはVerilogをさらに加速した馬鹿仕様

で細部の記述はどうかというと、これがまた酷い。笑えるほど酷いから書く気が失せる。w
0374774ワット発電中さん2017/01/28(土) 06:53:55.93ID:cb3uVd+h
だってインスタンス名がないと制約ファイルを記述できないから…
0376774ワット発電中さん2017/01/28(土) 11:34:41.40ID:VNVXTyzf
ソフト屋にしてもレベル低いな
c++ だって、 instance *inst = new module();
てな感じでインスタンス指定するだろ、無しでどうすんの?

> 入力と出力を分離して・・・
言いたい事は解らんでも無いけど
c だって proc(&parm); とか書けるの許してるから、似たようなもん

要は、習得できない事を棚に上げて文句言ってるだけだな
0378774ワット発電中さん2017/01/28(土) 12:34:00.17ID:PUTlpS25
>>377
>モジュール間の接続はHDLで書かないよ。

やり方の問題で、GUI も使えるってだけだろ。それしか知らないんだろうけど。
その絵だと分かりやすくもないし。
0379774ワット発電中さん2017/01/28(土) 13:03:04.47ID:FjAGDNHT
>>378
いやHDLでも書けるけどさ。
TOPなんてロジックないし配線だけなんだからGUIでよくね?HDLで書く意味あるか?
0380774ワット発電中さん2017/01/28(土) 13:24:50.62ID:WGBfQ2og
>>379
前のバージョンとの差分とか取れるの?
GUIで操作したいとは思うんだけど、ツールに依存する感じも好きじゃないんだよなぁ。
0382774ワット発電中さん2017/01/28(土) 14:22:43.57ID:LPs0O4WE
>374
別次元のことは別次元でやったらいい。インスタンスごとに制約ファイルが
必要か? 必要ならインスタンス名を制約ファイルに書いてもいいじゃないか。
普通は自動生成でいい。3番目のインスタンスならU3でいいだろ。w

>376
馬鹿っぽいな。インスタンス名でアクセスするんならそれでもいい。
両方を書くのがバカっぽいってことだな。

それにしてもC++なんて糞言語は今時つかわんだろ。w
C#やJavaならC++よりも100倍効率がいい。

>c だって proc(&parm); とか書けるの許してるから、似たようなもん

許してるのは禁止すればいいが、HDLみたいに出来ないのでは話にもならん。
0383774ワット発電中さん2017/01/28(土) 14:25:49.35ID:LPs0O4WE
>TOPなんてロジックないし配線だけなんだからGUIでよくね?HDLで書く意味あるか?

ないよ。
しかしそのTOPは小さなTOPだから、そのTOPのTOPのTOPってなると殆どGUIだけだな。
HDLなんて下の下の下の下だけでいい。
0384774ワット発電中さん2017/01/28(土) 15:36:18.73ID:LhTdbKVO
Verilogで、入出力を分けて書くって、こういうことではだめなの?

module hoge_hoge (          // hogehoge回路
                   // 入力
  input wire     clock,
  input wire     RESET,
  input wire [4:0] DipSW,
                   // 出力
  output wire [7:0] LED_Group_A,
  output wire    done
);
      :
      :
      :
      :
endmodule
0385774ワット発電中さん2017/01/28(土) 21:52:30.02ID:LPs0O4WE
定義はそれでいいよ。しかしそのモジュールを実際に配線してみると入出力が
分かれていないと非常に見づらい。

(led[],done) = hoge(clock, reset, dipsw[], selectmod(test, auto, manual) );

こういう記述の方がかなり見やすい。
これでもさらに複雑になると限界はあるけどな。
0386774ワット発電中さん2017/01/28(土) 21:55:31.35ID:LPs0O4WE
 output wire [7:0] LED_Group_A,
こういう表記も統一が取れていない。
 output LED_Group_A[7:0]
こうすべきだろ。ほんとに馬鹿もんだよな。
0388774ワット発電中さん2017/01/29(日) 00:22:02.26ID:tEV18AB0
最後の配線なんてスケマだろうがHDLだろうがどっちでもいいだろ。
複雑なRTLのロジックをHDLで記述するのが目的なんだから。
そんなところしかHDL使わないならスケマでも手書きでも何でもいいよ。
0389774ワット発電中さん2017/01/29(日) 00:49:08.19ID:ThuUamlX
>>385
in outで記述に差がなくわかりにくいというのは同意するが、その書き方はわかりにくい。
その規模なら問題ないが、信号数(引数)が20,30となってくると一つのグループの信号が右と左に分かれて、それが何グループにもなるので、見通しが悪い。
in outの区別はコメントに書くことで対処する。

あと >>386 とかはSystemverilog使うと幸せになれる。
0390774ワット発電中さん2017/01/29(日) 01:07:02.23ID:A8C96QRf
やびゃー
つうかスケマで書けるっけ今のツールって
0391774ワット発電中さん2017/01/29(日) 05:31:08.94ID:OtU/WUAo
>その規模なら問題ないが、信号数(引数)が20,30となってくると一つのグループの信号が>右と左に分かれて、それが何グループにもなるので、見通しが悪い。
>in outの区別はコメントに書くことで対処する。

設計が下手だと、何をやってもだめだな。スケマでも分かりにくい。

>Systemverilog使うと幸せになれる。

こいつは最も罪がでかい。改善というチャンスがありながら本質的問題点がほとんど
改善されていない。テストベンチが多少はましになったくらいだな。
SystemVerilogを作った奴はアフォの中のアフォ。
0392774ワット発電中さん2017/01/29(日) 08:33:39.31ID:rpTsPx76
そもそも電子回路なんだから線がつながるだけで、本来、入力・出力なんて関係ないだろ。
0393774ワット発電中さん2017/01/29(日) 09:51:30.21ID:ThuUamlX
>>392
回路図だって書けるときは信号が左から右に流れるように書くじゃない。
どの向きに信号が流れているかわかりやすいに越したことはない。特に人のコードを見るときは。
0394774ワット発電中さん2017/01/29(日) 10:02:22.55ID:ThuUamlX
そういえば >>385 の記述で双方向のポートはどう記述するの?
左と右両方に書くのか?ポインタ渡しにするのか?
0395774ワット発電中さん2017/01/29(日) 10:26:14.08ID:OtU/WUAo
おっ! 目の付け所がいいな。
2,3案はあるが、どうやって記述したらベストかを少し考えてみてくれ。
0396774ワット発電中さん2017/01/29(日) 11:01:43.08ID:ThuUamlX
いや、わしは今のままでいい派だし…

それよりはエディタが賢くなってその辺をサポートしてくれたらいい
0397774ワット発電中さん2017/01/29(日) 11:26:44.12ID:DhffLbo3
>>395
(実は考えていませんでした・・・)


入出力ポートの記述なんてどうでもいいよね。.* でもいいし。
0399774ワット発電中さん2017/01/29(日) 15:07:04.98ID:A8C96QRf
いやまじでスケマで書いてる奴なんているのかよ
0401774ワット発電中さん2017/01/29(日) 18:44:29.04ID:JbdfqjB+
トップは、回路図で描きたいな。
ISE14:7で、できますか?
0404774ワット発電中さん2017/01/29(日) 19:23:15.77ID:b66wPn0t
wave viewer見るのにおすすめのマウス教えてくれ
ちなverdi
0405774ワット発電中さん2017/01/29(日) 23:15:27.00ID:rpTsPx76
>>395
そろそろアイデアを教えてくれないか?
0407arisa ◆QaHT6HayjI 2017/01/31(火) 02:23:27.95ID:AQVEc4OC
>>377
そう。

GUIで書くのは、レイアウト屋さん。
最も、レイアウト屋さんにその意識がないのがほとんどだけど。
Tclとかで範囲を指定する程度で、あとは配置配線ツールお任せ。

HDLから、手書きでも何でもいいから、図に起こす。
逆もできる技術者は少ない。

そこを理解して金を出す企業もないけどね(笑)

たいていは、そこの思考に至らないで、終了して、自分らができないことに気がつかず求人を出す。
0408arisa ◆QaHT6HayjI 2017/01/31(火) 02:24:11.88ID:AQVEc4OC
>>379
それは、規模が小さいと、HDLでかく意味は無い。
0410arisa ◆QaHT6HayjI 2017/01/31(火) 02:26:50.71ID:AQVEc4OC
>>394
ポインタ(笑)  ポインタってなんですかぁ(笑)
0411arisa ◆QaHT6HayjI 2017/01/31(火) 02:27:59.14ID:AQVEc4OC
>>404
右手に、Windows用マウス。
左手に、3ボタンマウス。
0412774ワット発電中さん2017/01/31(火) 07:12:14.23ID:GtaB5l4b
HDLもスケマも信号数の増大で破綻する。
信号を簡単にまとめたり分けたりする機能が欲しいニャあ。
0415774ワット発電中さん2017/01/31(火) 11:58:42.20ID:HwNocSMB
! と ~ の間違いで、1日填まりました。

分かり易い覚え方を教えてください。
0420774ワット発電中さん2017/01/31(火) 22:00:49.08ID:tXFRYGzJ
inputとinoutは一字しか違わないから
稀に紛れ込んでる。
0425arisa ◆QaHT6HayjI 2017/02/01(水) 20:56:05.46ID:HcYPKqwy
>>424
両刀使いチゴイネ。ボキュにはムリポ(>o<)
0426774ワット発電中さん2017/02/03(金) 23:10:47.84ID:IK5DrpSn
うちの職場では、
音声信号や映像信号にフィルタをかけたりするシグナルパス系は回路図ベース(スケマティック)、
メモリコントローラのような制御系は記述(HDL)で設計するのがやりやすい、なんて言ってたけどね。

実際、自分自身は主にメモリのマルチポート化ロジックなんかをHDLで設計してたけど、
「アービターを回路図で書いてくれ」なんて言われても出来んかったから、
実感としてもそんなに的ハズレな意見じゃないと思う。
0427774ワット発電中さん2017/02/05(日) 18:52:25.30ID:XWPLGVqI
ブロック図を描くことはあるけど、処理の中身を
スケマで書くことはないなあ。

ハードマクロで境界のタイミングをトコトン突き詰めたいとか
そういう需要もあるかも知らんけど。
0429774ワット発電中さん2017/02/11(土) 05:54:27.41ID:IsNGvgYC
>427
建築設計を文書でやろうとするアフォはそんなに多くはないが、この業界に限っては
それが習わし。w 40年前の掘っ建て小屋レベルのロジックなら「HDL最高!!」
だったが、巨大なビルディングが作れるのにHDLはないだろw
0432774ワット発電中さん2017/02/11(土) 12:12:00.57ID:lWHmPa2Z
スケマで書くことは無いが
規模が大きくなると、VerdiのSchematic Viewer程度のモノがないと厳しい
自分で書いたコードならまだしも、他人の書いたコードを一々全部読んでたら日が暮れる
有りと無しじゃ、効率 大違い
0434774ワット発電中さん2017/02/12(日) 03:50:53.13ID:JDlLqGdv
Verilogで、function文の中にfor()は入れられないのでしょうか?
また、function文の返値を2つとか3つとか返すことは出来ないのでしょうか?
0436774ワット発電中さん2017/02/12(日) 17:49:01.90ID:AcsCqshz
ストラクチャに押し込んで返せばいいだろ。Taskってテストベンチにしか使えんだろ。
0437774ワット発電中さん2017/02/12(日) 17:55:13.85ID:AcsCqshz
taskってなんの意味があるねんな。モジュールと何の違いもねえ。ほんとに
馬鹿っぽいな。
0438774ワット発電中さん2017/02/12(日) 17:57:44.17ID:AcsCqshz
>436
ストラクチャは無理だったな。でも余分に100Bitくらいをいつも用意して
そこに突っ込めばいいだろ。
{a,b,c,d,,,,,} = func(,,,,,);
みたいにできるだろ。
0439774ワット発電中さん2017/02/12(日) 19:42:09.35ID:D5tNfn/g
> taskってなんの意味があるねんな。

合成不可となるような、記述でも正しく実行してくれる
ソフトウェア見たいな書き方しても大丈夫なんで、その分楽できる
おっしゃるとおり、テストベンチ用と言っても過言じゃないだろ

>>435 を除いて、テストベンチ以外に使ってるヤツなんか見たこと無いね
0440774ワット発電中さん2017/02/12(日) 20:40:52.07ID:UNDWgZUI
>>434
func={a,b}
取り出しで
assign {a,b}=func ()
で、それっぽくできるよ。
0441774ワット発電中さん2017/02/12(日) 23:10:46.64ID:399lKsLn
>>437
>>439
もう何年も合成ツール使ってないのかな?

スコープ考えれば、function の外側の変数にもアクセスできるハズだけどね。
0442arisa ◆QaHT6HayjI 2017/02/13(月) 15:31:03.48ID:1/EyXYlR
>>439
後でシーケンスマシンに落とし込むの二度手間めんどくさい。世の中がすべてVHDLになればいいのに
0444774ワット発電中さん2017/02/16(木) 15:57:37.68ID:xbd0iLNK
>スコープ考えれば、function の外側の変数にもアクセスできるハズだけどね。

functionは状態を持てないのに、大域アクセスなんかするくらいならファンクション
使う馬鹿いないだろ。w
0445774ワット発電中さん2017/02/16(木) 17:15:17.44ID:Wh1bxlKg
それが、いるんだな
あんたが アンカ付けてるヤツだ、 そいつは task まで使うんだぜ。
0446774ワット発電中さん2017/02/17(金) 20:41:07.78ID:gLt5Llcr
fpgaを使って
Direct Digital Synthesis (DDS)
などで16bit分解能正弦波100khzとか
可能ですかね?
0447774ワット発電中さん2017/02/17(金) 21:14:40.07ID:aylmQKB8
200MHz動作で100kHzは2000サイクル
外部DACがこれで動ければ可能だな
0448774ワット発電中さん2017/02/17(金) 21:57:11.60ID:gLt5Llcr
200MHzで2000サイクルだと
確かに100KHzになりますが
分解能は2000<2^11=2048
なので11bitしかないように
思われますが、
どうなんでしょうか?
0449774ワット発電中さん2017/02/18(土) 00:15:07.28ID:mHJlym7a
パラレル出力だから関係無いと思うけど
0450774ワット発電中さん2017/02/18(土) 02:12:52.62ID:EHRa2wX+
サンプリング定理くらい勉強するべし
0451774ワット発電中さん2017/02/18(土) 04:44:41.85ID:tSpuag3S
100khz x 2^16= 6500Mhz必要だね。
0452774ワット発電中さん2017/02/18(土) 07:21:53.79ID:mSgmpdBw
>>446
16ビット分解能って電圧? それとも周波数?
電圧ならパラレルD/Aなら余裕しゃくしゃく。

DDSのサンプリングクロックはある程度高い周波数にしておかないと、設定値によってかなりひどい波形になるし、
D/Aのスピード、そのクロックで加算できるビット数とのトレードオフになるね。
とはいってもせいぜい数MHzの加算なんてかなり多ビットのものが作れるはず。

妥協点によるけれど、問題ないんじゃない?
0453774ワット発電中さん2017/02/18(土) 12:55:38.12ID:O5klGGOu
DDSの出力のままではガタガタでためてす。
LPFを使うことで、初めてキレイなsin波になります。
LPF使う前提なら、DDSの出力はガタガタでも
問題ないです。
0454774ワット発電中さん2017/02/18(土) 14:01:24.18ID:cPnWuN8U
>452
>16ビット分解能って電圧? それとも周波数?

→電圧です。

//****************************
(分解能=16bit)ならば

 Full-scale-range
(Vref) 4.096V

1LSB
(Vref/2^N) 4.096/(2^16)
=62.5uV
Full-Scale
(Vref-1LSB) 4096mV-62.5uV
(HEX) 0xFFFF

Mid-Scale
(Vref/2) 4096mV/2=2048mV
(HEX) 0x8000

Mid-Scale-1LSB
(Vref/2-1LSB) 4096mV/2-62.5uV
(HEX) 0x7FFF

Zero 0 V
(HEX) 0x0000
//****************************
(分解能=12bit)ならば

 Full-scale-range
(Vref) 4.096V

1LSB
(Vref/2^N) 4.096/(2^12)
=1mV
Full-Scale
(Vref-1LSB) 4096mV-1mV=4095mV
(HEX) 0xFFF

Mid-Scale
(Vref/2) 4096mV/2=2048mV
(HEX) 0x800

Mid-Scale-1LSB
(Vref/2-1LSB) 4096mV/2-1mV=2047mV
(HEX) 0x7FF

Zero 0 V
(HEX) 0x0000
//****************************
0456774ワット発電中さん2017/02/18(土) 14:18:42.59ID:tSpuag3S
電圧の分解能は当然16ビットいるが、それでも0V付近でグわーーーーと
誤差がでるので6.5Gは最低必要になる。6.5Gでかろうじて16Bitと
言える。+−0.5Bitの誤差がでるが、、、
0457774ワット発電中さん2017/02/18(土) 14:20:18.47ID:cPnWuN8U
>453
Filter設計次第で
遅いSample周波数で16bit分解能が
可能ということですか?


(16bit):1LSB=62.5uV
(12bit):1LSB=1mV(=1000uV)

//*******************************
<分解能16bit、Vref=4.096Vの場合>

(電圧)
125uV         ●
     |
62.5uV     ●-------- 
|    |
0V ●--------   
 ↑    ↑ ↑
←   ⇒
     sample周波数=100KHz×2^16

//*******************************
<分解能12bit、Vref=4.096Vの場合>

(電圧)
2mv         ●
     |
1mV     ●-------- 
|    |
0V ●--------   
 ↑    ↑ ↑
←   ⇒
     sample周波数=100KHz×2^12
//*******************************
0458774ワット発電中さん2017/02/18(土) 14:22:10.05ID:tSpuag3S
16Bit 精度のDDSをいうのであれば12Ghzは必要だな。そのうえで超リニアな
DAコンバータで20Bitくらいを用意すべきだろうな。
0459774ワット発電中さん2017/02/18(土) 14:24:48.47ID:tSpuag3S
>Filter設計次第で遅いSample周波数で16bit分解能が可能ということですか?

      不可能だ。
0460774ワット発電中さん2017/02/18(土) 14:37:20.88ID:n1R+blHa
>>459
functionジェネレータなどは
どのくらいの分解能を
持っているんですか?
0462774ワット発電中さん2017/02/18(土) 20:20:15.37ID:mSgmpdBw
どれぐらいのものを目指すのかがよくわからん。
市販のものがどんなスペックを持ってるのかは調べればわかると思う。
ttp://www.keysight.com/ja/pd-1407410-pn-33210A/function-arbitrary-waveform-generator-10-mhz?cc=JP&lc=jpn

詳細がよくわからない人があいまいな質問になるのは仕方がないのだけど、
話をやたら難しい方に傾けて答えるのってどうなん?
0463arisa ◆QaHT6HayjI 2017/02/19(日) 14:22:46.44ID:/jvXlnxF
>>446
可能だと思う。

http://arismusen.com/FPGA/
サンプル置いてます
アナデバとコンパチブルに動く。
ガン治療装置の発信器使ったのと同等。

ビットを無駄に増やしたいなら、CORDICの方が論理規模と面積が小さいかも
0464774ワット発電中さん2017/02/19(日) 20:58:20.44ID:2MpNDv3J
>463
根拠なしに思うだけではだめだな。w
0465774ワット発電中さん2017/02/19(日) 21:04:40.48ID:i+ChgJRO
>>463
それ自分の会社のホームページ?
2chにコテでカキコで、会社情報まで公開って勇気あるな
0467arisa ◆QaHT6HayjI 2017/02/19(日) 21:14:29.38ID:mTUfZGw+
引っ越す3回ぐらい前の住所だな。
VHDL/verilogのオナヌーを見せつける会社じゃねw
0468arisa ◆QaHT6HayjI 2017/02/19(日) 21:20:52.01ID:mTUfZGw+
>>464
リアルタイムスペアナで評価してたけど、周波数ジッタは元のクロックに依存してた気がする。
PLLを利用したEPSONのアレを使わなきゃOK

13bitを超えた辺りから、下位ビットがアナログ設計だと思う。

こんなんでも、1Hz以下の分解能はあった気がする。

無論出力には、エイリアス除去の1/2fカットオフぐらいのLPFは要
0469774ワット発電中さん2017/02/19(日) 23:25:07.22ID:GQ7HLRnt
16bit以上のDACなら200khz動作でOK
1bitDACとして使わないなら16bit分解能はまず無理筋。
1bitDACとして使うなら13GHz動作
0470arisa ◆QaHT6HayjI 2017/02/20(月) 03:14:36.30ID:O5flpAns
>>469
日本語で頼むわw

ΔΣエンコーダ デコーダもあげとこうかな。
HDD漁ってみるわ。ノシ
0471774ワット発電中さん2017/02/20(月) 05:40:07.16ID:xNFlbfHT
エイリアス除去ってなにか勘ちがいしてるんじゃないか? w
0472774ワット発電中さん2017/02/20(月) 15:14:18.31ID:xNFlbfHT
>functionジェネレータなどは どのくらいの分解能を持っているんですか?

「生成信号のピーク電圧の設定精度は分解能16ビットで超高精度で設定可能です。」

ということなら、嘘にはならないし、実用上の問題にもならない。
普通にFPGAで簡単にできる。
しかし無条件に16ビット分解能を保証するのは不可能だという意味に過ぎない。

普通のfunctionジェネレータを購入するならピンキリあるだろうが原発信が
10Gくらいのものを選ぶだろうな。でないと雑誌の付録のFPGAでピョンと
作れるからな。

DDSは無茶苦茶高精度のものが簡単にできるがネックは電圧分解能よりもジッタだな。
原発信が低いとパタパタ、パタパタ、、、、と目ざわりなジッタが出る。
原発200Mhzで100Khzならそんなにめだたないかな。10Mhzくらいになると
「えっ」というくらい目立つ。立ち合い試験ではなるべく低い周波数で
超高精度なところを強調するのがいい。
「周波数の設定精度は0.0001hzです。ピーク電圧の分解能は1uVで超高精度
です。まあ数百万円のファンクションシンセに匹敵する性能を確保しています。」
というように、条件付きで自慢する。しかし10Mhzくらいのところを見られたら
ボロボロだわな。

しかしFPGAをまともに使って作るのは勿体ないだろ、AD9833とかSIN波形を出せる
米つぶ大のが50円くらいでうっていたような気がする。
0474774ワット発電中さん2017/02/21(火) 22:53:27.93ID:8ZFhzZa8
源振を割り切れなければ、正弦波でも波形の再現性が崩れて
ジッターのように見える。
200k:100kだと周期ずれを原因としたジッターは現れない。
20M:99kとかだとどうだろうね?PLLで吸収するかってことになったり。
0476arisa ◆QaHT6HayjI 2017/02/22(水) 01:03:22.24ID:fqPPOChG
>>471
おまいは、1/10fぐらいのLPFを出力につければ波形がより正弦波に近づくと言いたいんでしょう。
わたしわかります。
0477774ワット発電中さん2017/02/23(木) 05:51:05.51ID:A6j3E8j2
modelsimって文字数制限あるんだ。pls1msec_outてのがどうしてもWave波形で
不定になる。文字数をpls1msにしたら、あら不思議。治った。w
糞sim
0478774ワット発電中さん2017/02/23(木) 13:10:17.48ID:SpsgasPl
メモしとこ。
0479arisa ◆QaHT6HayjI 2017/02/24(金) 03:01:43.88ID:K1DD/f2A
>>477
文字数制限じゃないよ。オレサマもっと長い名前つけてる。

バグじゃね?メンターに報告した方がヨクネ
0480774ワット発電中さん2017/02/24(金) 06:55:05.50ID:ageLrZTD
>479
えっ、そうなの? 
alteraの無料バージョンについてるmodelsimのことだけど、別のバージョンじゃない?

modelsim altera starter edition 10.0b
0481774ワット発電中さん2017/02/24(金) 06:58:12.21ID:ageLrZTD
無料だから文字数制限付きなのかも。
0482774ワット発電中さん2017/02/24(金) 08:58:23.38ID:ageLrZTD
動かんw なんで?
re[1:0] <= {re[0],rd[3]};

Error (10133): Verilog HDL Expression error at addctl.v(162):
illegal part select of unpacked array "re"
0483arisa ◆QaHT6HayjI 2017/02/24(金) 12:40:00.01ID:Ww1oMPT3
>>480
バージョンは違うけど、わしもアルテラスターター VHDL verilog混在の奴
0484arisa ◆QaHT6HayjI 2017/02/24(金) 12:43:10.93ID:Ww1oMPT3
>>482
ワイヤーで別名。
re[3]<= が同じalways(process)にない
0486774ワット発電中さん2017/02/24(金) 21:54:25.62ID:ageLrZTD
>485
ご名答!!!
0488774ワット発電中さん2017/02/24(金) 22:02:49.14ID:9I4wOD+6
AlteraのModelSimっていつの間にか混在Sim出来るようになったんだな
0489774ワット発電中さん2017/02/24(金) 23:13:08.50ID:s/oMUxsf
QuartusR II v15.0 対応の ModelSim-Altera 10.3d(Starter Edition を含む)より、
言語 (VHDL/Verilog HDL/SystemVerilog) 混在シミュレーションがサポートされています。
0490arisa ◆QaHT6HayjI 2017/02/26(日) 06:11:17.11ID:wzan88Q0
FFTとか計算しまくりのIP使わず

半導体会社レベルの低機能な設計なら、これで十分ですよw
0491774ワット発電中さん2017/02/26(日) 07:33:53.70ID:xXmYr/+l
意味不明だが、「FFTはIP使った方がいいよ」ってこと?

FFTはソフトでしかやったことないな。w 
でもDSPだったらIPより速いんじゃないだろうか?
0492774ワット発電中さん2017/02/26(日) 07:36:28.90ID:xXmYr/+l
これはなんでエラーになるんや?
わけわかめ

module add_out(run, phase, ct3600, madd);
input run;
input [11:0] phase;
input [11:0] ct3600;
output [11:0] madd;

reg [12:0] maddx;
reg dumy_cy;

always @(run or phase or ct3600) begin
maddx = 13'b0_0000_0000_0000;
if (run) begin
maddx = {1'b0, phase} + {1'b0, ct3600};
end else begin
maddx = {1'b0, ct3600};
end
end
always @(maddx or dumy_cy) begin
if (maddx >= 13'd3600) begin
{dumy_cy, madd} = maddx - 13'd3600;
end else begin
madd = maddx[11:0];//ここでエラーする。
end
end
endmodule
0493774ワット発電中さん2017/02/26(日) 07:37:36.28ID:xXmYr/+l
これならOKだ。
assingn  {dumy_cy, madd} =   (maddx >= 13'd3600) ?  maddx - 13'd3600  :  maddx[12:0];

module add_out(run, phase, ct3600, madd);
   input run;
   input [11:0] phase;
   input [11:0] ct3600;
   output [11:0] madd;
   
   reg [12:0] maddx;
wire dumy_cy;
  assign  madx = run ? {1'b0, phase} + {1'b0, ct3600}
 : {1'b0, ct3600};

  assign   {dumy_cy, madd} =   (maddx >= 13'd3600) ?  maddx - 13'd3600  :  maddx[12:0];
endmodule
0495774ワット発電中さん2017/02/26(日) 08:29:08.35ID:W3bN3ejP
↑の馬鹿だと、せいぜいこの程度の事しか言えない

>>ID:xXmYr/+l
答え: reg [11:0] madd; <- の一行を加える

記述も怪しいから、もう少し勉強するんだな
0496774ワット発電中さん2017/02/26(日) 08:53:15.17ID:xXmYr/+l
なんでやねん。output [11:0]madd;があるだろ。w
0497774ワット発電中さん2017/02/26(日) 08:55:00.23ID:xXmYr/+l
>494
 同じ動作してるよ。w
0498774ワット発電中さん2017/02/26(日) 08:59:02.51ID:xXmYr/+l
signal tap を使うときpost synthesisと pre synthesisがあって、見たい信号が
post synthesisにでてこないんだが、pre synthesisで選ぶとなにか問題があるの?
 合成完了してるのに「合成前の信号」を出してくる神経がわからんのだが、、
0499774ワット発電中さん2017/02/26(日) 10:10:44.01ID:xXmYr/+l
>493
コンパイルはOKでも合成すると7:0ビットがGNDされる。w
なんでや?
0500774ワット発電中さん2017/02/26(日) 10:11:01.90ID:xXmYr/+l
でこうするエラーする。
function [11:0] f_madd;
input [12:0]maddx;

wire [11:0]madd;//こいつがエラーなんで?
wire dumy_cy;

if(maddx >= 13'd3600)
{dumy_cy, madd} = maddx - 13'd3600;
else
{dumy_cy, madd} = maddx[12:0];

assign f_madd = madd;
endfunction
0501774ワット発電中さん2017/02/26(日) 10:15:47.64ID:xXmYr/+l
?って8bitしかだめなんか?
0503774ワット発電中さん2017/02/26(日) 10:47:41.71ID:Hsxm9kjr
>>492
always @(maddx or dumy_cy) begin
のdumy_cyはいらないと思う。
エラーの原因ではないと思うけど。
0505774ワット発電中さん2017/02/26(日) 10:56:11.44ID:xXmYr/+l
これでもエラーするよ。w


function [11:0] f_madd(input [12:0] maddxx);
begin
reg [12:0] mm;
if(maddxx >= 13'd3600)
mm = maddxx - 13'd3600;
else
mm = maddxx[12:0];

assign f_madd = mm[11:0];
end

endfunction
0506774ワット発電中さん2017/02/26(日) 11:03:30.83ID:xXmYr/+l
最後のassignのところでエラーになる
Error (10043): Verilog HDL unsupported feature error at Z_addctl.v(181): Procedural Continuous Assignment to register is not supported
0507774ワット発電中さん2017/02/26(日) 11:05:45.77ID:xXmYr/+l
wireで定義したらエラー、でregで定義したらwireで定義しろという。どうしろ
というねん。
0508774ワット発電中さん2017/02/26(日) 11:08:20.33ID:xXmYr/+l
>503
いやdumy_cyが肝なのよ。もともと12Bitをオーバーフローする計算になるので
それを12Bitにしたいわけ。

でdumy_cyを止めてビット増やして
reg [12:0] mm;
これにしたのが505だよ。
0509774ワット発電中さん2017/02/26(日) 11:14:50.53ID:xXmYr/+l
駄目やな。馬鹿function、使い物にならん。
0510774ワット発電中さん2017/02/26(日) 11:24:31.39ID:xXmYr/+l
はああああああ、疲れる。
 Very疲れる。
 verilog使うと疲れる。
 Very,Very疲れる。イグぞーすでぃっど、、、
 はあああ、疲れる。
 VeryVeryVeryVeryMuchmuchmuch 疲れる。
0511774ワット発電中さん2017/02/26(日) 11:36:51.12ID:xXmYr/+l
dumy じゃなくてbakaにしてみたら通った。エラーが出ないぞ。w
output [11:0] madd;
wire baka;

assign {baka,madd} = f_madd(maddx);

function [12:0] f_madd(input [12:0] maddxx);
begin
if(maddxx >= 13'd3600)
f_madd = maddxx - 13'd3600;
else
f_madd= maddxx[12:0];
end
endfunction
0512774ワット発電中さん2017/02/26(日) 11:45:56.90ID:Hsxm9kjr
>>492>>495 の言う通りregを追加しろ
functionの中でassignは使えないんじゃね?
functionの中はブロッキング文しか使えないと思うよ。
0513774ワット発電中さん2017/02/26(日) 11:55:43.35ID:xXmYr/+l
>エラーメッセージは何なん?

 assign   {dumy_cy, madd} = (maddx >= 13'd3600) ? maddx - 13'd3600  :  maddx[12:0];
これスマートでしょ。これはエラーは出ないよ。
しかし正常に動作しない。
いつまで待ってもZeroしか上がってこないのでRTLViewwerで見たらmadd[7:0]が
GNDにスタックされていた。

スマートに書いたら、合成がいい加減でGNDに配線する。Function使ったらテコでも
エラー。
0514774ワット発電中さん2017/02/26(日) 12:09:19.96ID:W3bN3ejP
always @() ...
の中では、 左辺は reg しか許されない
0516774ワット発電中さん2017/02/26(日) 18:41:51.49ID:xXmYr/+l
>514
reg、Wireの弁別の怪しさを改善したつもりの
 System VerilogだとLogicが使える筈なのだが、テストベンチのTemplateWriter
が使えなくなるという情けないコンパイラ。
0517arisa ◆QaHT6HayjI 2017/02/27(月) 01:57:23.79ID:qMGHu+G+
ツッコミどころ満載の初心者ソース何とかしろ
0518774ワット発電中さん2017/02/27(月) 04:58:50.61ID:WyvSpZ40
誰だって最初は初心者だろ
それともお前は生まれた時からVerilogHDLしゃべってたのか?
0520774ワット発電中さん2017/02/27(月) 09:20:29.32ID:ysUVAV4/
カウンタを一つ多く回して、理由がわからずにハマる。
初心者あるあるですねぇ。
0521774ワット発電中さん2017/02/27(月) 11:02:51.25ID:/f9oldZT
>always @() ... の中では、 左辺は reg しか許されない

alwaysを組み合わせロジックに使うのは気持ち悪い。
Functionの方がいい。
でもFunctionも制約が多い。結局のところごく小さなもの以外は使えない。
そこで新たなルールを考えた。

1.moduleを積極的に使う。
 module毎にファイル分けをするんが普通ぽいが一つのファイルにmoduleを
 10個おいても何ら問題ない。
 一つのファイルにはメインとなるのが一つあって、それ以外にこういうサブ的に
 つかうのをLocalモジュールとする。
 
2.alwaysを組み合わせロジックに使わない
 勘ちがいがおきやすい。間違いを誘発する。
 組み合わせロジックはFunctionを使うことにする。しかしFunctionで表現しきれない
 場合はmoduleにする。

ローカルモジュールの例
module bus_sel(
input [2:0] sel,
input [7:0] a, input [7:0] b, input [7:0] c, input [7:0] d,
output [7:0] out
);

assign out = sel[2] ? d :
sel[1] ? c :
sel[0] ? a : b;
endmodule
モジュールにするメリット
 RTL Viewerで綺麗に表現されるという★絶大なメリットがある。
なのでAlwaysやFunctionを使わずにモジュール化したほうがいい。
0523774ワット発電中さん2017/02/27(月) 11:39:18.58ID:/f9oldZT
>522
どんなメリットがある? 大したメリットがないように思うが、、
テストベンチではSystemVerilogはかなり改善されて強力になっているので
SystemVerilogをつかうのが当然だと思う。
0524774ワット発電中さん2017/02/27(月) 12:08:38.09ID:bgn9qdcV
2ちゃんの書き込みを真に受けないほうがいいよ。
0525774ワット発電中さん2017/02/27(月) 12:08:56.77ID:NXVOo0vJ
>>523
logicでreg, wireの意味のない使い分けをせずに済むし、always_combを使えば確実に組み合わせ回路を記述できる。
0526arisa ◆QaHT6HayjI 2017/02/27(月) 12:26:39.34ID:qMGHu+G+
>>518
そうだよ。ボキュの親に確認したらわかるよん
0527774ワット発電中さん2017/02/27(月) 16:47:13.11ID:WyvSpZ40
>>526
確認するから親の名前と住所と電話番号を教えてくれ
お前に兄弟がいる可能性もあるからお前の名前も併せて教えてくれ
0528arisa ◆QaHT6HayjI 2017/02/27(月) 17:34:27.74ID:mUqZUYi6
>>527
2chの管理者への問い合わせも出来ないのか
0529774ワット発電中さん2017/02/27(月) 18:02:10.30ID:/f9oldZT
>525
 そういうことですか。
実はSystemVerilogでコンパイルはしていたのだが、TestBenchのテンプレートが
できないのでまたもとに戻してしまった。

しかーーし、それとは別にVerilogはヤバいね。多分SystemVerilogに変えた方がいいね。

たとえば、2portramの出力が8ビットあるのにどうしても上位の7bitが消えてしまう。
あちこち回路をぶった切って最終的に突き詰めたら
そしたら原因はwire宣言の忘れだった。というか宣言しなくてもいいはずだよね。
一か所だけ宣言漏れがあって
wire [7:0] qdout;
これをついかしたら治った。

多分TOPレベルのワイヤー定義ってなくても接続してるしエラーは出ないが、時に
トンデモナイことが起きるように設計されている。verilogだと。

恐ろしや。ベテランの皆さんはこんなもんでよく開発をやってるなー。
SystemVerilogにはこんなのがないことを期待して、、、、原因究明したので今日は
映画見に行くぞ。LA LA LAND
0530774ワット発電中さん2017/02/27(月) 18:16:07.34ID:/f9oldZT
513のエラーってひょっとすると?:のビット数制限ではなくて、Wire宣言の漏れ
とかかな? 不可解なことが起こり過ぎ。w
0531774ワット発電中さん2017/02/27(月) 18:17:56.23ID:D4qa9je0
昨日のヤツか?
そんなレベルなら、エラーうんぬん以前に warning が山のように出てんだろ

それを無視して、 エラーさえ無けりゃOK ってか?
単に、オマエが無知だけだ
0532774ワット発電中さん2017/02/27(月) 18:53:08.92ID:/f9oldZT
確かに。見る気が失せるほどワーニングが出てるな。

Warning (10036): Verilog HDL or VHDL warning at Z_addctl.v(157): object "baka" assigned
a value but never read

wire baka;

assign maddx = f_maddx(run,phase,ct3600);
assign {baka,madd} = f_madd(maddx);

こういう馬鹿避けの部分ってワーニングのサプレスできんの?
0533774ワット発電中さん2017/02/27(月) 19:07:47.26ID:/f9oldZT
Warning (332060): Node: gclk was determined to be a clock
but was found without an associated clock assignment.

assinmentediterでGlobal Signal Global Clockをアサインしてるのに何でWarning
がでるん。w
0534774ワット発電中さん2017/02/27(月) 19:12:25.23ID:/f9oldZT
というかだれも答えられんやろ? だいたい作ってるAlteraですら分からんだろから
にWaraningなんて全部潰せるわけがない。w

どうせぐちゃぐちゃのつぎはぎだらけのプログラムで誰一人として全容を理解して
いない。行き当たりばったりのつぎはぎだらけのコンパイラなんだから、Warning
なんて細かいことを言っていたら先へすすまんよ。

 
0535arisa ◆QaHT6HayjI 2017/02/27(月) 19:40:48.70ID:bFoItma9
>>534
誰もわからないだろと自慢したら、誰も答えてくれない。
その企業さんで、猿山にのぼっていると思っていらっしゃるのならば、幸せで裏山しいですね。
0537774ワット発電中さん2017/02/27(月) 21:20:42.49ID:/f9oldZT
教えると上達するんだぜ。w
教え上手な人は本質をついているから分かりやすい。しかも人としてのレベルも高い。
まあ人としても上達するんだね。w
0538774ワット発電中さん2017/02/27(月) 21:41:28.52ID:lafFc56n
教えられた方は上達しない。
自分で考える能力が、元々無いのに余計育たなくなってしまうのさ。
0539774ワット発電中さん2017/02/27(月) 22:06:08.50ID:z7vnK5up
HDLの処理系と統合開発環境の使い方がまだよくわからん

時間がたら〜〜〜〜ん

ああああああああああああああああ

FPGAの勉強がしたい......
0540774ワット発電中さん2017/02/27(月) 22:09:06.89ID:z7vnK5up
メーカー指定のケーブルじゃなく
FT2232で書き込もうとして電圧レベル間違えて

Verilog がいかんのかチップがいかれたのかわからんくなった

はじめてのチップで初めての言語を勉強するのつかれるw
0541774ワット発電中さん2017/02/27(月) 22:52:23.14ID:UTmP74a/
>> Verilog がいかんのかチップ・・・
+ Config 間違えてるのか

1万円ぐらいだから、素直にTerasicでも買えよ
0542774ワット発電中さん2017/02/28(火) 00:13:22.77ID:I79IBZUL
>> Verilog がいかんのかチップ・・・
+ Config 間違えてるのか

3万円ぐらいだから、素直にUSB blaster買えよ
0543arisa ◆QaHT6HayjI 2017/02/28(火) 05:07:19.99ID:Dcm9oVfw
MAX232C のチップとか使ったことないのか。中学生のころアキバでかっただろう。そして、秋月へ。
0544arisa ◆QaHT6HayjI 2017/02/28(火) 05:09:13.61ID:Dcm9oVfw
>>540
Verilogがいかんのか、シミュレーターでわかるだろ。
試験仕様書を書いて、テストパターン何個つくったのかと小一時間。
0545774ワット発電中さん2017/02/28(火) 05:11:02.82ID:Vgpn6quz
新しい言語勉強してワクワクなのにダルイ仕様書なんか書くわけねーだろ
お前バカじゃねーの?
いやバカだろ
0546arisa ◆QaHT6HayjI 2017/02/28(火) 05:22:49.85ID:Dcm9oVfw
なんだ。
ただの趣味か。
バカはバカ同士で仲良くやってなよ。
0547774ワット発電中さん2017/02/28(火) 05:56:55.70ID:T1Asao5M
>540
同士よ。出だしで躓いておるなー。w
Max10、ライター、DVD付、FPGA電子工作スーパーキット
俺はCQのこれ買った。

潰したのなら、CQをもう一冊かったら?
苦労した分勉強になるで。 素直には動かんけど。w
CQのハードはすっと動くことはあまりないな。情報が洩れていたり欠けて
いたり、ハードに問題があったり、誤植があったりと、、、
いざ動かそうと思ったら、クロックがついてない。メモリーが付いてない。
コネクターがついていないというパチモン以下。w
 やっと全部そろえて電源を入れたら、どうもおかしい。よーく調べてみると
電圧を間違えて加えたみたいでパー。
チャンと3.3Vって書いとけよと思っても後の祭り。

だからこんどは2冊買いなさい。そうしたら安心して実験できる。
しかしそうやって苦労してLedチカチカをマスターしても次に立ちはだかる
Verilogの壁がある。これはCQの壁よりももっと凄いよ。w
なんせエラーも出さずにビットを勝手に消してくれる。
0548774ワット発電中さん2017/02/28(火) 06:18:48.54ID:T1Asao5M
Verilogみたいな糞言語をマスターするには仕様書は欠かせない。メモでもいいが、、
Imaginationだけでスイスイやっていこうとすると躓く。
一歩一歩Step by stepで確実にやっていかないと電源の接続を間違うとか、wire
を忘れるとか、、、0も1'b0って書いておかないとご親切にワーニングの海になる。w
それだけおせっかいなのに大事なことは教えてくれない。「ビット削除しましたよ」
とお知らせがあってしかるべきなのに、平然とビットを落とす。

御節介を黙らせるにはどうするか?
「メッセージ抑制の制御」というのがあって、ここにルールを書いておくと黙る。
こういうノイズを先に消すのがいい。Suppretion Managerだが、これもかなり危険な
ところがあってよくバグる。
「どうにもなりません。ドカン」と赤いマークをだしてすべてを優先して落ちる。
まあ、これだけバグがあるということは誰もあまり使わないのだろうな。
0551774ワット発電中さん2017/02/28(火) 06:56:54.92ID:T1Asao5M
>550
なやみ、、だったのか? 一瞬「脳みそが、なくなる」に見えた。
下には下がある。VHDLに比べたらVerilogはマシだ。
0552774ワット発電中さん2017/02/28(火) 07:18:51.74ID:T1Asao5M
しかし見方を変えると、この糞っぷりは参入障壁にもなる。素人が安易に
参入しようとしても糞の堀に足を取られてなかなか参入出来ない。外堀にCQの糞堀
があって内堀にはVerilogの糞堀がある。なのではるかかなたの楼閣は益々高く聳え
て人々の憧れの的となる。安っぽいハードでも時間チャージ1万円とか取れるのは
FPGAくらいなもので、PICとかあまりにも親切なツール満載なので素人の参入が
著しい。必然的に値崩れして時間2000円くらいで王将の皿洗い並みになっている。
0553arisa ◆QaHT6HayjI 2017/02/28(火) 07:29:50.75ID:Dcm9oVfw
>>551
目医者と心療内科にいったほうがいいで。仕事のしすぎやでw
0554arisa ◆QaHT6HayjI 2017/02/28(火) 07:31:16.07ID:Dcm9oVfw
>>552
王将の皿洗いが、今の半導体業界だな。
幸楽苑でもつくって、ボキュと握手させればOK
0555arisa ◆QaHT6HayjI 2017/02/28(火) 07:35:43.52ID:Dcm9oVfw
>>552
深掘りに、橋を作って通行料をとるのが、今の現状。何処の会社かは言わないw
深掘りを埋めようとしているのが、パソナテック。ただし安く雇うとする。
埋めようとしている脇で、一夜城をつくればOK
0556774ワット発電中さん2017/02/28(火) 09:17:59.05ID:2iyUzYJF
言語への不満を散々書いてるけど、世間はそれを使って大規模なASICを普通に作ってるわけで、自分の能力がないことを晒してるだけだね。
初心者が使いやすいかどうかではなく、何を実現するかが重要。
0559774ワット発電中さん2017/02/28(火) 16:12:43.82ID:finGvX/E
まずは論理式や論理回路とかの勉強じゃね?
回路わかってりゃ後は繋げりゃなんとかなるだろ?的に取っ掛かりはあるのだし
0560arisa ◆QaHT6HayjI 2017/02/28(火) 18:29:57.79ID:SH6dJ+Tw
FFの位置とか、設計書に書けるには、だいぶ時間がかかりそうだなぁ。ガンガレ
0561774ワット発電中さん2017/02/28(火) 22:08:45.60ID:+QqQAmYF
初心者でも頑張ってvelilog書くんだよ。文句言いいながらでも理解を深めていくしかない。
それが出来ないなら諦めるしかない。言語のせいでなく本人の問題。
0562774ワット発電中さん2017/03/04(土) 16:08:03.29ID:znF9Uk1T
自分で言語を作れない奴は文句言う資格なし
以上。
0563774ワット発電中さん2017/03/04(土) 16:27:40.81ID:u9SS7Le8
よう、馬鹿ちょん
0564774ワット発電中さん2017/03/04(土) 16:35:55.51ID:HuMKC6/W
自分でCPUを創りたい、OSを創りたい、言語を創りたい・・・

まぁ、技術系中二病ですな。大人になれば卒業しますよ。
0567774ワット発電中さん2017/03/04(土) 17:53:41.31ID:45Nu+W7d
>まあ初心者が使うもんじゃないからな

>じゃあ、初心者は何を使うんだ?
笑った。そりゃそうだ。どんな言語にも入門の段階があって、その時点では初心者だもんね。

>>557が言いたかったのは、カジュアルユーザーが齧る言語じゃない、って感じだろね。

>>564
>自分でCPUを創りたい、OSを創りたい、言語を創りたい・・・
本当にこういう意思を持ってるなら、大人になっても卒業しないでいてくれて良いのでは?
力があれば画期的なものが生まれるよ。そこを感動が薄くなった「大人な人たち」が揶揄していたら
数少ない「出る杭」を知らず知らずのうちに潰してしまうことになりかねないし。
0568774ワット発電中さん2017/03/04(土) 18:46:32.09ID:74QmY98C
>自分でCPUを創りたい、OSを創りたい、言語を創りたい・・・

どれも普通に大学の講義でやるよ。完成できないと単位がもらえない。w
0569774ワット発電中さん2017/03/04(土) 19:03:39.88ID:cJQSrKpR
自分ができないことに対してすぐ文句言うやつは無能の法則
0570774ワット発電中さん2017/03/04(土) 19:32:51.46ID:znF9Uk1T
誰だって最初は初心者なのであって、スキルを持っている人は
過去に自分の無能さを素直に受け入れそれに対して愚直に努力してきた人
0573774ワット発電中さん2017/03/05(日) 02:01:59.90ID:BRtSxtG9
教えてもらえて当然と思ってる奴いるけど何なの?
で、教えてあげたら今度はこんなの簡単じゃんとか言い出して調子に乗り出す…
0574774ワット発電中さん2017/03/05(日) 11:19:28.52ID:+t5SGWfW
>>564
designware とか使えば割と簡単じゃないの?
Xtensa とかでもいいけどさ。
0576774ワット発電中さん2017/03/06(月) 18:12:23.44ID:p9fn9hrK
CPUもOSも言語も作りたいとは思わないが
スケマCADは作りたくなるねパクリCADかもしれないが
0577774ワット発電中さん2017/03/07(火) 08:50:38.97ID:giTKZ2gw
みんな何かしらの車輪は作りたいと思うもんよ。
0578774ワット発電中さん2017/03/07(火) 08:53:42.57ID:9foQv4sT
最初の勉強はそこからだしな
そこを否定しちゃう人って多分実際に何もしてない人だと思う
0579774ワット発電中さん2017/03/07(火) 14:58:05.93ID:LeafpTR9
創りたいと基礎を理解することは違いますよ。
CPU、OS、言語なんか乱立されても開発者、ユーザーにとっては迷惑でしかないんですよ。
公開せず自分一人で使う分には構いませんけどね。
0580774ワット発電中さん2017/03/07(火) 15:10:35.21ID:9foQv4sT
迷惑とか何様w
0581774ワット発電中さん2017/03/07(火) 15:46:29.00ID:WzChICTD
cpuはねぇ
結局、使ってるプロセス同じなら
どんだけ演算器扱き使えるか
データ転送出来るかだからなぁ

osにしろ言語にしろ、cpuもそうだけど
アセンブラから自力で用意するってのは一回やってみりゃ
満足する人が大半だろう
趣味で幾つも作る人ってのも時々いるけどね
0582arisa ◆QaHT6HayjI 2017/03/07(火) 17:49:02.92ID:JllEpARg
CPUみたく、大きな事を小さく分割してコツコツやればスゴイって事が、つくればわかるでしょ。それでええやん
0583774ワット発電中さん2017/03/07(火) 18:19:57.74ID:LeafpTR9
確かに説明すれば分かる人と説明されてもやってみないと分からないという人はいるな。
それはデータシート読む人と読まないで質問する人ではなかろうか。
0584774ワット発電中さん2017/03/07(火) 18:27:59.49ID:crzqUro7
>579
たしかにVerilogなんて基礎はバカチョンで理解できるが、いざ作ろうとすると予想した時間の
100倍くらいかかるな。w

先ず開発環境が糞で動かない。
Verilogが糞で、ちょっとモジュールの配置を変えようとか、構成を変えようとか
御触り程度のことでまる一日勾留されてしまう。腹立つーーーーー。
0585774ワット発電中さん2017/03/07(火) 18:30:26.36ID:crzqUro7
まあ鉄を削ってエンジンを試作するよりは楽やな。w
0586774ワット発電中さん2017/03/07(火) 18:35:10.60ID:crzqUro7
モジュール間の1bitのワイヤー接続はWire宣言は省略可能ってのがあるんだよな。
呆れるわ。w 
おなじことするのに多ビットでも省略可能にしろよな。
0588774ワット発電中さん2017/03/07(火) 19:48:23.74ID:crzqUro7
仕事があまりにもはかどらないので欝病にでもなったかと思ったよ。だから
こんな言語をやろうなんて思わんほうがいい。
0589774ワット発電中さん2017/03/07(火) 20:07:14.87ID:cJXecmUt
>>578-584
あえて年寄りくさいことを言わせて貰えれば、

「知る」と「できる」とは全く別物。
得た知識を実際活用しようとしてと、なかなか上手くいかないことはよくあること。
それは実際に経験してみないと分からないことがどうしてもあるから。
要は実践が大事ということ。
実践の中で練られた知識は価値があるものとなる。これを見識という。
さらに、大きな効果を発揮するには、多くの人と協力していく必要が生じる。
そのためには様々な調整も必要になる。
時には実行を妨げる問題や障害も出てくるだろう。
そんな状況でも、一番大切なことを軸に何とかことを進めていく経験が忍耐力や根性を養う。
これを胆識という。

知識を見識に引き上げ、さらに胆識にまで高めたいものである。
0590774ワット発電中さん2017/03/07(火) 21:09:41.09ID:crzqUro7
精神修養にはいい言語かもしれんw 
これを使いこなせたら大したもんや。(精神力においてはな、、、)
0591774ワット発電中さん2017/03/07(火) 21:51:25.94ID:DrzFwa3C
>>584
最近半分趣味でいじりはじめて正にそんな状況。
テストベンチの重要さとかソフトのユニットテストよりも
実感してて本を読み直しつつ試行錯誤してる。
でも、なんかこういうローレベルな所から思考をするのは
勉強になって良いね。もっと早く手をつけておけば良かった。
0592arisa ◆QaHT6HayjI 2017/03/08(水) 00:56:02.47ID:sL4rsrET
>>584
>>579
>たしかにVerilogなんて基礎はバカチョンで理解できるが、いざ作ろうとすると予想した時間の
>100倍くらいかかるな。w

>先ず開発環境が糞で動かない。
>Verilogが糞で、ちょっとモジュールの配置を変えようとか、構成を変えようとか
>御触り程度のことでまる一日勾留されてしまう。腹立つーーーーー。

お前の設計力が足らないだけだw
0593774ワット発電中さん2017/03/08(水) 02:30:44.71ID:TScuv8dk
多分な。w
俺が発想して下請けのお前がVerilogでコチコチ作り上げるというのがベストだな。
0594774ワット発電中さん2017/03/08(水) 05:05:22.70ID:GoxodW4M
https://goo.gl/ZRULYX
これ本当なの??
普通にショックだよね。。
0596arisa ◆QaHT6HayjI 2017/03/08(水) 06:25:25.22ID:sL4rsrET
>>593
設計力がない上に、設計書すら書けないアホには、月120万円出すならやってあげてもいいぜw
0597arisa ◆QaHT6HayjI 2017/03/08(水) 06:34:40.55ID:sL4rsrET
>>593
金がないなら、自分でやれやこのボケ。
お茶ぐらい出せと小一時間。
0598774ワット発電中さん2017/03/08(水) 07:51:58.57ID:TScuv8dk
お前レベルで月120万もとれるというのはやっぱりFPGAは儲かるんだな。
0599arisa ◆QaHT6HayjI 2017/03/08(水) 08:17:13.53ID:sL4rsrET
>>598
ソニーですら出してくれないよ。お前バカなの死ぬの?
0600774ワット発電中さん2017/03/08(水) 08:20:39.27ID:TScuv8dk
嘘つくな。新規参入を警戒してるな。w
0601774ワット発電中さん2017/03/08(水) 08:31:48.14ID:TScuv8dk
月120万か。まあまあだな。心配すんな。俺はFPGAはメインではやらない。
効率悪すぎだ。
かりに1人月60万で「お安いですよ、でへへへへ」と受けて、半月で完成すれば
いいだけだものな。しかし今の俺だと半年くらいかかりそうだから、人月10万に
しかならない。
0602arisa ◆QaHT6HayjI 2017/03/08(水) 09:25:12.99ID:bi2l4qJR
>>601
お前の態度が悪いから、お前の場合は120万円。
ルネ○スの場合は160万円。
一般的には80万円。
月額

嫌なら自分でやれや。このボケ。
0603774ワット発電中さん2017/03/08(水) 09:41:10.47ID:zEw+C8bu
上に、いっぱい書いてあるだろ
読めないのか? 糞チョン
0604774ワット発電中さん2017/03/08(水) 12:19:32.30ID:TScuv8dk
山のようにでていたワーニングが全くでなくなった。全部グリーン文字だ。
で今コンパイルしたら青で「ネットがつながってません」ってのが出たので確認したら
確かにつながっていなかった。

弄ってるうちにどっかの設定を触ったのだろうか? こんなに急激に腕が上がるとは
かんがえられない。w
0605774ワット発電中さん2017/03/08(水) 15:40:24.21ID:GoxodW4M
https://goo.gl/Nximd0
これ本当??
普通にショックだね。。
0607arisa ◆QaHT6HayjI 2017/03/08(水) 21:13:58.43ID:sL4rsrET
工業高校とか、工業大学で道徳でも教えた方が良いんじゃなかろうか。
業種変えても、自分が変わらないとムリだからw
0608774ワット発電中さん2017/03/09(木) 02:33:16.32ID:CVBAvCSj
>607
そうだよ。arisaもそういう工業高校に行きなさい。
0609arisa ◆QaHT6HayjI 2017/03/09(木) 03:11:34.95ID:8nfEuhIG
>>608
治外法権で自由な、国立東京工業大学工学部附属工業高等学校に行ってた。
道徳は、同級生から習ったなぁ。
学校のCanBeに、自作のウイルスを置いておいて。オレ様が地雷を踏んだら、お前が悪いと言い出して、裏で「実験は成功した」とか書いてて暗号化したつもりの文章を、破ったりいろいろ遊んでたけど。
verilogバカにするなら、時代をさかのぼってリレーでFFつくったり。-24VのPNPトランジスタでFFつくったりして、CPUがつくられる前の時代を追いかけてみたらいいんじゃないかな。
後者は電卓技術教科書 シャープさんが書いてるし。
そのあとに、嶋正利さんの4004/8086/Z80だけど。
温故知新すると。ああ人間って以外とバカなんだなぁと気づく。
そこに気づけるか否かだよ。気づかない人は、平気で土足で荒らして、言いたいことを言って逃げる。
今私が大手電機メーカーに突きつけているようにね。
0610774ワット発電中さん2017/03/09(木) 03:32:08.12ID:dz1ziU/v
なげぇ自己紹介だな
0612arisa ◆QaHT6HayjI 2017/03/09(木) 03:46:14.66ID:8nfEuhIG
増設したところで、FIFOのALMOST_FULLフラグが立ったら捨てるしかないしな。

捨ててもいい分野とそうでない分野があるので、

使い分けるのは、設計者の自由なのでそういう仕様書と設計書をフリーダムに書けばOK

書けなかったり、描けない奴は、能無しだ。
0613774ワット発電中さん2017/03/09(木) 09:01:27.67ID:CVBAvCSj
ちなみにSygnalTapIIのメモリー確保が厳しいのだが外部にメモリーつけて信号サンプル
した信号を出して観測する方法とかないか?
512サンプルしか確保できないので500K(1000倍)ぐらいをサンプルしたい。
うまくSygnalTapIIの設定と連携する方法はないだろうか?
0615774ワット発電中さん2017/03/09(木) 11:45:10.26ID:m4sIxwWh
>リレーでFF
って、どういう接続にすればいいんでしょうか。
レーシングしてしまうような気がする
0616arisa ◆QaHT6HayjI 2017/03/09(木) 12:06:16.48ID:lX1kOWlp
>>614
入学式と卒業式と、
3人の会社の時に准教授の産学共同研究して学食おごってもらったけど。
東工大に入っているね。燕
0619774ワット発電中さん2017/03/09(木) 21:22:07.11ID:CVBAvCSj
>617
直ぐに諦めるだろ。そういうところが駄目なのよ。
俺は方法を見つけたぜ。
0621774ワット発電中さん2017/03/09(木) 23:39:24.48ID:fNFhmZrr
>>615
リレー回路をやってなかったので詳しくはないんだが、昔のクロスバ交換
機ではワイヤスプリングリレーというのが使われていた。
このリレーはEBM接点(Early Break Make,3点接触あり)とかEMB接点(Eealy
Make Break,3点接触なし)とか接点の動作タイミングがきちんと規定され
ていて、ダイヤルパルスのカウントをやったりしていた。
こういうリレーを使えばうまくいくのではないかな。
0622774ワット発電中さん2017/03/10(金) 01:28:08.83ID:InbanSxy
リレーでも、NANDかNORができさえすればFFもできるでしょ
0623774ワット発電中さん2017/03/10(金) 03:55:47.12ID:Rg1UHDg9
>620
ロジアナは不要だ。さあどうやってやる?w
0625774ワット発電中さん2017/03/10(金) 05:03:36.81ID:Rg1UHDg9
お前が使わない頭を使え
0628774ワット発電中さん2017/03/11(土) 08:09:11.21ID:nu/rVLNU
FPGAではいかにしてデバッグするかというのがとても大事だ。特にRTLレベルで完全に
問題を潰しておくことが重要なのだが、RTLレベルで完全にやっていても
実機になると、見落としがあったりしてある程度の変更はでてくる。その場合には
RTLに戻って再度デバッグをしたりはしないでそのままコードを書いて追加していく。
そういう時に思わぬコードミスが発生する。
 このような場合に通常のソフト開発にありがちなアジャイルな方法、方法という
よりはこのような精神、つまりは「とにかくやってみて、、、」というような精神態度
ではドンドンミスが発生する。
 なぜならVerilogは文法も稚拙だがコンパイラのできが非常に悪いので一般的な
コンパイラが発見してくれるようなミスが潜り込んでしまうからだ。
 追加の場合には、うろ覚えで追加することは絶対に避ける。100%確実な
コードのみを追加する。もし少しでも文法やコードに自信がないなら、動作している
コード例と比較して確実に動作するコードを書くようにして憶測でコードを追加しない
ことが重要だ。
0630774ワット発電中さん2017/03/11(土) 08:53:06.39ID:nu/rVLNU
VHDLでもバグは同じレベルであるんじゃない?
0631774ワット発電中さん2017/03/11(土) 08:55:07.28ID:nu/rVLNU
糞ツール二つもおぼえらるかよ。w
0632774ワット発電中さん2017/03/11(土) 09:34:44.67ID:jAldiWjH
>なぜならVerilogは文法も稚拙だがコンパイラのできが非常に悪いので

って自分でかいてるだろ。
少なくともVHDLのほうが厳密に書けるんだからさ。

コンパイラ(って合成ツールのことだよね?)は何使ってるの?

文法チェックならLintツール使えよ。
0634774ワット発電中さん2017/03/11(土) 12:16:36.12ID:bG0b7468
合成ツールを使わない変人ばかりの国があるの?
0635774ワット発電中さん2017/03/11(土) 12:51:01.77ID:l25Ek4/z
VerilogのLintってあるんか?
0636774ワット発電中さん2017/03/11(土) 12:54:18.60ID:l25Ek4/z
 教科書を見てて思うんだが、パルスで起動する場合にエッジを取るボケが多いな。
最初から微分しとけや!アフォって思うな。Moduleのなかでいちいち微分する奴は
アフォだろ。
0637774ワット発電中さん2017/03/11(土) 12:55:24.54ID:l25Ek4/z
>632
Primeだけど
0638774ワット発電中さん2017/03/11(土) 12:58:47.24ID:l25Ek4/z
>少なくともVHDLのほうが厳密に書けるんだからさ。

Verilogですら冗長コードがあるのにVHDLとか「なんだよ、この糞っぷりは」
っておもうぞ。冗長コードのウンコの山だろ。w
話にならん。
0639774ワット発電中さん2017/03/11(土) 13:02:20.72ID:l25Ek4/z
最近嵌ったのは
reg buf[7:0] ;

[]の位置を間違うんだよな。これはエラーが出ないんだよな。あとスペルミスして
ても知らんぷりでエラー出さないんだよな。w
0641774ワット発電中さん2017/03/11(土) 13:08:10.19ID:l25Ek4/z
SVHDL :Shit Very Hard Design Ludicrous
0642774ワット発電中さん2017/03/11(土) 13:11:19.22ID:6+nzxtFU
ソフトは上から下まで凄いいろんな種類があるけど、ハード記述言語はあまり進歩がないねえ
頭も固いのか?
0644774ワット発電中さん2017/03/11(土) 13:16:15.41ID:FOkgUmfr
>>642
言語もシミュレータもトランスパイラもいろいろあるでしょ
大手がそれを取り込まないから誰も使わないだけで
で誰も使わないからコストかけて取り込めない
0645774ワット発電中さん2017/03/11(土) 13:19:10.66ID:l25Ek4/z
>厳密さと冗長さって全く違う概念

コード量が増えるというのはコードノイズが増えるってことだ。だから厳密性が
無茶苦茶劣るということだ。
厳密なものは、シンプルで美しい。間違いが少ないし、当然間違いが入り込みにくい。
したがってVerilogの方が糞でもかなりマシ。

ユークリッドの第五公理でもわかる。この部分だけ美しくない。必然的にここから
ユークリッド幾何のボロが出たということだ。

1.任意の一点から他の一点に対して直線を引くこと
2.有限の直線を連続的にまっすぐ延長すること
3.任意の中心と半径で円を描くこと
4.すべての直角は互いに等しいこと
5.直線が2直線と交わるとき、同じ側の内角の和が2直角より小さい場合、その
2直線が限りなく延長されたとき、内角の和が2直角より小さい側で交わる。
0646774ワット発電中さん2017/03/11(土) 13:20:34.84ID:l25Ek4/z
>642
うまいこというなー。感心した。w
0647774ワット発電中さん2017/03/11(土) 13:21:11.13ID:FOkgUmfr
あとソフトの開発ツールが百花繚乱なのはやっぱりお手軽さが違うよね
とりあえずJavaScriptかJVMかllvmに落としておけばなんとかなるみたいな
0648774ワット発電中さん2017/03/11(土) 13:24:48.76ID:l25Ek4/z
>それはそうと default_nettype も検討したら?

始めて知った。noneにしておいたほうがいいな。

モジュール間接続をしたネットを上位にOUTPUTする場合は頻発するが、名称を
wire 宣言をするとOUTPUT名称を変更しないと2重定義でコンパイルエラーになる。
しかし定義を省略すると接続できる。しかし接続できてもバス配線の場合には不具合
が出る。しかしViewerでは正常に配線されていてコンパイラはエラーもワーニングも
ださない。(多分)
0649774ワット発電中さん2017/03/11(土) 14:00:13.17ID:cKQVGECZ
>>640
俺もこの意見に一票
0650774ワット発電中さん2017/03/11(土) 14:24:31.98ID:H5Knxuvp
signal 宣言一つで reg or wire 双方への推論を許してる
何処が厳格なんだよ
0651774ワット発電中さん2017/03/11(土) 15:05:55.65ID:jAldiWjH
>>650
FFになるかwireになるかなんて本来は関係ないはず。
reg だからって必ずしも FF にはならないだろ。
0652774ワット発電中さん2017/03/11(土) 15:10:47.83ID:jAldiWjH
>>644
トランスパイラ?
ハードの場合、最終的にはedifかGDSだからなぁ。
0653774ワット発電中さん2017/03/11(土) 18:20:10.70ID:H5Knxuvp
言うだろうと 思ってたよ

reg -> wire は有っても、その逆は無い
そもそも、case 分で書いたほうがスッキリするから
敢えて、助長縮退を意図した書き方を許してるだけだ

自称 厳格、それ以外にとり得がない
同じ物を書くと、コード量2〜3倍ぐらいになる

唯々文句言ってるやつよりはマシそうだが
両方やって、比べた上で言えよ
0657774ワット発電中さん2017/03/12(日) 09:48:19.81ID:dCAFLPxG
GPUでさえ汎用言語ではダメで、CUDAとかOpenCLが必要なんだから
より並列性の高い言語を作らないいかんな。
できればFORTRAN66をベースに。
0658774ワット発電中さん2017/03/12(日) 12:21:34.94ID:Bfwgdboe
機械語で書いてそれ実行するハード用意しとこうぜ
0659774ワット発電中さん2017/03/12(日) 14:28:35.76ID:dpRAG//J
>>657
いいたいことはいろいろあるが
今現在、最もGPUを酷使するアプリはpythonで書かれているという事実がある
0660774ワット発電中さん2017/03/12(日) 15:55:21.19ID:SmxcaBUa
最もGPUを酷使するアプリって何だよwww
俺が作った、全ユニットフル稼働のテストツールより酷使するアプリなんてあるか?
0661774ワット発電中さん2017/03/12(日) 16:02:17.08ID:dpRAG//J
>>660
お前のアプリは所詮お前のハードでしか動かない。
世界中のGPUが必死に何の計算してるかと言う話だから、
お前のチンケなアプリはの話はどうでも良い
0664774ワット発電中さん2017/03/12(日) 19:57:33.97ID:wamYpz0C
>>659
コード書けない層ほど中身のないAIに飛びつくから。よってまともな成果は出せないだろう。
0665arisa ◆QaHT6HayjI 2017/03/13(月) 09:30:10.08ID:NVSCvOah
VHDLをやりもしないで、クソ扱いはクソワロタシテロ。小一時間草でも植えておけ
0666774ワット発電中さん2017/03/13(月) 09:50:35.51ID:TcShF5sa
コード比較
-----verilog-----
module mod_a (
input clk,
input rst_x,
input [7:0] i_in,
output reg [7:0] o_out
);
always @(posedge clk or negedge rst_x) begin
if (~rst_x) o_out <= 8'h0;
else o_out <= i_in;
end
endmodule

----- 糞VHDL -----
library IEEE;
use IEEE.std_logic_1164.all;

entity mod_a is
port (
clk : in std_logic;
rst_x: in std_logic;
i_in : in std_logic_vector(7 downto 0);
o_out : out std_logic_vector(7 downto 0)
);
end mod_a;

architecture rtl of mod_a is
signal r_out : std_logic_vector(7 downto 0);
begin
process (clk, rst_x) begin
if (rst_x = '0') then
r_out <= (others => '0');
elsif (clk'event and clk = '1') then
r_out <= i_in;
end if;
end process;
o_out <= r_out;
end rtl;
0667774ワット発電中さん2017/03/13(月) 09:56:02.03ID:lnX5PfRP
Verilogの方が冗長なのは事実だけど、それだけでVHDLを
否定をしてる人は単にプログラミングに対するセンスが
ないんだと思うよ
0668774ワット発電中さん2017/03/13(月) 10:08:04.19ID:vtrmK3ql
具体的なコードを明示した上で比較したヤツ
それを、抽象的な物言いだけで否定してるヤツ

技術者の端くれなら、具体的な利点を示した上で反論しろよな
0670arisa ◆QaHT6HayjI 2017/03/13(月) 10:38:06.98ID:NVSCvOah
固定小数点演算のかけ算機を、verilogでつくれば、VHDLよりverilogがクソなのが理解できるだろ。草植えるのマダカヨ
0671774ワット発電中さん2017/03/13(月) 10:39:09.41ID:TcShF5sa
冗長というよりゴミだろ。VHDLとかほぼゴミで埋もれる。
0672774ワット発電中さん2017/03/13(月) 10:40:34.35ID:TcShF5sa
>670
具体例をあげてみな
0673774ワット発電中さん2017/03/13(月) 10:42:18.06ID:TcShF5sa
c[16] = a[8] x b[8];
こんなん?
0674774ワット発電中さん2017/03/13(月) 10:48:16.16ID:TcShF5sa
掛け算ならfloatだろうが、intだろうがライブラリを使うだろ。
VHDLのライブラリアクセスがどんだけめんどくさー――――いか。殆どゴミコード。
0675774ワット発電中さん2017/03/13(月) 11:16:49.46ID:IBkOjaQd
掛け算くらいツールが合成してくれるよ。
ライブリって何?FPGAの?
0676arisa ◆QaHT6HayjI 2017/03/13(月) 11:24:52.92ID:NVSCvOah
何コイツ無職?おまけにサイコパスっぽい。
ひょっとして、元ルネサス?
0677arisa ◆QaHT6HayjI 2017/03/13(月) 11:31:29.32ID:NVSCvOah
固定小数点でfloat?クソワロタ
0678774ワット発電中さん2017/03/13(月) 12:11:10.00ID:TcShF5sa
>675
そうなの? フロートはレイテンシの調整とかがめんどくさいので使った記憶が
あるが、整数は使った記憶がねえよ。記憶に残らんほど簡単ってことか。
0679774ワット発電中さん2017/03/13(月) 12:12:06.71ID:TcShF5sa
固定小数点って言葉自体がバカっぽいな。ただの桁合わせのことだろ。W
0680arisa ◆QaHT6HayjI 2017/03/13(月) 12:13:30.74ID:NVSCvOah
何コイツ無職?おまけにサイコパスっぽい。
ひょっとして、元ルネサス?
0681774ワット発電中さん2017/03/13(月) 12:28:23.20ID:TcShF5sa
画像処理とか実数演算を固定小数点で高速化して自慢したいんだろ。w
馬鹿の典型だな、そんなのがひつようなのは0.0001%もねえよ。
Floatでやっても高速化できるんだから、Floatのほうがいいんだよ。設計変更での
柔軟性が高いしな。
 馬鹿がいて固定小数点で作りやがって、一寸変更かけると「できません」っていう。
0682arisa ◆QaHT6HayjI 2017/03/13(月) 12:44:11.74ID:NVSCvOah
何コイツ無職?おまけにサイコパスっぽい。
ひょっとして、元ルネサス?
0683arisa ◆QaHT6HayjI 2017/03/13(月) 12:45:49.62ID:NVSCvOah
何コイツ無職?おまけにサイコパスっぽい。
ひょっとして、元ルネサスの手配師でしょ。技術的な中身無さそうだし。
0684774ワット発電中さん2017/03/13(月) 13:39:32.12ID:I3cC7+xc
VHDL推しは一定の理解はするが人格攻撃始めたら賛同者なくなるよ
0685arisa ◆QaHT6HayjI 2017/03/13(月) 13:47:44.70ID:NVSCvOah
>>684
スマンナ。ほんままんどくさいんだわ。大手半導体にいるひとたち
0686774ワット発電中さん2017/03/13(月) 16:37:29.36ID:bDMDo5rn
>>685
何があったん?
0688774ワット発電中さん2017/03/13(月) 19:49:34.63ID:9nRDkSeF
アリサはルネサスに派遣されて惨めな思いをしたんだろ
0689774ワット発電中さん2017/03/13(月) 20:44:20.23ID:j3VzIVSk
>>666
行数が短いから言語として優れてるって言いたいのかな?
ハードを記述してるって感覚がないだけに見えるけど。
0691774ワット発電中さん2017/03/13(月) 21:13:50.91ID:auCahImG
その感覚は実は必要ないかもしれない
C > Verilog > VHDL
0695774ワット発電中さん2017/03/14(火) 01:23:11.42ID:e2V44vhC
なるほど
となるとRTLを書くとは具体的な作業としてはどういうものになるんですかね
0696774ワット発電中さん2017/03/14(火) 02:31:37.88ID:G/ANrYqO
>ハードを記述してるって感覚がないだけに見えるけど。

どんな感覚だよ。
まずHDLの基本が糞だよな。

非同期リセットの書き方
always @(posedge clk or negedge resetn)
if(resetn)
dff <= 0;
else
dff <= dff + 1;

これがどーーーーーんだけ糞な書き方か意味わかる。
「非同期」だってのに何で同期回路と混在するんだよ。馬鹿じゃないか。
この時点で言語として破綻してる。
negedge resetn ぷっ 笑える。これは馬鹿ってレベルじゃなくて糞馬鹿。

>rtl書いてる時間なんて全体の1割未満だもんな

だから問題なんだろ。今度RTLを使うのは何か月後だろうか?
偶に使うツールほど扱いが難しい。使い方を忘れるからな。
modelsimも糞だよな。ほんと覚えにくい。毎回立ち上げ時に苦労する。
0697774ワット発電中さん2017/03/14(火) 03:03:40.04ID:vsj/GB83
いいじゃん、非同期resetなんか使わないんだから。
0698774ワット発電中さん2017/03/14(火) 03:35:48.29ID:2HaNs33y
>>696
そもそもこの場合の非同期ってのは、クロックに同期してないって程度の意味だろ?

実際にはreset信号に「同期して」リセットさせるんだから
書き方的には問題なくね?
0699arisa ◆QaHT6HayjI 2017/03/14(火) 04:11:34.74ID:Cac2rFqg
なんか、ニッポンの半導体産業他の崩壊を今目のあたりにした希ガス
0700774ワット発電中さん2017/03/14(火) 04:15:25.91ID:G/ANrYqO
always @(posedge clk)
if(~resetn)
dff <= 0;
else
dff <= dff + 1;
これがVeilogの同期リセットの書き方だよ。
RTL Viwerで比較して見てごらん。
0701arisa ◆QaHT6HayjI 2017/03/14(火) 04:24:54.08ID:Cac2rFqg
同期リセット 非同期リセット
をFPGA ASIC にて、トランジスタレベル(CMOS)
の回路図を検討し、その2*2の利点・欠点を
一覧にし、考察をすること。
0702774ワット発電中さん2017/03/14(火) 05:01:25.33ID:G/ANrYqO
>いいじゃん、非同期resetなんか使わないんだから。

単純リセットのための同期リセット使うとという意味なら、それは誤りだ。
同期リセットはリソースをかなり消費する。
非同期リセットを使った方がいい。
デバイスがPowerONリセットを用意しているから不要。単純リセットは省略する。
というのなら意味は解る。
でもじゃあシミュレーションで真っ赤っかになるのをどうすんの?ってことになる。

Force the FFs/registers to reset by using the ModelSim force command.
コードに書かないとしたらやり方としてはtclでこいつを叩くのかな? 
やったことないが、、
0703774ワット発電中さん2017/03/14(火) 05:02:51.29ID:G/ANrYqO
-----verilog-----
module mod_a (
input clk,
input rst_x,
input [7:0] i_in,
output reg [7:0] o_out
);
always @(posedge clk or negedge rst_x) begin
if (~rst_x) o_out <= 8'h0;
else o_out <= i_in;
end
endmodule

例えばこの例だと、
★致命的な間違い
 1.iolistでグローバルのclk,rst_xとi_inの混在は問題。
同じスタイルで書くのは良くない。かなり致命的間違いだ。
 2.非同期リセットのnegedge rst_xこの書き方も致命的欠点

 まず致命的欠点だけでも解決するなら
-----verilog-----
module mod_a (input [7:0] i_in, output reg [7:0] o_out);
always @(posedge clk ) begin
 o_out <= i_in;
end
endmodule
本体はこれだけになる。
0704774ワット発電中さん2017/03/14(火) 05:03:40.89ID:G/ANrYqO
★しかし”always @(posedge clk ) begin ”この記述は何も中身がない。なので削る。
-----verilog-----
module mod_a (input [7:0] i_in, output reg [7:0] o_out);
 o_out <= i_in;
endmodule

グローバルどうすんの? って
*.(clk,clrn) = clk,rst_x;
でいいだろ。
ネガティブエッジは? って
 .clknだな。
0707774ワット発電中さん2017/03/14(火) 07:18:13.00ID:uLGLHwAl
僕の考えた最強のHDLはブログにでも書いとけよ。
0708774ワット発電中さん2017/03/14(火) 07:40:18.21ID:G/ANrYqO
>arisa君
理屈をつけて説明する癖をつけなさいね。
理屈なしににやにや笑ってみたり、嘆いてみたり、思わせぶりに批判するのでは、
力がつかないよ。

 何故理屈がつけられないのか? それは意見に自信がなくて、間違いが怖いから
でしょ。
言い訳の余地を担保したいから、曖昧にしか言えない。
0709774ワット発電中さん2017/03/14(火) 07:42:35.81ID:G/ANrYqO
>また、合成の話とごっちゃにしている。

どこが合成の話なのかな。w
0710774ワット発電中さん2017/03/14(火) 08:04:06.50ID:G/ANrYqO
>698
君が勘ちがいするのもわかる。バリ糞分かりにくい無茶苦茶な文法だから。

非同期リセットの書き方
always @(posedge clk or negedge resetn)
if(resetn)
dff <= 0;

 これnegedge resetnでエッジって書いてあるが
 「clkで叩かないようにように」
って意味だからな。

だから
dff.clrn = resetn;
と同じ意味。
0711774ワット発電中さん2017/03/14(火) 08:11:23.16ID:G/ANrYqO
だからこの3行が意味するのは、単にリセットをdffのclrnに接続して
clkをDffのclkに接続するってこと。
dff.clrn = resetn;
dff.clk = clk;
ってことだ。
always @(posedge clk or negedge resetn) って糞ってのがわかるだろ。
or だと なんでorなんだよ。
negedge だぜ 意味不明だ。
0712774ワット発電中さん2017/03/14(火) 08:26:04.10ID:e2V44vhC
盛り上がってるとこすみません
>>695についてはいかがでしょうか?
0714774ワット発電中さん2017/03/14(火) 08:49:07.68ID:G/ANrYqO
>713
どこまでを抽象化するかだな。

そもそもregってのはdffを意味してる。基本的なprimitiveなんだから
regというように抽象化するひつようはない。抽象化するだけの
脳味噌がないんならそのままdffでよかった。

and orと同じ扱いで抽象化するんならclrnもclkもいらない。clrnもclkも
意識しないで書けるようにしないと意味がない。
and orのように徹底的にそぎ落として抽象化する。そうするとregは
どうなるか?

and and1,and2; なんて書かないだろ。
reg dff1,dff2; だからこれではだめだな。

and,orは宣言しないだろ。それと同じでregも宣言からは消えなくては
意味がない。
0716774ワット発電中さん2017/03/14(火) 09:05:35.68ID:MF4r+vg4
RTLで書くってことは最終的にはFFと論理回路の組合せを書くってことだからね。プログラミング言語のように考えてるなら違うよ。
スケマの複雑な回路を表現する方法の1つがHDLなだけで、無駄な記述だと思ってるのは必要な状況を知らないだけだろ。
0720arisa ◆QaHT6HayjI 2017/03/14(火) 09:55:44.03ID:5OrkAyur
>>708
面倒くさいし。お前が上から目線だし。
どうでもいいね。
0721arisa ◆QaHT6HayjI 2017/03/14(火) 13:50:39.17ID:5OrkAyur
こんな感じでアスペっぽいのは、小平市にある半導体の社員しか考えられない。

そうじゃなかったら、イイ才能だね。
FPGAの技術者を育てたいパソナテックの正社員になって年収400万円少しで働けば未来が拓けるよ!
0722arisa ◆QaHT6HayjI 2017/03/14(火) 19:55:26.77ID:Iw89Rmlr
符号付き演算で、verilogとVHDL比べれば差が出るからどちらかいいかわかるよ

と親切に教えてやったのに

自分がわからないから、答えよこせお前がアホだからだろ、とかわめく基地外の対処方法は慣れているんだよなぁ。

要約すると、「態度が悪い。高度ポリテクに金払って教えてもらえ。このボケ」

というのが、2ch風誠意ある接し方だと思うんだが。どうよ
0723774ワット発電中さん2017/03/14(火) 20:19:09.38ID:idPk2k73
それはお前の目的による
VHDLの賛同者を増やしたいんだろ?それなら具体例で根拠を書くべき
どうでもよくて煽りたいだけ、悦に入りたいだけなら好きにすればいい
0725774ワット発電中さん2017/03/14(火) 20:39:42.64ID:htJIWk00
符号つき演算での差の話、純粋に興味があるのですが、どこでそういう話が出ていますでしょうか?
0726774ワット発電中さん2017/03/14(火) 20:40:37.67ID:htJIWk00
>>718
>>719
ご回答ありがとうございます
ゲートレベルでの記述がRTLということなのですね
0727774ワット発電中さん2017/03/14(火) 21:00:53.54ID:gQH7xbDD
>>726
違うと思うよ。合成後はFFとゲートで構成されるのであって、記述はRTLというくらいだから、レジスタとそのロジックで書くんだけどね。
条件式、状態遷移、演算なんかが複雑なゲートの組合せになるってことで。
RTLで書いてるのにゲートレベルで考えるのはさすがに難しいよ。
0728774ワット発電中さん2017/03/14(火) 21:19:19.28ID:MoWIrzHH
RTL ってのがはっきり決まってる訳じゃないからな。
「合成可能な記述」くらいの意味で使われてるようだけど。
0729774ワット発電中さん2017/03/14(火) 21:56:08.75ID:QWlIljyT
>>702
>単純リセットのための同期リセット使うとという意味なら、それは誤りだ。
>同期リセットはリソースをかなり消費する。
>非同期リセットを使った方がいい。

これは、(Aは知らんけど)現在のXのデバイスでは逆らしいよ
FFのリセット端子の機能を、同期・非同期選べるようになってて、LUT使わずにできるし
場合によっては、FFを0にする論理をこの端子に振り分けることでリソース削減できる
らしい
0730arisa ◆QaHT6HayjI 2017/03/14(火) 23:48:55.08ID:Iw89Rmlr
同期リセット問題は、STARC本の先の議論に行きつくのだけど、指定が無い場合後でASICかする手間を考えて、非同期リセットでかけている。
無論非同期リセットの区間の仕様は必要で、ほぼ常識なのでわざわざ仕様書に明記する細かな設計には経験が少なくて出会ったことも無いが、おおむね10-16clk以上。
テストベンチにはその旨記述し、非同期リセットをシミュレーションするようにわざとずらし、前半に不定の区間を設ける。
0731arisa ◆QaHT6HayjI 2017/03/14(火) 23:50:55.40ID:Iw89Rmlr
私の場合ね

>>729
とは前提が異なるので、
違う話になってスマンが。
0732774ワット発電中さん2017/03/14(火) 23:52:24.03ID:htJIWk00
>>727
なるほど…
謎が深まりました
RTLで書くというのがHDLでの記述でもなくスケマの記述でもないとなると、一体どういう作業なのか…

>>728
論理合成可能な記述という意味ではHDLによる記述に思えますが違うのですよね

RTLで書くということの意味を考えるのはやめにしたほうがよさそうですね
0733arisa ◆QaHT6HayjI 2017/03/14(火) 23:54:07.24ID:Iw89Rmlr
>>723
特に増やしたいという目的はない。

ただ、やったこともないのに目線の狭さで初めからバカにする行為は、オタクを偏見バカにする行為と変わらないので、教育的指導をしただけの話。
0734arisa ◆QaHT6HayjI 2017/03/15(水) 00:57:29.96ID:Y3mPoJPY
>>725
過去ログ嫁。ボキュは嫁が欲しい。

verilog-2001にて、$signed / reg signed が取り入れられた。
ただ、この符号付き演算を使うと、出力データバスが32ビットで無い場合。細かなバグが生じるというか、ビット数の定義を間違えると、その瞬間にバグが出る。

はっきりいって、仕事にならない。
信号処理の業種では、そこで無駄にはまるのでVHDLを使う。
その方が結果的に仕事が早いから。

でなんか、浮動小数点ツカエボケお前アタマ悪いだろうと過去ログに書かれているのだけど。
固定小数点の設計が出来てから、浮動小数点の設計が出来るわけだ。

CQ出版の本で、浮動小数点についてソースコード付きで書かれた青い本があるけど、あれはverilogだね。
その分試験仕様書と、テストベンチをしっかり組んで時間をかけて設計出来て本に出来て、羨ましい。
0735arisa ◆QaHT6HayjI 2017/03/15(水) 01:00:17.06ID:Y3mPoJPY
>>732
レジスタトランスファーレベルとは何か?
そのHDLの書き方の定義は何か。

ということを質問したいのだと思う。

おそらく、その時代の論理合成ツールで合成がしっかり出来る記述かと思う。
0736774ワット発電中さん2017/03/15(水) 01:01:26.47ID:kzTLNtm1
>>732
HDLでの記述が全て合成可能ではないだろ。合成ツールによってもどういう記述が合成可能かは変わるし。
0737774ワット発電中さん2017/03/15(水) 01:01:45.86ID:/laSnDti
>>733
煽ってるだけじゃ指導になってない
暴れとるわと思われてるだけ
0738774ワット発電中さん2017/03/15(水) 01:06:26.01ID:/laSnDti
>>732
みんな好き勝手言ってるけど、
RTLっていうのは、レジスタとクロック信号は意識して、
論理ゲートを意識しない抽象化レベルのことだよ
0739arisa ◆QaHT6HayjI 2017/03/15(水) 01:12:28.58ID:Y3mPoJPY
>>736
合成ツールによって書き方が変わるし、その会社やその人の文化によっても変わります。
なので、RTL記述とは何かを突き詰めるとSTARC本のようになるとおもう。ただ、中身は少し時代遅れな部分がある。理由は合成ツールの進化と文化と目的の違いがあるから。
0742774ワット発電中さん2017/03/15(水) 08:56:52.73ID:0yV63lJd
arisa ◆QaHT6HayjI
ID赤くして文句タレてるヤツよりはマシそうだけど、レベル低いね

>>670 ありえんだろ、と思いながらも
vhdl / verilog 双方で合成してみた
結果は全く同じだった

当然だわな、 c = a * b コレだけだもん (コードは↓)

(Altera Q v16.1)
オプション=デフォルトで合成 -> ハード・マクロに繋いで終わり
オプション=ハードマクロ使用禁止 -> 全く同一の結果(レポートレベルで一致)

他にも合成ツールあるけど、結果は見えてるから もう試さんよ

あと、主張するなら具体的なコードとツール提示しないとな
そうじゃなきゃ 誰も信じないよ
その点、ID赤くして文句タレてるヤツの方がまだマシ

---

module mult_test
(
ina, inb,
mult_out
);
input [ 8:0] ina, inb;
output [17:0] mult_out;

assign mult_out = ina * inb;

endmodule
0743arisa ◆QaHT6HayjI 2017/03/15(水) 09:45:44.12ID:uCySsoXZ
>>742
その程度のレベルだと問題おきない。
あと、君の態度が悪い。くそうぜー氏ね
0744arisa ◆QaHT6HayjI 2017/03/15(水) 09:47:02.92ID:uCySsoXZ
verilogの冒頭と末尾に default_nettypeを入れるのがくそうぜー
0745arisa ◆QaHT6HayjI 2017/03/15(水) 09:53:51.24ID:uCySsoXZ
>>742
そもそも、そのコードは符号付き演算じゃないだろ。オマエバカか?
0746774ワット発電中さん2017/03/15(水) 19:40:13.47ID:y7Z3Duqa
名無し君
相手の言うことを素直に聞く癖をつけなさいね。
自分の実力のレベルも認識できず、理屈以前に仕様も認識できず、出来ましたと言いだし動かないものを出されてバカにするのでは、
力がつかないよ。

 何故素直にできないのか? それは自分にに自信がなくて、間違いを指摘されるのが怖いからでしょ。
言い訳の余地を担保したいから、ソースコード書けとしか言えない。

相手の言うことを理解できないということは、仕事にならないから迷惑。お茶飲んで出直してくれば。
0748774ワット発電中さん2017/03/15(水) 23:10:31.07ID:d1C9VGgS
FPGAの非同期リセットは本当に非同期のリセット信号を入力するとリカバリ、リムーバル違反でバグるのから嫌い
0749774ワット発電中さん2017/03/15(水) 23:26:50.75ID:n3DU9l2S
その程度のことなら、リセット信号を同期化すればいいだけだと思うんだけど
それじゃダメなの?
0751774ワット発電中さん2017/03/16(木) 05:38:47.00ID:XFZXD5DB
>>750
同じだよ。うちは右から左へのところてん押し出し回路で、enableがあれば問題………
クロック二回以上のリセット間隔が担保されていれば問題ないんじゃないの?
0753774ワット発電中さん2017/03/17(金) 05:05:42.69ID:m3kX9Ato
>クロック二回以上のリセット間隔が担保されていれば問題ないんじゃないの?

だめ。そういう問題じゃない。
リセット解除時にクロックが入ると誤動作する。エッジの前後でリセットを
入れてはいけない。非同期リセットの加え方は難しいんだよ。
これを無視して問題が発生するケースは珍しいと思うが、バグることがある。
0754774ワット発電中さん2017/03/17(金) 05:21:51.81ID:m3kX9Ato
>これは、(Aは知らんけど)現在のXのデバイスでは逆らしいよ
>FFのリセット端子の機能を、同期・非同期選べるようになってて、LUT使わずに
>できるし場合によっては、FFを0にする論理をこの端子に振り分けることで
>リソース削減できるらしい

「らしい」じゃなくて、RTL Viewerをみたらすぐわかるだろ。みないのかよ。w

Xはそうなのか、合成できているんなら、その方がいい。AlteraはRTL Viewerで
見る限りリソースを膨大に消費している。
0755arisa ◆QaHT6HayjI 2017/03/17(金) 05:22:52.02ID:3sSzv/0T
>>753
メタステーブル問題とおなじじゃねーか

FF3個とAND1個で rst_n → srst_n をつくるしかないべ

751の名無しのレスはオレ様のジサクジエーンだからwごめんな
0756arisa ◆QaHT6HayjI 2017/03/17(金) 05:24:43.56ID:3sSzv/0T
なんだ、
force(笑)か

相手するのめんどくさいから、コテハンキボンヌ
0757arisa ◆QaHT6HayjI 2017/03/17(金) 05:36:47.09ID:3sSzv/0T
まぁ。リセットのクロックが1クロックずれて回路が動作したら問題になるか、
論理合成後のスケマで検討したらいいし、
そういうテストベンチ走らせて、ゲートSimでみて、
リセットタイミングを1nsぐらいふって動作にもんだいがあるか確かめればいいんじゃないの。

もう記憶の彼方なのであれだけど、確かにアルテラちゃんは、同期リセット問題で膨大なリソース食った希ガス。非同期でいいんじゃないの→いや と若い設計者が言い出すから、勉強になるだろうしめんどくさいので放置したけど。
小田原の開成駅あたりで口からいれるなにかのなにかのときに、そうだった。もう3年前の話で、仕事帰りに鶴巻温泉駅から徒歩で天然温泉に浸かってたことしか覚えてないなー

君サー長野県の案件やらね? 低賃金で高機能なことやらされて、お客さんがわかってないから、君のような議論好きは重宝されるでー
0758774ワット発電中さん2017/03/17(金) 05:47:13.09ID:m3kX9Ato
>FF3個とAND1個で rst_n → srst_n をつくるしかないべ

FFとAND1個じゃ原理的に無理。

リセット区間がエッジの前後にかからないようにしないといけないからクロックに
同期した信号だけでは作れない。
つまり遅延回路をつくらないと無理だな。
0759arisa ◆QaHT6HayjI 2017/03/17(金) 05:58:32.94ID:3sSzv/0T
>>758
ああはいはい。自分で考えな
君のようなサイコパスは、金出せば相手にしてやんよ

ところで、符号付き演算VHDL/verilogマンせー問題はどうなったのかね。
ホウレンソウがないと、一緒に仕事する人が困るだろう
0760774ワット発電中さん2017/03/17(金) 06:05:13.46ID:m3kX9Ato
>RTLっていうのは、レジスタとクロック信号は意識して、
>論理ゲートを意識しない抽象化レベルのことだよ

論理ゲートは意識しないと駄目でしょ。w
意識しないのはゲートレベル信号の遅延だね。クロックする時点では組み合わせ
ロジックの値が確定しているという前提で動作検証できる。
0761774ワット発電中さん2017/03/17(金) 06:12:53.22ID:m3kX9Ato
ベテランも2種類あって、理論を正確に押さえている人もいるが、声がデカい
ハッタリが上手いというだけで仕事をしている人も多い。
残念ながら生命力は後者が勝るらしく、どこでも蔓延っている。
0762arisa ◆QaHT6HayjI 2017/03/17(金) 06:26:48.78ID:3sSzv/0T
>>760
ゲートSimすればぁ。それで検証できるよねぇ
0763arisa ◆QaHT6HayjI 2017/03/17(金) 06:30:01.17ID:3sSzv/0T
仕事させると、詳細な設計書つくるんだけど中身がなくて、詳細な設計書をつくるのに時間をとられて自分じゃ解決出来ないから会議好きになって納期遅延させる日立タイプ

そんな感じだと思うの。
0764774ワット発電中さん2017/03/17(金) 06:30:35.46ID:m3kX9Ato
>RTL ってのがはっきり決まってる訳じゃないからな。

これは極めて論理的で厳密な記述だよ。
「システム」=入力と状態と出力からなり、入力と状態が決まれば出力は
一意的に決まる。
システムをクロック同期とすることで、複雑な物理現象の影響を回避して
きわめて論理的に動作するシステムが可能になった。このクロック同期の
論理記述の方法がRTLだ。

Verilogがあいまいでいい加減だからといってRTLはいい加減じゃないよ。
RTLは非常に厳密というか数学的に完璧だよ。Verilogはまあ糞としか言いようがない。
0765arisa ◆QaHT6HayjI 2017/03/17(金) 06:34:37.86ID:3sSzv/0T
>>764
クソワロタRTL記述に verilogが入ることを理解してないし。糞ならVHDLつかうなりsystem-Cつかうなり
そこまでもんくがあるなら自分で言語つくればいいと思うの


でもなにが糞なのか、一覧というか仕様にすら起こせなくて、わめきちらす

そんな感じだと思うの
0766arisa ◆QaHT6HayjI 2017/03/17(金) 07:38:17.16ID:3sSzv/0T
74ICで回路組む検証にでも行かせたら静かになるんじゃないか
0767arisa ◆QaHT6HayjI 2017/03/17(金) 07:40:49.95ID:3sSzv/0T
>>761
>ベテランも2種類あって、理論を正確に押さえている人もいるが、声がデカい
>ハッタリが上手いというだけで仕事をしている人も多い。
>残念ながら生命力は後者が勝るらしく、どこでも蔓延っている。

ハッタリが上手いというだけで仕事をしているけど アウトプットが自分で出せないから、他人に寄りかかるために気持ちを逆なでしてアウトプットを相手にさせるだけの、サイコパスだと思うの
0770774ワット発電中さん2017/03/17(金) 08:18:51.27ID:ESdV+5JZ
なんか全部arisaだと思うと腑に落ちるようになってきた
0772774ワット発電中さん2017/03/17(金) 09:27:51.92ID:4jz2ebgZ
>>764
>このクロック同期の論理記述の方法がRTLだ。
何言ってんだ?こいつ。
0773774ワット発電中さん2017/03/17(金) 10:05:36.63ID:m3kX9Ato
腑に落ちないか? w
このくらい丁寧に説明して解らんと、これ以上は無理かも。しかしarisaレベルでも仕事は
できるみたいだから問題ないと思うよ。
0774arisa ◆QaHT6HayjI 2017/03/17(金) 10:13:47.21ID:sfgOhstd
>>772
>>764
>>このクロック同期の論理記述の方法がRTLだ。
>何言ってんだ?こいつ。

確かに、何を言っているんだろうね。

クロック同期=RTL じゃないことは、回路やったことのある人間からすると常識なのに。
0775arisa ◆QaHT6HayjI 2017/03/17(金) 10:15:08.02ID:sfgOhstd
>>765
>>764
>クソワロタRTL記述に verilogが入ることを理解してないし。糞ならVHDLつかうなりsystem-Cつかうなり
>そこまでもんくがあるなら自分で言語つくればいいと思うの


>でもなにが糞なのか、一覧というか仕様にすら起こせなくて、わめきちらす

>そんな感じだと思うの

でverilogの何が糞なんだっけ

糞なら使わなきゃイイだろw馬鹿なの死ぬの
0776774ワット発電中さん2017/03/17(金) 10:41:30.15ID:m3kX9Ato
Wikipediaの説明があまりよろしくないので、本質を強調して書いてみたのだが
頭のいい人なら本質がなにかが理解できると思う。
要はシステム理論で言うところのの「システム」を特殊化したものだな。
一般的システムは相互干渉など、検討するところがいろいろ発生するのでモデルから
実機動作を保証するのは非常に難しいがRTLにすることで馬鹿でもチョンでもarisaでも
設計できるようになる。そこが重要なところだな。バカチョンシステム=RTLだ。
0777774ワット発電中さん2017/03/17(金) 10:44:28.30ID:m3kX9Ato
RTLについては英語のWikiの方がすこしましかも
In digital circuit design, register-transfer level (RTL) is a design abstraction which models a synchronous digital circuit in terms of the flow of digital signals (data) between hardware registers, and the logical operations performed on those signals.

synchronousってところが重要w
0778774ワット発電中さん2017/03/17(金) 11:05:36.26ID:m3kX9Ato
 C = A + B
 R = R + 1
ABCがノードでRがレジスタだとすると区別しないといけない。宣言するか記号で区別する。

宣言で区別するなら reg R;

記号を変えても区別できる。バス幅記述もあるので一長一短はあるが記号で区別した
ほうが分かりやすい。
 R <= R + 1;

ここにalways@なんて記述は不要。
しかしどうしても
always @(posedge clk or negedge resetn)
で記述したいなら
always @(posedge clk or negclr resetn)
とかいて、下にはif(resetn)は不要だ。

666の例なら
always @(posedge clk ,negclrn rst_x) begin
o_out <= i_in;
end
これならまだ許せる。

これはあまりにも馬鹿っぽい
always @(posedge clk or negedge rst_x) begin
if (~rst_x) o_out <= 8'h0;
else o_out <= i_in;
end
0779arisa ◆QaHT6HayjI 2017/03/17(金) 18:45:11.32ID:3sSzv/0T
>>777
RTLは同期じゃなくともRTLだから、その英語の説明書いた人が間違っているね。
普通同期回路しか組まないから、そう書くのもわかるけど
0780arisa ◆QaHT6HayjI 2017/03/17(金) 18:47:08.32ID:3sSzv/0T
つうか、
レジスタそのもの知らないね。
0781arisa ◆QaHT6HayjI 2017/03/17(金) 18:50:40.05ID:3sSzv/0T
レジスタってのは、ソロバンの玉だ

そこにクロックは関係ない

5玉2個 1玉5このソロバンで16進九九を暗記して掛け算やればわかるべさ
0782774ワット発電中さん2017/03/17(金) 20:37:21.23ID:m3kX9Ato
Verilogより糞=arisa
0784arisa ◆QaHT6HayjI 2017/03/17(金) 23:17:58.62ID:WFa2yAJV
自分の思い通りにならないとクソというだけだな
0785arisa ◆QaHT6HayjI 2017/03/18(土) 00:18:37.09ID:sqG/oY2m
間違っていたことを言っていたら否定しないでやんわりと言い方を変えて誘導して欲しい。


と日本語にして言えばいいのに。クソとか短くし過ぎでクソワロタRTL
0786774ワット発電中さん2017/03/18(土) 02:22:08.35ID:QeC5R8wZ
これほど見事に本質を外してカスだけを学ぶのをどこかで見たような気がする。
そう親の悪いとこだけを見て育つ。まさにバカ息子。w
0787774ワット発電中さん2017/03/18(土) 02:29:07.32ID:QeC5R8wZ
>合成後のリソースの確認ってTechnology map viewerじゃないの?

うん。正しい突っ込み。そこでxの場合非同期クリアラインはどうなってる?
 RTL Viewer
 合成後 Mappping View
これを比較するとわかる。
0788arisa ◆QaHT6HayjI 2017/03/18(土) 04:13:25.30ID:sqG/oY2m
>>745
>>742
>そもそも、そのコードは符号付き演算じゃないだろ。オマエバカか?

符号付き掛け算の演算で、verilogがクソ VHDL優秀 問題はどうなったのーーーー
0792774ワット発電中さん2017/03/19(日) 06:55:01.64ID:TznGG16W
>>791
仕事中に遊んでるの?
もし仕事中にやってるのなら、ちゃんとそれが後々会社のためになる生産性のある活動であればいいんじゃね?
かつ他に優先してやるべきことをおろそかにしてなければ
0794774ワット発電中さん2017/03/19(日) 07:11:42.11ID:hUEJHSVT
脳ある鷹は爪を隠す。
爪があることばれたら死ぬほど仕事振られるからな。
0795774ワット発電中さん2017/03/19(日) 07:26:47.30ID:IfxPXnZO
自分だけは人より色々知ってて実力もあり「やればできる」能ある鷹であるという前提
0798arisa ◆QaHT6HayjI 2017/03/21(火) 11:24:45.26ID:gWpA4mBo
いま、給与で揉めてハローワーク求人番号 20020-01982671 が出るようになった。

倫理回路の設計をいましてるみたいw
0799774ワット発電中さん2017/03/21(火) 13:04:01.21ID:VVQfmyaJ
倫理回路って、キカイダーの良心回路みたいなやつか。
カッコいいな!
0800arisa ◆QaHT6HayjI 2017/03/21(火) 13:22:16.19ID:xGlHboCE
>>799
キカイダーってなんだ。

もしかして、これがジェネレーションギャップ回路開発か
0801774ワット発電中さん2017/03/21(火) 15:29:20.92ID:TLt+CwoC
テクノプロ・エンジニアリングさんすごいですね。
もしかして、AI関係かな。
0802774ワット発電中さん2017/03/21(火) 16:06:38.46ID:ym7mENE4
キカイダーの良心回路には不具合が有ったのでとても苦しみました。
0803774ワット発電中さん2017/03/21(火) 17:12:01.78ID:GAhtXE5N
不具合っつうか脆弱性だろあれ
バックドアでも仕掛けられたのかもしれんが
0804774ワット発電中さん2017/03/22(水) 00:40:13.17ID:FQO5aS3H
プロセッサ「ギル」によって不正なアクセスが可能な回路なんだろうな
0806774ワット発電中さん2017/03/24(金) 03:39:53.84ID:YPsxTCQJ
服従回路を付ければOK
ジロー君もようやく人間になったな
まぁ兄のイチローは元々両親回路が無いから人間だっのだが
0808774ワット発電中さん2017/03/28(火) 13:56:21.45ID:vZUVgWP0
HDLで浮動小数点使う分野ってどんなん?
CPU/MPU/FPU/GPU以外で。
0810774ワット発電中さん2017/03/28(火) 22:23:43.02ID:rlaAsiWy
あんまり言っちゃいけないのかもしれないけど、
振動の分析、制御をするような用途で使ったよ。
0812774ワット発電中さん2017/04/01(土) 04:25:50.46ID:I0f5vaWg
>810
例えばどんな分析をするの?
0813774ワット発電中さん2017/04/01(土) 04:31:39.97ID:I0f5vaWg
振動を取り込むだけなら、浮動小数点はいらない。分析だったらPCでやるんじゃ
ないだろうか? みたいな疑問。
今やってる仕事とかも、マイコンでやった方が絶対に安上りなんだけど仕事だから
FPGAでやってる。自分の受け持ちだけでも300万だけども、マイコンなら恐らく
30万でも十分できそうだ。アルバイトで10万でやらせてくれないだろうかとふと
思う。
0816774ワット発電中さん2017/04/01(土) 07:06:03.30ID:TNLLjvn7
うちも組み込みだけど浮動小数点がっつり使うな

FPGA+DSP+ARM
こんな構成
0817774ワット発電中さん2017/04/01(土) 07:16:45.76ID:kY/sEuQx
>振動を取り込むだけなら、浮動小数点はいらない。分析だったらPCでやるんじゃ
>ないだろうか? みたいな疑問。
制御って言ってるんだし、「取り込むだけ」という視点はないな。
分析といっても、制御のための分析なのだとしたらPCを使えないって判断もあるだろね。
0818774ワット発電中さん2017/04/01(土) 07:41:20.65ID:VS4iTdco
金融取引。後fpgaによる数値計算で有名なのは油田探査
要はお金が唸ってるところ
0819774ワット発電中さん2017/04/01(土) 17:41:18.97ID:I0f5vaWg
>818
油田探査なんて一刻一秒を争うわけでも無かろうに。バッチでも十分間に合う。w
0820774ワット発電中さん2017/04/01(土) 17:45:11.84ID:I0f5vaWg
>アクティブサスペンション?

メカ系にそんなにスピードはいらんだろ。メカ振動でMhzはないだろ。w
0821774ワット発電中さん2017/04/01(土) 17:50:38.64ID:kY/sEuQx
とりあえず自分が思いつかない用途に需要がある、ぐらいに思っておいて良いのでは。
誰しも世の中のことを全部納得できるわけでもないんだし。

アマゾンのクラウドサービスでFPGAが使える、って話もありましたね。
何をするのに使うのか、俺の仕事の範囲では現実味が全然ない。
0823774ワット発電中さん2017/04/02(日) 12:58:02.41ID:fxm50G8D
>822
なるほどね。FPGAの場合同時演算をいくつもできるのでそういう意味では高速化できるんだね。
純粋に演算だけでも最適化するとFPGAの方が速くできるんだね。
参考になった。ありがとう。
0825774ワット発電中さん2017/04/02(日) 16:58:56.37ID:mEftNjKW
正しい例、納得のできる例が出てくるまで納得しないなんて、面倒な議論をふっかける人だな。
0826774ワット発電中さん2017/04/02(日) 17:29:37.57ID:Lx0P/E1/
研究用途だけどns単位で時間可変可能なディレイタイミング作るのにFPGA使ってるよ。複数同時に出力しなきゃならない。マイコンだとパラにns制御なんて無理だからFPGAでやってる。
0827774ワット発電中さん2017/04/02(日) 18:31:57.54ID:oHpIwzQ1
文句ばかり言って自分では手を動かさない奴は
何も生み出さないまままま人生を終えればいいんだよ
0830774ワット発電中さん2017/04/03(月) 02:54:17.46ID:Dy7XM/gQ
>826
そういうんは確かにFPGAしかできないが、あまり汎用的ではないよな。まあ研究所だと
いろいろあるだろうけど。
圧倒的にFPGAが有利な分野ってないんか?
0831774ワット発電中さん2017/04/03(月) 03:00:09.71ID:YYnxB/Vc
汎用的な用途であれば、専用IC開発されたりマイコン機能として内蔵されるものじゃないの?
0832774ワット発電中さん2017/04/03(月) 07:33:29.68ID:2XwCEGd+
>圧倒的にFPGAが有利な分野ってないんか?
自分で答えを言ってる。
>あまり汎用的ではない

ただ>>830が勘違いをしているのは、汎用的ではないもの=特殊な用途、だと思ってるところだな。

ソフトウェアの、ファームウェアのプログラムって今の世の中では特殊な用途だけに使われるものではないね。
だけど、出来合いのプログラムでは対処できないから、産業民生趣味の様々な分野で独自にプログラムを組む。
それと同じだと考えればいいと思う。
0833774ワット発電中さん2017/04/03(月) 10:40:21.63ID:Dy7XM/gQ
>832
言わんとすることは解る。FPGAの柔軟性はもちろん素晴らしいと思う。

しかしまだ自分の技術が未熟だからというのもあると思うが、FPGAってマイコンよりも
はるかに時間がかかる。マイコンなら3日で余裕と思っても1週間くらいかかる
こともままあるが、FPGAだと3日くらいと思ったら1か月かかることがしばしばある。

 柔軟だと思ってFPGAを選んでしまうとえらい目に合う。確かに柔軟ではあるが
工数が無茶苦茶かかる。

こういう傾向ってない? 自分の場合は大あり。

被害を受けるケースとしては、「ここはマイコンでも可能だが、FPGAでやって
置いた方が客にとっても柔軟性がある。よしFPGAで行こう」
とサービス精神を出したような場合だ。見積もりはマイコンで考えて三日の
費用で出す。ところが実際には納期を遅らせて大目玉を食らってしかも1か月間
もかかって大赤字。
0834774ワット発電中さん2017/04/03(月) 10:45:17.03ID:Dy7XM/gQ
やはりツールがネックになってる気がする。
せっかくの柔軟性がパー。受難性大あり。
0836774ワット発電中さん2017/04/03(月) 23:01:27.30ID:2XwCEGd+
見込みより時間がかかってしまうとか、ツールがネックだと感じるとか。

自分でとても的確な答えを言ってる。
>しかしまだ自分の技術が未熟だから
0837774ワット発電中さん2017/04/04(火) 06:08:50.12ID:k75v/N4R
マイコンもツールの進歩は長い間停滞していたが、このところ急激に進歩している気がする。
ツールでカバーできるものを技術修練しないといけないというのも辛いな。はんだ付けの自慢
と同じレベル。
0838774ワット発電中さん2017/04/04(火) 07:14:36.17ID:RWPxDEqb
これぐらいのハンダ付けはエンジニアなら普通のことだよね、っていう現場のお姉さんの話を
自慢だと感じてしまうのに似ているわけか。

マイコンのツールは簡単だと感じて、FPGAのツールが難しいと感じるのは、ツールの成熟度とは関係なく、
その人が、マイコン向けのセンスを持っていて、FPGAのセンスを持ち合わせていないだけかもしれないよ。
たとえば、オムレツはうまく焼けないけれど、棒高跳びなら県大会上位入賞レベル、みたいな人もいるわけだけど、
みんなにとって、オムレツを焼くことが棒高跳びより難しいわけじゃない。向き不向き。

持ち合わせていないものを使わなければいけないとしたら辛いね。
0839774ワット発電中さん2017/04/04(火) 07:32:57.58ID:9nV1K5XI
センスで片付けられるような問題じゃないよ

ソフトウェアプログラミングはパソコンがあれば無料で出来る
マイコンのプログラミングも2000円で出来る
圧倒的に人工が多く、情報も多い

FPGAは?
開発ツールも高いしFPGA自体も高い
人工が少ないので情報も少ない
そもそもFPGAの得意なジャンルが少ない

FPGAを使った趣味の電子工作の作品なんて数えるほどしかない
それこそFPGAを使うこと自体が目的みたいなやつ
0840774ワット発電中さん2017/04/04(火) 07:52:57.75ID:RWPxDEqb
>>839
えー。開発ツールって無料ので十分楽しめるやん。
小規模なものなら、数100円からあるし、あとの理由も、なんか、できない理由を探しているみたいだよ。
それって、典型的な「不向きな人ができないことに劣等感を持ってる」パターン。

それとさ、随分前から用途とか作例とか聞いている人がいるけれど、その時点で向いていないと俺は思うのだ。
好きならマイコンもFPGAも何かを実現する手段でなくてもいい。それ自体が目的だったりするよ。
マイコンのLチカでも、それで何がおもしろいの? って考える人より、それでワクワクできる人の方が楽しめるもん。

詰将棋ってあるでしょ。あれをやっていたって、なーんも実用的なメリットなんてないけど、それができる人が将棋に向いてる。
ついでいえばトップクラスでもなければ、将棋をやってても実際的なメリットなんてない。

不向きなものが苦手なのは当たり前なんだし、愚痴をこぼすよりも、攻略する楽しみを考えた方がいいのに。
ま、それが難しいのだろけど。
0842774ワット発電中さん2017/04/04(火) 07:57:47.41ID:3EEaswCY
>>839
マイコンなんか誰でも出来るからマイコン出来たってしようがない。もっとレベルの高いFPGAやアナログも判れば重宝されるよ。
0843774ワット発電中さん2017/04/04(火) 08:01:20.09ID:9nV1K5XI
そりゃ誰でも出来るような物しか作れないようなのはマイコンだろうがFPGAだろうが回路設計だろうがダメだろう
0844774ワット発電中さん2017/04/04(火) 08:01:52.06ID:Ww3t+WHi
映像とか高速通信とかパルサーとかFPGA向きな仕事は沢山ある。素人にはむりだけど。
0845774ワット発電中さん2017/04/04(火) 08:04:06.11ID:9nV1K5XI
仕事があるのは当たり前だろそりゃ
無かったらデバイス自体無くなってる
0847774ワット発電中さん2017/04/04(火) 08:07:04.82ID:J2Fqs16O
>>842
「マイコンが出来る」にも様々なレベルがあるけどな
あなたの感覚だと電子工作レベルのマイコンプログラミングができれば
「マイコンが出来る」と言えるのだろうなと予想
0848774ワット発電中さん2017/04/04(火) 08:12:54.74ID:2i90bbQO
>>847
どっちも仕事で使ってるけど。マイコンなんかだれでも出来るでしょ?
0849774ワット発電中さん2017/04/04(火) 08:17:39.50ID:UVtuqnch
自分ができる(と思ってる)ことについて、聞いてもいないのに誰でもできると言ってどやってる奴時々見かけるけど何がしたいのかわからない
0850774ワット発電中さん2017/04/04(火) 08:20:31.39ID:2i90bbQO
>>846
マイコンなんて仕事で2年もやればそれなりになるけどFPGAとかアナログ技術者育てるのは大変だよ。
0851774ワット発電中さん2017/04/04(火) 08:31:40.61ID:9nV1K5XI
本当に応用範囲が広いなら、8pin数十円ワンチップFPGAとか、スーパーコンピューターのFPGA版のスーパーFPGAなんかがあるはずなんだけど...

無いねwww
0852774ワット発電中さん2017/04/04(火) 08:32:14.84ID:9nV1K5XI
誰でも出来るFPGAなんかじゃなくて、ASIC開発すればwww
0853774ワット発電中さん2017/04/04(火) 08:33:32.80ID:9nV1K5XI
>>850
2年でなんとかなるのって、超小規模のオモチャソフト開発か?
0854774ワット発電中さん2017/04/04(火) 08:43:06.81ID:J2Fqs16O
>>853
だから認識がそうなんだよ
自分が「できる」つもりになってる井の中の蛙だということを知らない奴
0855774ワット発電中さん2017/04/04(火) 08:58:31.11ID:xiNkg4xl
本当にできる奴は不思議と自分ができるとは言わないんだよなぁ
0857774ワット発電中さん2017/04/04(火) 09:07:26.68ID:DhUDC1Vj
ASICに比べたら、
遅い、高い、電力食う、大きい、

ソフトに比べたら、
応用範囲が非常に狭い

隙間デバイスですね

そういう非常に狭い世界でしか威張れない
かわいそうです
0859774ワット発電中さん2017/04/04(火) 09:46:42.17ID:k75v/N4R
>そういう非常に狭い世界でしか威張れない
>かわいそうです

威張りたい、いいカッコがしたい。w

しかしまず電気ってとこが圧倒的に不利だよな。メカだと動きが見えるから
見栄えがする。
「こんなに素晴らしいものを作りました」って見せても理解できる人は少ない
からなー。

でも鉄ちゃんとか駅弁マニアよりはFPGAマニアの方がマシだろ。
0860774ワット発電中さん2017/04/04(火) 09:47:39.80ID:k75v/N4R
>マイコンなんか誰でも出来るからマイコン出来たってしようがない。もっとレベルの高いFPGAやアナログも判れば重宝されるよ。

応用分野を考えるとマイコンの方が難しい場合がおおいよ。しかしツールがいいので
開発はやりやすい。
バグ取りでもブレークをおいてすぐ修正できる。適当に作って動かしながらアジャイル
で開発できる。100個くらいのバグならすぐ修正できる。しかしFPGAは実機デバッグで
100個もバグがあると中々終わらん。w
0861774ワット発電中さん2017/04/04(火) 09:52:47.14ID:k75v/N4R
>それとさ、随分前から用途とか作例とか聞いている人がいるけれど、その時点で
>向いていないと俺は思うのだ。

お前、FPGA向いてるけど結婚に向いてないぞw。
趣味だけではできんのだよ。飯のタネにするにはどうするか? 用途、作例は重要だよ。
仕事を何とかつくらねばならんからな。
0862774ワット発電中さん2017/04/04(火) 12:17:14.17ID:YHt45DqS
>>861
それ、人に聞いてる時点でダメだろ
なんかボケーッと読んでみたけど酔っぱらいの会話より
つまらん話してるなぁ
0863774ワット発電中さん2017/04/04(火) 12:24:54.30ID:k75v/N4R
つまらん話を引き上げて面白い話にできると、頭いいなーって思うけどな。
つまらん話を貶してさらにつまらん話にするのでは、つまらん話をしてる本人と
あんまり変わらんな。w
0864774ワット発電中さん2017/04/04(火) 12:29:56.67ID:k75v/N4R
何かというと直ぐにケチをつける奴って、よっぽど自信があるんだろうな。まあ
自信を持つのは悪いとは言わんが、それに見合うだけの生産的な話もしないとな
ケチをつけるだけでは脳がないとおもうぞ。まあ生産的な話を期待してるわ。
0865774ワット発電中さん2017/04/04(火) 12:49:03.00ID:DhUDC1Vj
FPGAがぴったりな用途をあげるのも生産的だと思うけどね
なんて頑なに拒むのか意味わからんね
身近な用途が無いからだろうけど
0866774ワット発電中さん2017/04/04(火) 12:51:51.41ID:DhUDC1Vj
インテルですら一般的な使い方を見つけられずにいるよね
ハイエンドパソコンにも積まれない

しょせんはASICを作る前のブレッドボードだよFPGAは
0867774ワット発電中さん2017/04/04(火) 17:35:15.89ID:6O7iNVok
>>866
組み込みの仕事でzynq基板作ってるけどlinuxとfpga組み合わせて使うと面白いよ。ネットにも繋がるし。ラズパイにFPGAがついたようなもんだ。ASICは開発しんどいし面白くないからやりたくない。
0870774ワット発電中さん2017/04/04(火) 19:14:03.46ID:ov78swCw
>>852
半導体メーカーでASIC開発10年やってたけど一生やるもんじゃないね。
0872774ワット発電中さん2017/04/04(火) 21:15:56.94ID:YHt45DqS
そもそもFPGA云々以前に単に見積もりというものを
出来ない人間の愚痴からダラダラ続いてるだけだしなぁ

なんでニッチなデバイスじゃ駄目なのか?
FPGAを何に使うかじゃなくて自分の作りたい物を補完
するのにマッチするのかという考え方が出来ないのか?
FPGAのスレではなくHDLのスレでやる話題なのか?
0873774ワット発電中さん2017/04/04(火) 23:48:28.33ID:RWPxDEqb
>FPGAがぴったりな用途をあげるのも生産的だと思うけどね
自分で、身近でぴったりな用途のひとつを出してる
>ASICを作る前のブレッドボード

同一人物なのかな。
いつも自分で的確な答えを見つけているのにそれに気づいていない。
おかしな人だ。
0874774ワット発電中さん2017/04/05(水) 00:00:03.42ID:k8DdNle3
>>868
>全く面白さが伝わってこない
そりゃ、面白くない人には面白くないよ。他人が観て面白い映画が自分にとって必ずしも面白いものではないのと同じ。

ただ、なにごとも他人から見て地味で面白そうでないものを面白いと思える人は、より積極的に学習しやすいってことはあると思います。そのあたりから差がつくね。
マイコンの方が簡単だ、って言ってる人も、他人から見て何が面白いの? みたいなプログラミングや用途、テーマを面白いと思って取り組んだはずです。


>>872
>FPGAのスレではなくHDLのスレでやる話題なのか?
ソフトウェアのプログラミング言語には馴染めたけれど、HDLには馴染めなかった人だと思う。

自分が馴染めないものは、難しいものであって、価値がないものだと考えることで、幸せになれるとでも思っているんだろうなあ。
目を瞑っているだけなのに。それにちっぽけな人間だもの、何から何まで守備範囲にすることなんて無理ってことを受け入れることも必要なのにな。
0875774ワット発電中さん2017/04/05(水) 08:47:47.96ID:PWjkyvk3
>>874
自分が出来ることについては、それが出来ない他人をバカにし、逆に自分が出来ないことは、それが出来たところで大したことないとやはりバカにする
そういう奴が実際にいるよな

人間性が残念だわ
0876774ワット発電中さん2017/04/05(水) 10:40:13.37ID:Cyu+7HZj
> 人間性が残念だわ

こんなことよく平気で言えるな
0877774ワット発電中さん2017/04/05(水) 11:31:11.31ID:SdY1593/
>組み込みの仕事でzynq基板作ってるけどlinuxとfpga組み合わせて使うと面白いよ。

これは狙い目だというの分かってるんだがLinuxがハードルが高いw
WinじゃなしにLinuxやっておけばよかったよ。いきなり仕事を取るのは怖いし
Beagleやラズパイでチョコチョコとは遊んでるんだが、なかなか難しいよ。

要するにFPGAだけでは仕事の範囲が限られてくる。Linuxと合体すればそこら中の
あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを
失敗した上にLinuxでもまた失敗となると、泣きっつらに蜂。
0878774ワット発電中さん2017/04/05(水) 11:35:45.62ID:SdY1593/
>半導体メーカーでASIC開発10年やってたけど一生やるもんじゃないね。

心臓に悪いよな。1億くらいをお釈迦にしても平然と弁当が食えるくらいに
面の皮が厚くないと無理だよ。ASICをやると痩せるぜよ。きっと。
俺はやったことないが。
0879774ワット発電中さん2017/04/05(水) 12:58:28.79ID:jyt6fgtO
個人事業者なのか?
なんか書き込み見てると随分と稚拙な感じがするし
経験積んだ技術者には見えない
というか個人的な愚痴はtwitterでやってくれ
0880774ワット発電中さん2017/04/05(水) 13:51:37.68ID:SdY1593/
精神的に開放されていないと知性も働かないだろう。
狭量だと技術もまた矮小になる。もう少し大らかになると頭も良くなるぞ。
0881774ワット発電中さん2017/04/05(水) 18:09:03.49ID:k8DdNle3
>要するにFPGAだけでは仕事の範囲が限られてくる。Linuxと合体すればそこら中の
>あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを
>失敗した上にLinuxでもまた失敗となると、泣きっつらに蜂。

つまり、この人は「能力的に問題がある」と言ってるわけだけど、本人としては解決方法は考えているんだよな。

>狭量だと技術もまた矮小になる。もう少し大らかになると頭も良くなる

自分の問題を掲げておいて、直後に自分なりの答えを書いている。
0883774ワット発電中さん2017/04/05(水) 19:20:04.38ID:SdY1593/
応用範囲が狭くなるのは開発コストや単価が上がるからで、デバイス自体の柔軟性
は非常に高いので、ネックとなる開発コストを抑えて適切な市場を見つけることが
出来れば問題は無くなる。
 利益が見込まれるなら、便利な開発ルールなども導入できるので好循環が生まれる。
しかし現状は関連する仕事があまりないので年に一回程度しか使わない。こういう
状況だとなかなか上達もしない。3か月みっちり使ってかなり上達したのにまた忘却
サイクルに入っていく。

 アッ、でも今回は予定よりもはるかに長いので技術も上達しつつある。長い目で
見ると酷いトラブルは世界を広げたり、技術の上達には良い結果をもたらすので
はあるまいか。
 それにも増して何よりも大事な「謙虚」というものを学ぶことになる。

>881
 少し冒険をして、難度の高いものをやれば、どんなに優秀な技術をもってしても
きっとトラブルと思う。そうすると知性と謙虚さを学ぶことができる。と思う。
0885774ワット発電中さん2017/04/05(水) 20:03:45.52ID:bOXFa/O0
FPGAでCPU作ろうとしてるんだけど、どれ買えばいいのかわからない
0886774ワット発電中さん2017/04/05(水) 20:24:43.37ID:JVs1fI5c
今からFPGA勉強して参入出来そうな市場ってあるの?
0889774ワット発電中さん2017/04/05(水) 20:59:05.53ID:PWjkyvk3
本当にいろんな事がよくできる人って不思議と謙虚な人が多いよね
なんでだろう
0892774ワット発電中さん2017/04/05(水) 22:04:11.25ID:k8DdNle3
プロ野球で代打要員の選手が、
「打席に入るのはせいぜい1試合に1回。あとはバットを握ることはもちろん、他のトレーニングもしないので衰える一方」
なんて言ってたらそりゃ仕事は減りますよね。
0893774ワット発電中さん2017/04/05(水) 22:53:17.71ID:tCst8H9X
出来ない理由探しにしか見えないからなぁ。
Zynqに興味があるなら、何か適当なペリフェラルでも
自分で作ってみればいいし、Linuxが嫌ならFreeRTOSが
オフィシャルにあるんだから、それ使えばいいし。
話の流れに出て来た人ってさっさと手を動かしてる人だよ。
口というか愚痴ばかりで駄目エンジニアの典型にしか見えない。
0894774ワット発電中さん2017/04/05(水) 22:54:13.47ID:tCst8H9X
×話に出てきた人
○話に出てきた出来る人
0895774ワット発電中さん2017/04/05(水) 23:13:09.62ID:oDf3nJPN
>>885
別の人も書いてるけどDE0-CVがお手軽。
でもCPU作るならFPGAで作る前に、簡単なエミュレータを作ってサイクルとかを設計した方がいいよ。いきなりは作れないから。
0896774ワット発電中さん2017/04/05(水) 23:35:10.92ID:Eox1aq8j
8080でもエミュを作れれば問題解決能力が
桁違い、それも3桁以上になるだろう。
給金は伸びないけど。
0897774ワット発電中さん2017/04/05(水) 23:48:13.79ID:e/eYfLqE
$119 15K DE0
$150 49K DE0-CV
$85 50K DE10-Lite

コスパなら、DE10-Lite だな
0899774ワット発電中さん2017/04/06(木) 00:34:54.23ID:BvGOI6Q6
でもクソ頑固な方はハマれば最高だが
聞く耳を持たず自分が誰よりも正しいと思ってるから伸び代も少ない
0900774ワット発電中さん2017/04/06(木) 03:35:10.49ID:xogOISOJ
段階を丁寧に追っていかないとマスターできないという人は理系の仕事には
あまり向かない。始めてチューリングマシンのアイデアに触れただけで、コンピュータ
の全体的イメージが出来上がる位の想像力は必要だ。
LEDチカチカができれば、「ヨッシャー、これで何でもできる。」と思える位の大胆さ
は持ち合わせていてほしい。
 とは言えそうは問屋がおろさない。想像力があることと実際にそこに到達する
ことができることとはかなり違ってくる。
到達するには「クソ頑固」が必要になる。一人で二つの性格を合わせ持つのは難しい。
しかし性格の反対のものが二人いて協力すれば簡単に到達できる。

>口というか愚痴ばかりで駄目エンジニアの典型にしか見えない。

これはクソ頑固な人から見た柔らか頭の持ち主の典型的イメージだ。職場にも
そういう人を見つけてたら是非とも協力するということを思いつくと素晴らしい
ことが起こると思う。
0901774ワット発電中さん2017/04/06(木) 08:17:08.87ID:fRfXWBwr
この人いちいちなげーな
0903774ワット発電中さん2017/04/06(木) 09:06:20.34ID:B6WVweHU
自分だけは常に誰よりも正しいという前提

に立ってる人っているよね
端的に言えば傲慢な人
0905774ワット発電中さん2017/04/06(木) 12:46:52.61ID:xS4jKUZs
verilogで、
reg [7:0] retsu [0:5] [0:6];
みたいに定義する配列って、
同一モジュール内でしか使えないですか?
下位モジュールに渡そうとしたら、
下位モジュールのinputの定義でエラーが出てしまうので、
どうなのかと思っているのですが。
0906774ワット発電中さん2017/04/06(木) 12:58:37.26ID:xogOISOJ
>905
 もっと簡単なことでもエラーを出さずに誤動作するので、エラー警告を出しただけ
でも驚きだが、そういうことはやらない方が良いと思う。
0907新豊田市駅2017/04/06(木) 13:15:35.01ID:ZIFSwZ82
あーあローンの返済後とかロンリーガールとか金持ちの庭とシマウマとかから解らなくして安城と刈谷で電車で死亡事故があったー!辞めろ風評被害!レジェンドこじきのイカロスになるしかない人たちがー!スラムダンク!

安部マリーオ!
0908774ワット発電中さん2017/04/06(木) 13:16:04.47ID:xS4jKUZs
>>906
自分がイメージしやすいように、
8bitデータの二次元配列で扱いたかったんですが、
出来ないものはしょうがないですね。
ありがとうございます。
0909新豊田市駅2017/04/06(木) 13:20:21.01ID:ZIFSwZ82
馬鹿だねー出てけーそうなるしかないのにねー顔パス?こじきにするよ
0910新豊田市駅2017/04/06(木) 13:24:24.47ID:ZIFSwZ82
パトカー何台とー
0912774ワット発電中さん2017/04/06(木) 19:07:14.99ID:xogOISOJ
 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
で自動的にリセットを入れるから省略されているだけで、もしリセットしないレジスター
ではリセット回路が入ると考えていいのだろうか?
0914774ワット発電中さん2017/04/06(木) 19:57:14.00ID:yo71/rW1
>>912
FPGAならコンフィグで初期値が書き込まれる
ソースにないリセットは合成されない
0915774ワット発電中さん2017/04/07(金) 13:40:56.08ID:PplUyc0X
>914
コンフィグで初期化されるのか。
チョと不安がよぎるけれども考えてみたらそれで十分だね。いままでmodelsim
でのRTLシミュレーションの為にリセットを必ず入れていたが、変数を初期化して
おけば必要ないな。
寧ろ積極的にリセット部分は除くほうが方がベターだね。特に同期リセットを
入れるとかなり回路が複雑になる。
 それにソースもリセットがないとシンプルで見やすくなる。
リセットは邪魔だね。変数の初期化でやってしまうべきだろうね。
0918774ワット発電中さん2017/04/07(金) 17:01:22.37ID:PhjvhWW6
リセットSWの無いパソコン、電源ON/OFF するしかない
まぁ、確かに そういう物も存在したような気がする
0919774ワット発電中さん2017/04/07(金) 17:52:28.82ID:PplUyc0X
>918
 リセットを設けるならコンフィグからかければいいのではないかな? 数ミリセカンド?で
リセットできるのだからね。
リセットが必要なのは誤動作した場合だが、その場合はロジックのバグなどの誤動作というより
は電気的な誤動作と考えた方がいい。そうかんがえるならコンフィグをしないとRAMベースの
FPGAの場合はRAM内のロジックが飛んでる場合もあるからね。
どのみちコンフィグのリセットをするんなら内部のレジスタリセットはいらない。
無用の長物だ。
0920774ワット発電中さん2017/04/07(金) 18:04:10.81ID:PplUyc0X
1.PoweronReset  電源を落とす。
2.config reset  ローディング時間がすこしかかる
3.register reset グローバルリセット
4.Logical reset  これは適宜必要に応じていれる

3は
reg buf = 0;
とする。if(reset)はすべて省略、一切いれない。外部SWでグローバル
リセットするような場合は2のconfigresetで行う。

4のロジカルリセットはこれは必要なロジックがあれば当然つける。
てことね。
0922774ワット発電中さん2017/04/08(土) 09:11:32.74ID:TrrShKaz
>>921
そう書くなら、どのあたりがどんなふうに戯言なのか書くべきだと思うんだ。
それを避けてるでしょ。誰かが具体的に言って、些細なことでグダグダになるのを高みの見物でもするつもりっすか?
あえて言うけど、ずるい。
0923774ワット発電中さん2017/04/08(土) 09:29:10.69ID:5Y98IkeC
2chの書き込みを裏をとらずにそのまま信じるアホはさすがにいないかと
0925774ワット発電中さん2017/04/08(土) 09:52:24.58ID:kB5Op5Wm
>922
前例がないので反発があるのは当然だ。

★最近のFPGAではグローバルリセットは無用

これはかなり大胆な意見だと思う。どこの教科書にもリセットが入っているし、こんなことを
いう人の前例がない。
しかし正しい選択だと確信している。意見のある人は言ってくれれば答える。
0926774ワット発電中さん2017/04/08(土) 10:02:33.28ID:5Y98IkeC
正しいと確信してるなら他の人に意見を聞くな
確信してないから意見を求めてるんだろ?
0927774ワット発電中さん2017/04/08(土) 10:03:02.36ID:kB5Op5Wm
前例がないことに対しては誰も慎重になる。そのことを真剣に考えてみるということは
めんどうだ。考えることよりも学びを主体にした知識習得をしていると、誰もが正しいと
言っていることは、敢て反発するのは怖いものだ。
しかしベテランというポジションにいる人は、何か一言わざるをえない。そうしないと
示しがつかないからだ。
それが苦言。まあ稀に正しいこともあるが間違っていることも多い。
0928774ワット発電中さん2017/04/08(土) 10:09:51.08ID:5Y98IkeC
製品開発だと不要なリスクをわざわざ負う必要が無いっていう意見が重視される
前例の有無はそれはそれで意味がある
いろいろな評価が通ってることがわかってるわけで

リスクがあっても何も問題が無い用途でやってねって感じ
趣味ならどうぞどうぞ
そうじゃなきゃこんなところで同意を求めてないで評価、検証
0929774ワット発電中さん2017/04/08(土) 10:10:57.35ID:kB5Op5Wm
>正しいと確信してるなら他の人に意見を聞くな確信してないから意見を求めてるんだろ?

あなたの言葉にはこの問題にたいする断定的な言葉がない。この問題をはぐらかした
意見でしかない。良識的意見のようであって、実は問題とは関係ない。

この問題が正しくても間違っていてもあなたは被害をこうむらないように逃げ道が
用意されている。

 そんなにビビらなくても、正しいのか間違っているのか。その意見を言えばいい
と思う。
0930774ワット発電中さん2017/04/08(土) 10:19:32.64ID:5Y98IkeC
検証しないで正しいとか正しくないとか無責任なことは言わない
0931774ワット発電中さん2017/04/08(土) 10:38:05.11ID:Roxwkhx1
>>921
赤いIDは戯言率高し。俺は小ズルいのさ。
ID:76ccvaD/
ID:/f9oldZT
ID:crzqUro7
ID:TcShF5sa
ID:G/ANrYqO
ID:m3kX9Ato
0933774ワット発電中さん2017/04/08(土) 10:47:38.00ID:4B4Yv29r
別に間違ってないと思うよ。
ただ、グローバルにしてもモジュール単位にしてもリセットがあったほうがデバッグしやすい場合はあるね。
0934774ワット発電中さん2017/04/08(土) 10:51:31.92ID:4B4Yv29r
あと、今はリセットを要求されていない仕様で問題ないかもしれないけど、別の設計でリセットが必要な仕様のときにモジュールの再利用がしにくくなるかもね。
0935774ワット発電中さん2017/04/08(土) 10:53:19.35ID:kB5Op5Wm
最近猫にどう芸を仕込んだらいいのかとかなりトライしてきたので、頭の固い人を
相手にしても感情的にならないで優しく見れるようになってきた。どうやって教えたら
いいんだろうとは思うが、噛みついてきても怒りにはならない。

 寧ろ可愛い。
0936774ワット発電中さん2017/04/08(土) 11:00:57.62ID:TrrShKaz
>正しいと確信してるなら他の人に意見を聞くな
正しさには多様性があるから、他の正しさを聞いたり、他の価値観に照らしてみるという作業は必要だと思うんだが。

>>933-934 が実際的で、俺は同意できるな。

>>935
猫はモフモフしていて良い匂いだから。
0937774ワット発電中さん2017/04/08(土) 11:03:40.69ID:4B4Yv29r
>>919
FPGAでかいと100ms以上かかるし、バスの仕様によっては1ms以内に動作しないとならない場合もあるよ。
0938774ワット発電中さん2017/04/08(土) 11:16:55.18ID:kB5Op5Wm
>937
100msecはキツイな。しかし暴走したんだからやむえない。リセットかける以外に
方法はない。暴走以外で手動リセットがひつようになるケースはないのでは?

しかしバスの仕様でという場合には、ロジカルなリセットでないとだめではないの?
つまり初期化とは別に、ロジカルにリセットを用意しておかなくてはだめでしょ。
0939774ワット発電中さん2017/04/08(土) 11:24:25.26ID:4B4Yv29r
どういう意味かよくわからないけど、バスの仕様を満たせるならロジカルだろうとグローバルだろうと非同期だろうと同期だろうと好きなリセットにしたらいいと思うよ。
そういったリセットを無しにしてFPGAの初期化の機能だけ使えばリソースを減らせる、という話ではないの?
0940774ワット発電中さん2017/04/08(土) 11:25:11.97ID:kB5Op5Wm
>933
 デバッグかー。一括リセットしたいという場合はあるかもしれないね。自分の場合は
モジュールが小さいので、それが必要なケースに出会ったことはないが、、、

そういう場合にはテストベンチでなにか工夫はできないのだろうか?
ソースにくどくどとif(reset)をいれる理由にするには、自分としてはすこし弱い気
がする。
リセットを無くせばかなりスッキリする。特にRTLビューワで見た時にスッキリと
なるのでドキュメントに貼り付ける時に非常にわかりやすい。
0941774ワット発電中さん2017/04/08(土) 11:32:04.81ID:kB5Op5Wm
>そういったリセットを無しにしてFPGAの初期化の機能だけ使えばリソースを
>減らせる、という話ではないの?

そうではないよ。
初期化リセット以外ではリセットが必要のないレジスタであってもリセットを
いれているというケースです。
0942774ワット発電中さん2017/04/08(土) 11:41:15.68ID:kB5Op5Wm
>あと、今はリセットを要求されていない仕様で問題ないかもしれないけど、別の設計で>リセットが必要な仕様のときにモジュールの再利用がしにくくなるかもね。

客先から「リセットを入れよ」という仕様になっていれば仕方ないね。
でも「つべこべいうな。何が何でもどうしてもリセットを入れよ。リセットがないと
検収を上げん。」という頭の悪い客の場合はしかたないけれども、このデバイスでは
リセットは不要で、入れない方がいいですといえば普通は納得してもらえるのでは
ないだろうか?

そういうことは別にして、実際にリセットが必要な仕様というのはあると思う?
所謂、初期化リセット、グローバルリセットのことだけど。
つまりconfigでリセットをかけることができるのに、それとは別に初期化リセットが
必要な回路って殆どないと思う。

もちろんロジック的に同期リセットが必要になるというのは普通にあるけど、それを
グローバルリセットで代用するってことはないんので、これはリセットを省略する
ことは元々できない。
0943774ワット発電中さん2017/04/08(土) 11:49:02.82ID:4B4Yv29r
コンフィグ時間が問題になるときとか、リセット中のFPGAのピンの状態を確定させたいときかな。
その辺の問題がなければリセットピン無しにすればFPGAのピンを1本節約できるね。

ただそういう目的と記述中にリセット記述をしないこととは別問題だとは思うけど。
0944774ワット発電中さん2017/04/08(土) 15:43:13.83ID:kB5Op5Wm
>コンフィグ時間が問題になるときとか、リセット中のFPGAのピンの状態を確定させたいときかな。

それはおかしい。Config中でもHZで確定してるし必要ならPULLして確定しなくてはいけない。
逆にリセット時の出力確定とConfigの確定は一致しておかないとまずいでしょ。イニシャルリセットだよ。

暴走したらConfigするしかないので、Config時間が問題になるような設計ではいけないということになるね。
0945774ワット発電中さん2017/04/08(土) 18:23:01.99ID:4B4Yv29r
例えばFPGAにつないでいるデバイスがリセット解除時にクロックが必要だとか、ポートのHigh/Lowを指定してくるだとかはよくあると思うけど。
もちろんFPGA側でそのデバイスのリセットが握れるなら問題ないけど、そうでない場合もあるでしょ。

>>暴走したらConfigするしかないので、Config時間が問題になるような設計ではいけないということになるね。
そもそも暴走するような設計にしたらあかんでしょw
0946774ワット発電中さん2017/04/08(土) 18:30:09.12ID:NMjrxxGn
非同期問題を甘く見てる この手ヤツは、いずれ会社に億単位の損害を与えるから そのに時体でわかるよ
理解できた時は既に手遅れだけどな、一生忘れられない経験になる
0947774ワット発電中さん2017/04/08(土) 18:38:59.54ID:TrrShKaz
>>925
>暴走するような設計にしたらあかんでしょw
「Configしなおさないとリカバリできない暴走」を回避する設計ってどんなのでしょうか。

静電気のアタックや電源瞬断、雷サージなどに対する堅ろう性とか?
0948774ワット発電中さん2017/04/08(土) 19:58:55.51ID:4B4Yv29r
「Configしなおさないとリカバリできない暴走」があるとしたら放射線によるソフトエラーとかですかね?
私はそんな状態になったのを見たことありませんけど…

そもそもなぜ >>938 から暴走した時の話が出てきたのか私にもわからないけど…
0949774ワット発電中さん2017/04/08(土) 20:24:52.94ID:kB5Op5Wm
>私はそんな状態になったのを見たことありませんけど…

自分もだけど、リセットなんて使うことがない。でもリセットしたい場合もある。
そのときはConfigでいいのではないかって話。コンフィグなら reg buf = 0;で簡単に
リセットできる、リソースも全く消費しない。回路もシンプルになる。

話がかみ合ってないのだろうか?
なぜわからないのかわからない。

リセットが必要なケースはどんなケースがあるのかだよね。  マニュアルSW
1.PoweronReset  電源を落とす。
2.config reset  ローディング時間がすこしかかる     マニュアルSW
3.register reset グローバルリセット           マニュアルSW
4.Logical reset  これは適宜必要に応じていれる
これ以外にはないでしょう。
4は省略できないから問題外だよね。 
3は不要で2で代用できるはずというのが自分の考え。

3が必要な例として
 デバッグでリセットを使いたい。 これは大規模な場合はあり得るかも
 小規模ならリスタートでいい。

他に3のケースがあるんだろうか? ないなら2のコンフィグでリセット代用で
いいのではないか? むしろそうすべきだと思う。
0950774ワット発電中さん2017/04/08(土) 21:33:15.40ID:4B4Yv29r
確かにかみ合ってないのかも
3, 4の違いというか定義が良くわからない。

3はすべてのレジスタに一本のリセット信号線で入れる非同期リセットみたいなもの?
4はモジュール単位のリセット信号とか?
0951774ワット発電中さん2017/04/08(土) 22:01:55.70ID:4B4Yv29r
例えばカウンターとかシーケンサーの記述でリセット記述はせず、レジスタ初期値だけ記述する。
リセットしたくなったらコンフィグからやり直せばいい、という意見だよね。
せっかくFPGAの機能としてあるんだからそれをうまく使えばいい、というのは私も賛成です。

ただ、>>943 のような理由からリセットが必要な場合も多々あって、常にリセットなしでというのは無理がある、または非合理的だし、ソースの再利用を考えるならリセット記述をしておいたほうがいいかもしれない、と言いたいわけです。
0952774ワット発電中さん2017/04/08(土) 22:22:19.68ID:4B4Yv29r
実際リセットをレジスタ初期値に置き換えたらどの程度使用リソースが減るんだろう。
XかAか同期か非同期かにもよるんだろうけど…
0953774ワット発電中さん2017/04/09(日) 01:03:06.87ID:T6S2xSgo
既に使用デバイスが決まっているなら、使用率の減少は絶対的な価値ではない。
検討段階でデバイスをワンランク落とせるなら、それは価値のある事。

でも本当の動機はソース記述量を一行でも減らして、ソースを書く時間を
節約したいという事だろ。そうすれば、ASIC化の可能性も潰せるし、
何より楽ができる。
0954774ワット発電中さん2017/04/09(日) 07:34:29.51ID:LheVe4ff
>そうすれば、ASIC化の可能性も潰せるし
この話題とどういう関係があるのだっけ。
それに、ASIC化の可能性をなくすことってメリットあるの?
0955774ワット発電中さん2017/04/09(日) 08:50:01.96ID:CvKg6enZ
>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が付いていてほしいかも、と自問してみた。
暫く悩んだが、やっぱりいらないと結論した。
0958774ワット発電中さん2017/04/09(日) 09:05:49.31ID:LheVe4ff
>精神的メリット。resetがないならAsicは無理。w

ASIC化できることの方がメリットあると思うんだが。
0961774ワット発電中さん2017/04/09(日) 10:18:39.17ID:y56uCNBI
自分だけは誰よりも正しいという前提
自分だけはバカじゃないという前提
自分だけは能ある鷹であるという前提
0962774ワット発電中さん2017/04/09(日) 12:46:24.70ID:QyR6HXT9
そういえば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
0967774ワット発電中さん2017/04/09(日) 13:42:47.40ID:VFAarKh8
面白いのは、非同期 set/rst 付きのFFを合成させた場合
トランス・ペアレントLATCH + XOR の追加で逃げてる

Warnnig 出るから、何だろうと思って追ってみたら
自ら合成した箇所で、Warnnig 出してたな
0969774ワット発電中さん2017/04/09(日) 14:10:09.46ID:LheVe4ff
>「ASICは無理、出来ません。resetがついてないので、、、」

んー。俺のお得意さんにこんなことを言ったら「重大な瑕疵」って言われそうだ。
0970774ワット発電中さん2017/04/09(日) 14:18:43.42ID:CvKg6enZ
チョット燃料投下すると賑やかになるな。w
0971774ワット発電中さん2017/04/09(日) 14:33:33.45ID:uwMDGr5F
ループの回数の上限ってなにで決まるんですか?
ループが多すぎるってシンセサイズのエラーが出ました。
0972774ワット発電中さん2017/04/09(日) 14:38:49.22ID:T6S2xSgo
>燃料投下
自白しましたし、もう解散でいいでしょ
0973774ワット発電中さん2017/04/09(日) 15:06:43.55ID:LheVe4ff
ふむ。

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

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

「あらゆる仕事をゴッソリ取れる。しかし、取ったはいいがFPGAで納期見積もりを 失敗した上に…」と愚痴りたくなるだろな。
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
誠意を込めてレスしたいのだが、返信の難しいレスが多いな。
0981774ワット発電中さん2017/04/09(日) 16:14:10.45ID:QyR6HXT9
>>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で代用はできないもの。
0983774ワット発電中さん2017/04/09(日) 16:59:59.15ID:QyR6HXT9
>>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例でいいので例を挙げないとだめですよ。
0985774ワット発電中さん2017/04/09(日) 17:22:55.02ID:QyR6HXT9
3と4は記述としては全く同じじゃない?
違うなら実際のコードで例を出してほしい。
0986774ワット発電中さん2017/04/09(日) 17:36:21.39ID:QyR6HXT9
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にリセットなんか付けたことない。
0988774ワット発電中さん2017/04/09(日) 18:55:48.55ID:QyR6HXT9
例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
いつリセットが来るかなんて教えてくれない。
もちろんリセットボタンを押してもリセットがかかる。

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

なぜ自信満々でないと言い切れるのか不思議だ。
まあ、趣味でやっているのだろうから好きに作ったらいいけど。
0989774ワット発電中さん2017/04/09(日) 19:18:50.84ID:LheVe4ff
んー。
ID:CvKg6enZ はその経験の中でそれで十分だと考えていて
ID:QyR6HXT9 はそれでは十分ではないと言ってるのだよな。

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

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

この話題は ID:CvKg6enZ が広場の中心でマイクを持って主張を始めたところに、とおりがかった ID:QyR6HXT9 が
それはどうなん?って感じで声をかけたようなものだと思う。どこぞの政治家の演説に論戦をふっかけたって、
その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。
0990774ワット発電中さん2017/04/09(日) 19:35:59.22ID:CvKg6enZ
>例えばパソコンを再起動したら各デバイスやバスにリセットがかかるよ。
>いつリセットが来るかなんて教えてくれない。
>もちろんリセットボタンを押してもリセットがかかる。

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

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

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

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

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

困る場合はリセットを入れる。しかし殆どこまらないのではないかな。
最悪困った時はConfigリセットでいい。
0991774ワット発電中さん2017/04/09(日) 19:41:21.26ID:CvKg6enZ
>その政治家の意見はかわらん。適当なところで、ID:QyR6HXT9 は引いた方が良いと思う。

政治とは違うよ。できない例が一つでもあれば終わりだからね。その例をだせれば
其のときは君の勝。 打ち負かしたら気分が最高になると思う。
かなり有利な立ち位置にあるのに、すこしは考えてみてよ。
0992774ワット発電中さん2017/04/09(日) 19:48:11.79ID:CvKg6enZ
なぜパソコンリセットの例がでるんだろ。
ろくに考えもせずにリセットは絶対に必要だと思い込んでるのではない?
それとも勘ちがいしてるのかな? Configで代用するというのは理解してるよね。
もんだいは一寸時間がかかるってことくらいだから、パソコンリセットとの同期を
例にするのが意味不明だ。
0993774ワット発電中さん2017/04/09(日) 19:54:31.22ID:QyR6HXT9
>Config resetで問題ないと思うが、、、パソコンの立ち上がるまでに腐るほど時間がある。
操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIOSがどんなデバイスがいるか見に来るのよ。

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

うーん、自分で手を動かして、既存の考えにとらわれず新しい方法を検討する姿勢は素晴らしいと思うんだけどね…
0994774ワット発電中さん2017/04/09(日) 20:15:28.90ID:CvKg6enZ
>操作できるようになるまでは時間がかかるけど、リセット解除後かなり早い段階からBIO>Sがどんなデバイスがいるか見に来るのよ。

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

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

総括:美味しいボード リセット入れること
   普通のボード  リセット不要
0996774ワット発電中さん2017/04/09(日) 22:15:37.80ID:T6S2xSgo
怠け者が本質なのに、真っ赤になって駄文繰り返すとか変な所で勤勉なんだな。
勤勉な馬鹿。
0997774ワット発電中さん2017/04/10(月) 06:21:51.05ID:qCqh+BdC
しかし、熟練技術者の先輩に苦言をいうのははばかられるが、そういう一言は飲み込んで
ぐっとこらえると部下が伸びる。特にお調子者の部下の場合はさりげなく褒めると伸びる。
もう技術者としては歳だろうから建設的な提案を出すのは難しいとは思うが、そういう
場合にも若い者の意見を理解するように努めないといけない。これはやはり質問の発し方
が重要だと思う。
 意見の意味する本質を引き出すような適切な質問をすると部下も非常に喜ぶ。感情的に
食ってかかるというのが一番いけない。それよりもさらに悪いのは意味もなく只管貶すこと。
部下も伸びないし、自分も伸びない。それでなくても年を取ると段々頭が固くなるのに
それを加速するようなことをしてはいけない。
と思います。
0998774ワット発電中さん2017/04/10(月) 07:00:13.27ID:HWBm2vGI
○ FPGAでは非同期リセット不要。
○ 完全同期回路仕様推奨。非同期動作の完全撤廃。
○ Config終了時の初期値定義を推奨。
これらは別に新しい意見じゃなくて、FPGAベンダーのポジショントーク。
彼らはFPGAが売れればいいからASIC展開とか要求としての非同期は考慮しない。
0999774ワット発電中さん2017/04/11(火) 18:53:31.21ID:b1xY0IgW
>>998
オレサマはASIC設計だから、FPGAで動かすにしても非同期リセットですがなにか?
1000arisa ◆QaHT6HayjI 2017/04/11(火) 18:58:55.53ID:b1xY0IgW
リセット入れて下さいと仕様書にもかいてあるのに、
リセットが入れない設計と実装をする技術者なんか、
取り替えればいいだけだろ。
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
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況