⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gcnte5_2.v

📁 VHDLVERILOG语言实现的CARDBUS的IP源码,已经实现现场应用
💻 V
字号:
//------------------------------------------------------------------------------
//
// File : gcnte5_2.v
// Last Modification: 06/26/2001
//
// Created In SpDE Version: SpDE 8.22
// Author :	Richard Yuan, QuickLogic Corporation
// Copyright (C) 2001, Licensed customers of QuickLogic may copy and modify
// this file for use in designing with QuickLogic devices only.
//	
// Description :
//	5-bit grey counter with a reset value of 1.
//	Q_int is the binary decode of the grey code, for simulation only.
//
// Hierarchy:
//	This file represents the gcnte5_2 block in f32a32.sch.
//
// History:	
//	Date	        Author					Version
//  06/26/01		Richard Yuan			1.0
//		- Header added to conform to coding standard.
//
//------------------------------------------------------------------------------


module gcnte5_2 ( CLK, CLR, EN, Q );
input CLK, CLR, EN;
output [4:0] Q;
reg    [4:0] Q;
integer Q_int;

always @(posedge CLR or posedge CLK)
begin
    if (CLR) Q <= 5'b00001; // clear grey 1 = bin 1, inc to 2 on init
    else begin
      if (EN)
        case (Q)
        5'b00000: Q <= 5'b00001; //00
        5'b00001: Q <= 5'b00011; //01
        5'b00011: Q <= 5'b00010; //02
        5'b00010: Q <= 5'b00110; //03
        5'b00110: Q <= 5'b00111; //04
        5'b00111: Q <= 5'b00101; //05
        5'b00101: Q <= 5'b00100; //06
        5'b00100: Q <= 5'b01100; //07
        5'b01100: Q <= 5'b01101; //08
        5'b01101: Q <= 5'b01111; //09
        5'b01111: Q <= 5'b01110; //10
        5'b01110: Q <= 5'b01010; //11
        5'b01010: Q <= 5'b01011; //12
        5'b01011: Q <= 5'b01001; //13
        5'b01001: Q <= 5'b01000; //14
        5'b01000: Q <= 5'b11000; //15
        5'b11000: Q <= 5'b11001; //16
        5'b11001: Q <= 5'b11011; //17
        5'b11011: Q <= 5'b11010; //18
        5'b11010: Q <= 5'b11110; //19
        5'b11110: Q <= 5'b11111; //20
        5'b11111: Q <= 5'b11101; //21
        5'b11101: Q <= 5'b11100; //22
        5'b11100: Q <= 5'b10100; //23
        5'b10100: Q <= 5'b10101; //24
        5'b10101: Q <= 5'b10111; //25
        5'b10111: Q <= 5'b10110; //26
        5'b10110: Q <= 5'b10010; //27
        5'b10010: Q <= 5'b10011; //28
        5'b10011: Q <= 5'b10001; //29
        5'b10001: Q <= 5'b10000; //30
        5'b10000: Q <= 5'b00000; //31
        default: Q <= 'bx;
        endcase
    end
end

always @(Q) begin
    case (Q)
        5'b00000: Q_int <=  0;
        5'b00001: Q_int <=  1;
        5'b00011: Q_int <=  2;
        5'b00010: Q_int <=  3;
        5'b00110: Q_int <=  4;
        5'b00111: Q_int <=  5;
        5'b00101: Q_int <=  6;
        5'b00100: Q_int <=  7;
        5'b01100: Q_int <=  8;
        5'b01101: Q_int <=  9;
        5'b01111: Q_int <=  10;
        5'b01110: Q_int <=  11;
        5'b01010: Q_int <=  12;
        5'b01011: Q_int <=  13;
        5'b01001: Q_int <=  14;
        5'b01000: Q_int <=  15;
        5'b11000: Q_int <=  16;
        5'b11001: Q_int <=  17;
        5'b11011: Q_int <=  18;
        5'b11010: Q_int <=  19;
        5'b11110: Q_int <=  20;
        5'b11111: Q_int <=  21;
        5'b11101: Q_int <=  22;
        5'b11100: Q_int <=  23;
        5'b10100: Q_int <=  24;
        5'b10101: Q_int <=  25;
        5'b10111: Q_int <=  26;
        5'b10110: Q_int <=  27;
        5'b10010: Q_int <=  28;
        5'b10011: Q_int <=  29;
        5'b10001: Q_int <=  30;
        5'b10000: Q_int <=  31;
        default: Q_int <= 0;
    endcase
end

endmodule


		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -