// Module sig pulse generator module period_sig(sig_out); output sig_out; reg sig_out; // Declaration of data types parameter sig_delay=1, sig_period=100; initial // Execute at time 0 begin sig_out = 0; #(sig_delay -1) sig_out = 1; #2 sig_out = 0; forever // Repeat forever begin #(sig_period - 2) sig_out = 1; #2 sig_out = 0; end end endmodule // Module sig pulse generator module period_doubled_sig(sig_out); output sig_out; reg sig_out; // Declaration of data types parameter sig_delay=1, sig_period=100, sig_interval=5; initial // Execute at time 0 begin sig_out = 0; #(sig_delay -1) sig_out = 1; #2 sig_out = 0; #(sig_interval-2) sig_out = 1; #2 sig_out = 0; forever // Repeat forever begin #(sig_period - 2) sig_out = 1; #2 sig_out = 0; #(sig_interval-2) sig_out = 1; #2 sig_out = 0; end end endmodule [ [ ['module', 'period_sig', '(', [['sig_out']], ')', ';'], [ ['output', 'sig_out', ';'], ['reg', ['sig_out'], ';'], ['parameter', ['sig_delay', '=', '1'], ['sig_period', '=', '100'], ';'], [ 'initial', [ 'begin', [ [[['sig_out'], '=', '0'], ';'], [ ['#', '(', [['sig_delay'], '-', '1'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']], [ 'forever', [ 'begin', [ [ ['#', '(', [['sig_period'], '-', '2'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']]], 'end']]], 'end']]], 'endmodule'], [ ['module', 'period_doubled_sig', '(', [['sig_out']], ')', ';'], [ ['output', 'sig_out', ';'], ['reg', ['sig_out'], ';'], [ 'parameter', ['sig_delay', '=', '1'], ['sig_period', '=', '100'], ['sig_interval', '=', '5'], ';'], [ 'initial', [ 'begin', [ [[['sig_out'], '=', '0'], ';'], [ ['#', '(', [['sig_delay'], '-', '1'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']], [ ['#', '(', [['sig_interval'], '-', '2'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']], [ 'forever', [ 'begin', [ [ ['#', '(', [['sig_period'], '-', '2'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']], [ ['#', '(', [['sig_interval'], '-', '2'], ')'], [[['sig_out'], '=', '1'], ';']], [['#', '2'], [[['sig_out'], '=', '0'], ';']]], 'end']]], 'end']]], 'endmodule']]