お返事ありがとうございます。
実機でのご確認および公開ファイルの訂正をお願い致します。
波形メモリ読み出しと積分区間が1クロックでもズレると
波形メモリのアドレス終点から始点にジャンプした時の
影響が出るかと思います。
またアドレスが5120〜8191になる場合でも実在しない
アドレスを指定する事になるかと思います。
そこでaddr_romの生成に下記の処理を追加してみましたのでご参考下さい。
・終点から始点を5119→320ではなく5119→0にする処理
・アドレス(addr_rom)が5120〜8191にならない処理
wire signed [13:0] w_addr_rom0; //1bit拡張
wire signed [12:0] w_addr_rom1;
//symbol_cntを波形読み出しメモリアドレスに変換
//終点から始点を5119→320ではなく5119→0にする処理
assign w_addr_rom0 = (symbol_cnt >= 64*80+7*80)?
symbol_cnt[3:0]*320+(symbol_cnt-64*80-7*80)/16 :
symbol_cnt[3:0]*320+(symbol_cnt-7*80)/16;
//マイナスと5120以上にしない処理
assign w_addr_rom1 = (w_addr_rom0[13])? w_addr_rom0 + 5120 :
(w_addr_rom0 > 5119)? w_addr_rom0 - 5119 :
w_addr_rom0[12:0];
always@(posedge clk)begin
addr_rom <= w_addr_rom1;
end