[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/23 14:48 / Filesize : 276 KB / Number-of Response : 1048
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:774ワット発電中さん [2016/08/08(月) 08:14:48.93 ID:Lhv7D4dX.net]
HDLの処理系も、それを実際に動かすシミュレータ・評価基板も、
安価で入手できるようになってきました。

このスレが目に入ったお嬢さん! HDLで何か作って遊んでみませんか。
日曜工作のHDL書き、学生さん、プロの方、主婦の方、カキコお待ちしております。
関連情報は >2-10 あたり。

入れ食いキーワード
・Nios、MicroBraze
・Artix-7、Kintex-7、Virtex-7、ハードコアCPU内蔵 Zynq-7000

前スレ (直近スレのみ)
2012/11/03〜 【Verilog】 記述言語で論理設計Project12 【VHDL】
uni.2ch.net/test/read.cgi/denki/1351913871/
2011/12/07〜 Project11
uni.2ch.net/test/read.cgi/denki/1323187568/
2010/09/17〜 Project10
kamome.2ch.net/test/read.cgi/denki/1284652343/

※前スレ
rio2016.2ch.net/test/read.cgi/denki/1394091422/

2 名前:774ワット発電中さん mailto:sage [2016/08/08(月) 08:15:22.75 ID:rS0bDErD.net]
MIT発、VerilogをベースとしたDNAプログラミング言語
早く弄りたい

3 名前:774ワット発電中さん mailto:sage [2016/08/08(月) 08:31:19.00 ID:6R+oGpyJ.net]
)))()())()(())))))(((()())((()))(()(((()()()((()())))((())(((()()))(((())))(
(())(()(((())()))))()())((()()()())((((()(()()())()(((()(()))))(())))())()()
((())()(()))(((())())()))(()())(((()()())((())())(()()((()(())))))()((()))()
()(())))(()()))))(()()))((()()()()))))()((())))()())(())()()(((())((((()((((
())(()))))(((((((((()()))())))()()))()(()))))((((())()())())))()(())((()((((
))()()(()((((()))())))((()()((()(()()(()()(()()))))(()()((())())()))())()(()
)())())())((())))()(()())))()(((((())))(((((()))((())()))(())((())((())(()()
())()()()()())())()()))(()(()))()(((()()()()()()))())()(()())(()))()(()(((((
())(())(()(()((((())(()(()(()())(()()))())()()())()()))())()(()))))()(()((()
())((()()(())((())(())(((()))))()))))((())(((()))()))()()(((())((())((())())
)(())()()))()()))()((())()(())(()((((())()))()))))((()))))((((())()((()(()((
)(()(((((((((())(()()((()))()()(((())())()()()()())))))()())(()))()()()))())
()())))()))()((((((()))()()))((())(()()((())()(())()())))()((()(((()()))(())
))(((()()(())))))(())))((())(())(()(()()(())((()(((()((()))))())())()))((()(
()())()(((())((()())(()))(()())))(((()(()())((()((())()()((())()))(())()))))
)))(()()))))()()((())()())))))(()(()))())(())((()((()(()))((((()((()(())((()
)()(())(()))(())(()))))((()))()()))()()()((((())())))((())()())((((((((())()
(())()))))())()()((((())())(((()()())()(()())))())()((()(((()())))((())))(((
()(())(((()()()()())()()))()()))(()()()()())()))(()()())))(())(((()))((()(((
(()))))())())))))())())())))(()()(()))(())(((((((()())()((((()((())))(()((((
())()()(())(()()))(()())())((()(())()((())()()()(()()))))()())((()())((()()(
()())))))())())(()()))()(()((())((())(()(())(((((())()())(((()(()()))()(()))
(()))())))(()))))())())(()())()()(()(()())()((()(((()())(()(((((()))()((()))
(()()))(()(()(())())(()()())())((()(()(((()))())))())))()(()))((()(()())(()(
)())))())())))))()())((()))()))()()()))(((()(()))(()()(((((((((()(())(())(((
(()(()()()))(()(()((()))))))()((((())(()()())())(()))(()))(((((())(()))))(()
())((())()))(((((()))(((())()(()()(()()((()()))()(()(((()()))()))())))()))()
()()()())())())))((())())((((()(())()()((()()((((()))()(())))(()))())))(()((
()())()())))(((((())()))))())))(()()())))))(()))(((()((((()(((()())((())()((
((((())()(())((()(()()())((()()()(()())()))()((())))(((())()))))))()((()))()
)))(((()(()()())()()((()())))((()(()))((((((()())((())(())())))()))()(()))()
)())(())())()(((((()(((()()())())())()))()))((()))))()(())(()))(()((()()()((
(()((()(()()(()((()))(((())()(((()(()))(()())))()(())())))())((())()(())))))
)())())()(())))))(((())()()(()(((())()())())(((()))))))))(((()(()(()()()((((
))()))(()()))())))()))))(())(((()()((())()))))()(((()))((())(()((()((((()(((
))))((((()())(((()(()))))))()(()(()()(())((((())))((())((()()))))()(()(())()
))(())(())()))((())(())))((()))())((((())(()((()))))(((()())))((())()()(()((
)((()())))(()(()))(())()(())()((((((((()(((()(()(())(()))))))(())))()))(()))
())(((())()))))((())(()(()()))()())))(())())(((())((((()()(()))())((()())()(
)(()))()())()()()()))(()()()()()())))())(()(()()))(()(()())))))((((((((()(((
)))(()()()())(()))(()((())))((((((((()(((())))))))()()))(((()())((((())))())
)))(())(()((((())())(()))()))))(()())))(())))()()))(()()((()())()((((()(((((
()()()()((())(()(())((()))(()(()))()()))()()(((())()()()())))))()(())()(()((
(((()(((())(()(())())())))()))))((())))(())(()()))(())(((((())((()))()()(())
)((()()()))())()()()(())((()()(()))())(((((())))((()))())())())(((()))((()()
())(()))(())))()(((())()()()()((())))())))(((()(()(()(((())())()))((()((()))
())))))(())()()()((((()()())()(()))()()(())))((()((())((())((()))))()()()(((
)()))))))()))((())))))()(()(()()(((()(())(()())((()()())))()())(((((((()(()(
((()())()(()()))())))())(())(()())()(())((())()()()((()))()())(((((()))()()(
(()(((())()()()(()(())(()))())()())()()((())(((())()))(())((())())))()((()))

4 名前:774ワット発電中さん mailto:sage [2016/08/08(月) 18:24:59.82 ID:J/APn8wZ.net]
>>2
面白そうだな

5 名前:774ワット発電中さん mailto:sage [2016/09/19(月) 21:11:12.20 ID:UfMInlU2.net]
)()(((()((())()())())())()((((()()))()))))))()()((((()))())(())()))(())(((((
(()))(()()()))())(()()())()(((()()((())))))(())()())(()()())(()()((((())())(
((()())(((()))())()()()()(()((())))(())))()()()))()()(())()(()(((())))()(()(
(()(()(((()())(()))()()))())))()()((()()))()))((()(())())))(((()(()(((()()))
)(())((())()((())))((())()((()())())(()()(()((()((()))(())))))))(()(()()))((
)(())))((()))((()(())))()((()()()((())()())(())))())()()()((()(()())()))((((
)))))()()(((()()(()())))()(()(()()())(()(())((()(()(())(((((()))((()))()))))
(()())(()(())()())((((((())())))(()))())())(())))(()))))(())((()(()()((()()(
)()(())((())()((((()))())(())()(())(()))))())())((()))()((())(()()(()()())((
)))((((())()))(())()((((())()()(()()((())()))))))()())())()()((())(()((((())
(())))((()))())(()(())())))())()(()()()())(())(((()((()))((()))())(()()(()((
()())()()))())(()()()((()))(((((((()())()()(((((())())))()()()))))))((())()(
())(()(())(())(()()))(())((()((()(())((())((()())))))(()((()()()(()))))))()(
))()()()(())((())(()(())))((((((((()((())))()))))(()(((())(()))))((())())())
)(()((())())()))()(())()(())()()()))))(((()(()(()))))(()((()))()())))(((((((
)))))))(((()))()((()((()((((()()()(((()()())))()))()(((())((()())))()(()))()
((())())())(()((()((((((()(((()((()))))()(((()))))))()))()()((()())))())()))
(())))((((()(()()()(()()())))((()(())()()()()(()())))())())()))((()(())())((
))())(((((())(((()(()()()(((()))()()())))))()))((())(()()(()))))())())(()(((
)))())()(()())))()((((()((()(())()()()))))(((()((()))()()()())(()()))()((()(
))))())))()((()(()()))(((((()(()()())()(()())(((()())(())(()(((())())))))()(
()(()))()())()))))))(())()()())))(()()(((()()())()))()))()(((()()(((()((((((
)))))()()()(((((((()(()))))()())((((())()))((((()))((())()((()((()))))(())))
()()))()())(()((()())()()(((()))(()((()()))()))()()()((((()(()))((()())())))
())()))()(())(()()(())(()((()((()(()((((())()()))(())())))(()((())())())()))
)(()()))())((()())((()))((((())())()(((((((((())))(()())())))(()())())())())
))((()))))())))()()((()(()()(())((()(((((())(())()(((()(())))(()(()))))(()))
)((((((()(()))())((()))))(()()()))())()())))()(()(((())((((())()))())((()))(
(((()))()(()((()(()(()))))()((())))())(()))((((((()))((()(((()))())()))())))
)()()()())(()()()(())((()((()()))()))(())))()))))(((((())))(()((()((()()())(
(()(((()))())(())))(())(((()(((())(())()()()())()(())(()))))()(()((()))))(()
)(((()((())()((()(()((())))))()())()(((())(()((()))))(())()()))()(())))((())
)((()(())())()))())()()(()()(())()())(())()(())((()(()(())(((())))))(())()((
((()())()()))((()()(()())()()(()(()(()(())(())))))())))))(((((())(())))(()((
(())()())(((()(()()(())(()()))(()())(())(((())()))(())(()()))(()))((())))(()
((((())((((())((((((()))(((()))()()()()()())())())))((((())))(()))))))()))()
))((()))())((())()(((())()()(()(())()()()())((((()((((())))()))()))))(())(()
)))(((((()))()()))()))())(()(())(()()(())))(()))()((()()))((()))))((()((((((
()()((()((()()()((())))(()))))()(()))())((())())())(((((())))(()(()(()()))()
()())((()(()))))))(()(()((())())()(()))))(()(())())(()))())(()(()((()()((()(
))()((())((()))()()())))))(())()))((()((((()(()((()()))())((()()()())))(((()
)())((())()()(((((())))(()()(()((())))(()()())())()(((()))()((()()))))(())()
()())(())()(()((((()(((()()))(()())()()))(())(((()(())()))(()())))()))())(()
()()))(((()())()()))()))))((((()(((())((((())(())((())))))()(()(())(()())())
())(()()()))()()))(()((()((()))))((()))((((()(((()())()))))))(()))((())((()(
))()()(((()((()))())))))))(((()())))())((()())(()()())()(())))((((()()(()(((
()((()))((((()((()((()(())())(())(((())())())(())(())((())(()))))))))()(()))
(()))())(((((()(((()(()(()()()))))))))(())((())))(()(()))(((()())((())))(())
))()))()()(()))()())()()((())())))(())((())))()()()((((())(((())(()(()))((((
(())(()(())))(()((((((())(((()))((())(()())())())()))())()))()())()(()((()))

6 名前:774ワット発電中さん mailto:sage [2016/10/20(木) 11:30:26.87 ID:1LMF7ZPy.net]
仕事で論理設計して4年目だけど、未だにVerilogへの違和感が拭えない。

7 名前:774ワット発電中さん [2016/10/20(木) 21:48:39.33 ID:2yQ9b0KM.net]
ALTERA(MCLK=50MHz)から1Hzを出力しようと思ったら、どういう方法が最適でしょうか

8 名前:774ワット発電中さん [2016/10/20(木) 22:42:39.08 ID:q013k26F.net]
50MHzのカウンタをGPSからの1PPS信号でリセット、25Mパルスカウントで出力を1にする

9 名前:774ワット発電中さん [2016/10/20(木) 23:07:50.96 ID:kEXYS73H.net]
ALTERA内部完結でお願いします(TT)

10 名前:774ワット発電中さん [2016/10/21(金) 01:33:27.83 ID:4x5KqsMp.net]
50Mhzから1msecパルスを作成して有効利用をする。
1msecから100msecパルスを生成して有効利用をする。
100msecパルスから1Hzを作り出す。

役に立たない無駄社員の有効な使い方と同じだね。



11 名前:774ワット発電中さん [2016/10/21(金) 01:35:08.36 ID:4x5KqsMp.net]
>9
100msecパルスの有効利用方法を10個ほどあげてみて。

12 名前:774ワット発電中さん [2016/10/21(金) 08:11:36.34 ID:4x5KqsMp.net]
追跡が難しいエラー
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.

インプットになるべき信号をアウトに接続してもエラーが出ない。
そんなことはないよな。こいつ何いってるんだろ。

13 名前:774ワット発電中さん mailto:sage [2016/10/21(金) 13:56:04.52 ID:SufmUTJs.net]
0または2つ以上のドライバで駆動されるwire
open又は衝突するからか?
見つけにくいって事はねえだろ。
Lintがエラー出す。
Sim後ならNCでもverdiでも追跡は得意だろ。
……まともにport接続してれば。

14 名前:774ワット発電中さん mailto:sage [2016/10/21(金) 15:36:12.07 ID:NOXCEQzP.net]
3state バスにするとセレクター作って合成してくれた。ISEの頃だけど。

15 名前:774ワット発電中さん [2016/10/21(金) 20:44:49.18 ID:4jdrtlj4.net]
文法は一通り覚えたので、勉強用に本をいくつか買おうと思ってます
皆さんのおすすめの本はありますか?

16 名前:774ワット発電中さん mailto:sage [2016/10/21(金) 23:18:21.57 ID:sUOyl26U.net]
STARC RTL設計デザインガイド

17 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 08:39:25.11 ID:otU/3N8J.net]
おいやめろ

18 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 12:08:09.57 ID:YLTBJhh/.net]
だめなの?

19 名前:774ワット発電中さん [2016/10/22(土) 12:29:52.49 ID:m3ceeu3X.net]
前スレのリセットなんだけど、リセットIC無し且PLL使わない場合どうすんのが一番いいんだ?

20 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 15:12:36.16 ID:wYOYfDwe.net]
デバイスごとに変わる。プロジェクトごとに変わる。
アプリケーションごとに変わる。



21 名前:774ワット発電中さん [2016/10/22(土) 16:50:53.20 ID:rxE0Rds1.net]
>>20
ありがとう
今手元にDE0しかないんだけど、ユーザー回路のリセット作るとしたらどうするのが一番いいですか?

22 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 20:48:11.37 ID:wYOYfDwe.net]
既にボードになってるんだろ?
fpgaならコンフィグ後には初期化されてる。
クロックも止めないんだろ?
外部リセットも要望するなら同期化させといた方が安全安心。

23 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 22:10:59.02 ID:gjpqHizY.net]
コンフィグ時に初期値Max(たとえば0xFF)のダウンカウンタが
動いてる間はリセットっていうやつとかどう?
カウンタが0になったらリセット解除。
リセット信号はグローバルラインに乗せること。

24 名前:774ワット発電中さん mailto:sage [2016/10/22(土) 23:14:45.28 ID:tBp0gB6g.net]
すべてのFFが同時に動作し始める保証がないので、カウンタよりはシフトレジスタのほうが良いよ。

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

とか。

25 名前:774ワット発電中さん [2016/10/22(土) 23:55:29.99 ID:ail1AwUs.net]
>>22-24
ありがとうございます

>>24の案がしっくりきました!

26 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 08:26:14.30 ID:E/6vFupP.net]
>>24
すべてのFFが同時に動作し始める保証がないってのは
コンフィグが終了するまでの間はリセット保持しておくべきってこと?
シフトレジスタの長さをそれに合わせて調節するという感じですか?

27 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 08:46:54.71 ID:b19P+tLe.net]
コンフィグが終了するまでは、>>24 の回路自体が存在しないよ(構成されてない)
何が解からないのかが解からない、のレベルか?

28 名前:774ワット発電中さん [2016/10/23(日) 09:32:08.33 ID:vxDfyLcA.net]
>>24
logicというのは、regと何が違うのでしょうか?

あと、連接で、shift[6ころん0]としなくてもよいのでしょうか?

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

## 個人的には、VHDLの'high,'low,'range みたいなのが
## verilog にもあったら・・・って思う

30 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 11:18:49.56 ID:E/6vFupP.net]
>>27
コンフィグが終了するまで回路自体が存在しないのは>>24も同じことで、
すべてのFFが同時に動作し始める保証がないのはシフトレジスタも同じなのでは?
なんでカウンタよりシフトレジスタが良いのかが分かりません



31 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 11:22:23.71 ID:E/6vFupP.net]
シフトレジスタなら各FFの動作タイミングがずれても
1を保持してる状態がかわらないからかな?

32 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 11:40:18.65 ID:N0lKtuS7.net]
一般的な話をすると、変なクロックが入ると
バイナリカウンタは値が飛ぶ。
一番極端な話を持ち出すと0xFF→0x00遷移ではあらゆる値に飛び得る。

冷静な話をすると>>23の0xFFからのダウンカウンタは
最初の一発目で0xFE以外に飛ぶとしても0xFFなので
シフトレジスタと大差ない。
でも好みはシフトレジスタかな。

33 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 12:36:24.14 ID:q9OP294G.net]
最初のほうでコンフィグされた回路は全体のコンフィグ終了前に
動作し始めるの?
もしそうなら、前スレで出てたPLLのLocked信号なんか使った方法でも
PLLとリセット信号発生の回路が最初にコンフィグされるって保証ない
わけだから、ほかの先にコンフィグされた回路がリセットかからずに
走り出しちゃうってことになるんだけど

34 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 13:36:10.39 ID:aEpTiOP1.net]
マニュアルぐらい読め

35 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 16:50:19.73 ID:RoiaYJQm.net]
>>23
アルテラだとffの初期値は0じゃなかったっけ

36 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 17:08:38.14 ID:Y5L1R7f3.net]
>>29
SystemVerilogなら$high(shft)とかでできますよ。

37 名前:774ワット発電中さん mailto:sage [2016/10/23(日) 22:59:14.33 ID:N0lKtuS7.net]
>>35
インバージョンプッシュされるから、あまり気にしなくていい。

38 名前:arisa ◆QaHT6HayjI mailto:sage [2016/10/26(水) 05:20:56.78 ID:UGJyQrpm.net]
>>13
「NCでもverdi」
金持っている企業じゃないと、そんなの使えないからw

39 名前:774ワット発電中さん mailto:sage [2016/10/26(水) 07:38:48.19 ID:KjJJHMke.net]
NC Verilog ってまだあるんだっけ?

40 名前:774ワット発電中さん mailto:sage [2016/10/26(水) 08:09:18.87 ID:NBLMi1SI.net]
NC Verilog懐かしいなあ。
表示用PLI作って遊んでた。



41 名前:774ワット発電中さん [2016/10/27(木) 00:05:22.41 ID:vee62HAA.net]
回路設計習い始めたけどブロッキング代入ってのがどうにもよくわからん。。
辻褄合わせの設計しか出来なくて嫌んなってきた

42 名前:774ワット発電中さん [2016/10/27(木) 09:59:34.63 ID:76ccvaD/.net]
こんな書き方しないで
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;

43 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 10:33:03.68 ID:+vRhZ6pm.net]
そうだね!

