>>842
 まあ例外もあるからどうしてもってときは許可する。
しかしこれのほうがいい。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