`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 16:22:12 11/25/2006 // Design Name: // Module Name: szamlalo_mod10 // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module szamlalo_mod10(CLK, RESET, CE, C_E, DIN, COUNT, CY ); //engedélyezhető lefele számláló input CLK; input RESET; input CE; //CE=Counter enable, külső vezérlés. input C_E; //ez is Counter enable, de ez a rategenes órajelhez. input [3:0] DIN; //DIN=input output reg [3:0] COUNT; output reg CY; //carry. always @(posedge CLK or posedge RESET) //aszinkron törlésű mert itt van a reset begin CY = (COUNT == 4'd0); if (RESET) begin if (DIN>4'd9) COUNT<=9; //nem specifikációnak megfelelő értékadás esetén, 10-15-ig adott értéknél is 9-re áll be else COUNT <= DIN; //BTN3 visszaviszi alapállapotba, azaz a kapcsolók által megadott értékbe end else if (CE && C_E) begin if (CY) COUNT <= 4'd9; else COUNT <= COUNT - 1; end end endmodule