44 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 11:58:30.77 ID:8wadvFKw.net]
ねーよ

45 名前:774ワット発電中さん [2016/10/27(木) 12:16:06.46 ID:76ccvaD/.net]
なんでや!!

46 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 13:08:01.87 ID:nvlnAOBR.net]
お利口さんはバグが出るとすぐに火病るから困る。

47 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 14:16:03.86 ID:+hWiMzlh.net]
やっぱり 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

48 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 15:21:17.15 ID:6q88XeDf.net]
さすがに fset_q <= fset_q; はいらないでしょ

49 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 15:34:27.96 ID:foSI7Cd2.net]
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

50 名前:774ワット発電中さん [2016/10/27(木) 15:58:29.38 ID:76ccvaD/.net]
>49
きれいだが、それだと同期リセットになるからだめ。意味が違ってくる。



51 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 16:17:43.68 ID:6q88XeDf.net]
47からの流れだから・・・

52 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 16:43:22.07 ID:Vp0C2xXd.net]
@(posedge gclk or posedge reset) で。

53 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 16:45:25.43 ID:Vp0C2xXd.net]
} else {
は許せるけど
end else begin
は気持ち悪い

54 名前:774ワット発電中さん [2016/10/27(木) 16:59:56.61 ID:76ccvaD/.net]
こっちのほうが俄然いいと思う。なぜなら非同期リセットなんてロジック
本体にあると邪魔だ。ロジックがよみづらくなるから。

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

55 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 17:07:14.28 ID:nvlnAOBR.net]
Simしないんだからそれでオッケー。

