/* written by Tomonori Izumi at Feb. 2007 */ /* 理解もせずにやみくもに書きうつすのでは勉強になりません。 理解せずに書き写すような時間の無駄をするくらいなら こんな課題はやめてしまって他の勉強をしましょう。 逆に、理解の助けのためであればナンボ見ても構いませんし、 結果としてほぼ同じソースコードになってしまったとしても全く構いません。 いずみ */ `timescale 1 ps / 1 ps //`include "triangle256.v" module top; reg CLK; reg RST_X; reg [7:0] triangle_i; reg triangle_validi; wire [7:0] triangle_value; wire triangle_valido; integer i; reg [15:0] j,k,l; reg tmp; triangle256_module triangle256(CLK,RST_X,triangle_i,triangle_validi,triangle_value,triangle_valido); initial forever #5 CLK=~CLK; // initial forever #10 if (triangle_valido==1'b1) $display("%d",triangle_value[7:0]); initial begin $dumpfile("tb_triangle256.vcd"); $dumpvars; CLK=0; RST_X=1; i=0; tmp=0; #53 tmp=~tmp; RST_X=0; #20 tmp=~tmp; RST_X=1; #20 tmp=~tmp; for (k=0;k<256;k=k+1) begin triangle_i = k[7:0]; triangle_validi = 1'b1; #10 tmp=~tmp; triangle_validi = 1'b0; #10 tmp=~tmp; end #100 tmp=~tmp; $finish; end // initial begin endmodule // main