0849774ワット発電中さん
2016/10/11(火) 11:50:45.12ID:rkzrhgEyまあ例外もあるからどうしてもってときは許可する。
しかしこれのほうがいい。4行が2行だし、紙が節約できる。
enable <= (x == a);
data <= (x == a) ? hoge : data;
always もbeginendはなるべく入れない。
モジュールのinput,outputは2度書きしない。
module oneshot(input clk, reset, pls, output pr_q);
reg srff; wire cy; reg [3:0] count_q;
assign pr_q = srff;
assign cy = (count_q == 4'd10);
always @(posedge clk or posedge reset)
if (reset)
srff <= 0;
else if (pls | cy)
srff <= pls & (!cy);
always @(posedge clk or posedge reset)
if (reset)
count_q <= 0;
else if (srff)
count_q <= cy ? 0 : count_q + 1;
endmodule