56 名前:774ワット発電中さん [2016/10/27(木) 17:07:49.74 ID:76ccvaD/.net]
とくにレジスタが大量にあるときは一か所で一括してクリアしてしまう。
こうするのがいいと思う。
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

57 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 17:10:12.70 ID:nvlnAOBR.net]
フィッティングもしないんだからそれでオッケー。

58 名前:774ワット発電中さん [2016/10/27(木) 17:57:21.69 ID:76ccvaD/.net]
これで特に問題なければ、モジュールのreg定義をサーチして自動的にクリアロジックを
つくるマクロを作っておけば、リセットを気にする必要なしにプログラムできる。

59 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 18:22:00.30 ID:nvlnAOBR.net]
大丈夫。落書きだから問題なんて起きない。

60 名前:774ワット発電中さん [2016/10/27(木) 20:24:27.38 ID:9XZtWH2D.net]
ちょっとありかなと思った



61 名前:774ワット発電中さん mailto:sage [2016/10/27(木) 20:48:49.63 ID:+vRhZ6pm.net]
もう、Verilog じゃなくて別の言語作ってくれよ。

マジでそう思う。

同期設計に特化して、クロックや非同期リセットなんてわざわざ指定せずに済むようしてくれ。

62 名前:774ワット発電中さん [2016/10/27(木) 22:46:35.22 ID:76ccvaD/.net]
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

63 名前:774ワット発電中さん [2016/10/27(木) 22:50:42.30 ID:76ccvaD/.net]
本当は set rq {\[(\d+):(\d+)\]} とか使ってレジスタサイズ出して 8'd0に
したほうがいいのかも

64 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 01:13:24.93 ID:qHhJTlia.net]
begin〜end付けるようになったの?

65 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 07:01:19.88 ID:Xb9K6D44.net]
>>64
ちんこには、コンドームをつけるのと同じです。
生が好きな人は生がいいだけの話です。

66 名前:774ワット発電中さん [2016/10/28(金) 08:22:07.95 ID:hTOCZhV6.net]
parameter val1 = 11
parameter val2 = val1/2

1011→ビットシフト→0101
で「5」
という切り捨ての認識で大丈夫ですか?

67 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 10:20:05.88 ID:eJxbrJAP.net]
>>66
厳密にはビットシフトではなくて整数の除算ですけどね。

68 名前:774ワット発電中さん [2016/10/28(金) 11:53:59.55 ID:cLqT6VZO.net]
せっかくTCLでマクロ作ったのに腹立つことにコンパイラが全然受け付けんな。W

69 名前:774ワット発電中さん [2016/10/28(金) 12:15:31.16 ID:cLqT6VZO.net]
モジュールのマッピングってどうしても不細工になるんだが
imageとしては
{dtout, ack} = i2c(clock, reset, dtin);
こういう感じだよな。
そこで考えたのがこれだ!!! どうだ。
//-------------------------------------------------------------
          i2c u1(          //I2C instance
dtout, ack,    // <===          //output
             clock, reset, dtin);//inuput

70 名前:774ワット発電中さん [2016/10/28(金) 12:28:11.55 ID:obq+eaMj.net]
>>67
つまりただの除算の切り捨てってこと?



71 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 12:34:59.61 ID:8EzvlAZ/.net]
そんな小技を考えなくていい新言語を考えてくれよ
inoutもきれいにかけるようにしてね

72 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 13:01:12.07 ID:UghvOnkc.net]
>>70
parameter val1 = 11
parameter val2 = val1/3
ビットシフトなら↑とかどうするんだよ?

73 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 14:20:16.32 ID:HcFs76sP.net]
zakii.la.coocan.jp/hdl/25_parameter.htm
・・・なぜならば、マクロはどのソースファイル内でdefineしても、FPGA全体のソースファイルに対して有効になるので・・・

この人の認識、合ってる?
AやXを使ってる限りそのようにはならないけど 環境依存?
もし主張通りなら、わざわざ ファイル毎に `include xxxx.v とかする必要がなくなるので
そのコーディングなりを参考にさせて頂きたい

74 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 14:57:30.42 ID:fR/e5Fof.net]
>>70
定義はそう。実装は様々。

75 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 16:54:56.52 ID:mUCi1lfQ.net]
>>53
同感だけど、じゃあどう書く?って言われて有効な方法ないんじゃ?
3行に分ける?

76 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 18:18:50.49 ID:ZSf1RGkG.net]
>>73
関係ないけど、include するファイルのファイル名って、みんなどうしてる?
.h は編だし。.vi とか見かけるけど。

77 名前:774ワット発電中さん [2016/10/28(金) 18:38:54.07 ID:6QtTsAyX.net]
>>72>>74
ありがと!納得

78 名前:774ワット発電中さん mailto:sage [2016/10/28(金) 19:26:26.25 ID:3BIv3GeG.net]
>>76
.vh

79 名前:774ワット発電中さん [2016/10/29(土) 10:53:30.12 ID:QsWfeqPD.net]
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 (こいつが入るのはあり?)

80 名前:774ワット発電中さん [2016/10/29(土) 10:56:35.83 ID:QsWfeqPD.net]
案3は非同期リセットいれるのを忘れたが、案3がベストか? 案1でこれまで
づっとやってきたんだが(1か月くらいだけど、、、)



81 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 11:19:08.02 ID:ZZGDJ6ai.net]
>>80
案1の二つ目のifなしでどう?

82 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 12:28:27.37 ID:SOKt1w02.net]
>>81
ホールドできないじゃん

83 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 12:59:39.67 ID:ZZGDJ6ai.net]
>>82
ほんとだ、すまん。
else srff <= s | ~r&srff;
で。

84 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 13:03:55.92 ID:xeCXpjZp.net]
>>80

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

これでいいんじゃないの?
クロック同期のものをSRFFというのかよくわからんけど。SRFF風?

85 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 13:32:24.00 ID:xeCXpjZp.net]
クロック入力付きRS-FFというのか。

86 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 13:46:41.91 ID:y7F5gG4A.net]
それ普通JKって言ったりして。

何なんだよJKビジネスって。

87 名前:774ワット発電中さん [2016/10/29(土) 14:10:57.69 ID:QsWfeqPD.net]
>84
 ある寺ではprimitiveに同期srffってあるよ。11で出力が反転するけど。

88 名前:774ワット発電中さん [2016/10/29(土) 14:13:56.21 ID:QsWfeqPD.net]
案4
always@(posedge clk or posedge reset)
 if (reset) srff <= 0;
 else srff <= (srff | s) & ~r;

実はこれが正解ね。

89 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 15:48:50.81 ID:y7F5gG4A.net]
JKだと

jkff <= j * ~k | ~jkff * j | jkff * ~k;
かな

90 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 15:50:08.48 ID:y7F5gG4A.net]
あ、AND書き間違えた
jkff <= (j & ~k) | (~jkff & j) | (jkff & ~k);



91 名前:774ワット発電中さん mailto:sage [2016/10/29(土) 16:05:43.24 ID:ijRGJpWi.net]
ソースコードで入力したプログラムにテストフィクチャーを使って動作確認をしたい時
ソースコードはinputにクロック信号がくると仮定して作ったものである場合、テストフィクチャー上ではどのようなプログラムを記述すればよいのでしょうか?
イマイチ使い方がわかっていない状態で、論理合成は成功してるが信号が入ってきた動作確認が何をすれば確認できるのか全くわかっていないです

92 名前:774ワット発電中さん [2016/10/29(土) 16:50:15.83 ID:QsWfeqPD.net]
>91
 test benchでググると書き方がわかるよ。

93 名前:774ワット発電中さん [2016/10/31(月) 07:00:40.10 ID:o2cah31x.net]
>71
それちょっと考えてみたんだが、言語は作れるとして一般のプログラム言語のように
asmレベルの言語てあるんだろうか?
verilogに落とし込むという手もあるが、verilog自体がかなり抽象的だから細かい
記述がむつかしいよね。でもverilogに落とすのが無難かな。

94 名前:774ワット発電中さん [2016/10/31(月) 07:02:11.15 ID:o2cah31x.net]
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のセンシティビティリスト
}
};

95 名前:774ワット発電中さん [2016/10/31(月) 07:03:31.39 ID:o2cah31x.net]
A+Bって書くだけなのにこれはやりすぎというもの。W

96 名前:774ワット発電中さん mailto:sage [2016/10/31(月) 11:44:15.70 ID:goHwajf0.net]
>>93
verilog で and/or で書けばいいさ

97 名前:774ワット発電中さん mailto:sage [2016/10/31(月) 11:56:21.38 ID:nEjhzlG5.net]
入力判定でon信号がきてから±1秒でスイッチを押せているかどうかと言うのはどの様に書いていけば良いのでしょうか?

98 名前:774ワット発電中さん [2016/10/31(月) 14:23:08.85 ID:o2cah31x.net]
if(スイッチが押されて1秒以内に入力判定が来た)or
(入力判定ONから1秒以内にスイッチが押されたか)
OK
else
NG

99 名前:4ワット発電中さん [2016/10/31(月) 15:10:18.50 ID:VfOGKPRp.net]
天才やな

100 名前:774ワット発電中さん [2016/10/31(月) 17:15:41.35 ID:zgPTqaik.net]
>on信号がきてから±1秒でスイッチを押せているかどうか
±1秒というのがわからん








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<276KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef