2014年6月15日 星期日

Verilog Code for 74LS147 10-LINE-TO-4-LINE PRIORITY ENCODERS---適用於DE2-70

10-LINE-TO-4-LINE PRIORITY ENCODERS
 module Pri_enc_8x3_LS147(I, Dout);
   input [8:0] I;
   output reg [3:0] Dout;
 
   always @ (I)
    casex (I)
       9'b1111_1111_1 :   Dout<=4'b1111;
       9'b0xxx_xxxx_x :   Dout<=4'b0110;
       9'b10xx_xxxx_x :   Dout<=4'b0111;
       9'b110x_xxxx_x :   Dout<=4'b1000;
       9'b1110_xxxx_x :   Dout<=4'b1001;
       9'b1111_0xxx_x :   Dout<=4'b1010;
       9'b1111_10xx_x :   Dout<=4'b1011;
       9'b1111_110x_x :   Dout<=4'b1100;
       9'b1111_1110_x :   Dout<=4'b1101;
       9'b1111_1111_0 :   Dout<=4'b1110;
     
       endcase
   
 endmodule







module Priority_encoder_8x3(
  input CLOCK_50,     //    50 MHz clock
  input [3:0] KEY,      //    Pushbutton[3:0]
  input [17:0] SW,     //    Toggle Switch[17:0]
  output [6:0]    HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7,  // Seven Segment Digits
  output [8:0] LEDG,   //    LED Green
  output [17:0] LEDR,   //    LED Red
  inout [35:0] GPIO_0,GPIO_1,    //    GPIO Connections
//    LCD Module 16X2
  output LCD_ON,     // LCD Power ON/OFF
  output LCD_BLON,     // LCD Back Light ON/OFF
  output LCD_RW,     // LCD Read/Write Select, 0 = Write, 1 = Read
  output LCD_EN,     // LCD Enable
  output LCD_RS,     // LCD Command/Data Select, 0 = Command, 1 = Data
  inout [7:0] LCD_DATA, // LCD Data bus 8 bits
  input  UART_RXD, //RS232 RXD
  output UART_TXD //RS232 TXD
);

//    All inout port turn to tri-state
assign    GPIO_0        =    36'hzzzzzzzzz;
assign    GPIO_1        =    36'hzzzzzzzzz;

assign HEX0=7'b111_1111;  //off 7-segment Display
assign HEX1=7'b111_1111;
assign HEX2=7'b111_1111;
assign HEX3=7'b111_1111;
assign HEX4=7'b111_1111;
assign HEX5=7'b111_1111;
assign HEX6=7'b111_1111;
assign HEX7=7'b111_1111;

//Pri_enc_8x3_LS147(I, Dout);
Pri_enc_8x3_LS147(SW[9:1],LEDR[3:0]);

endmodule





 module Pri_enc_8x3_LS147(I, Dout);
   input [8:0] I;
   output reg [3:0] Dout;
 
   always @ (I)
    casex (I)
       9'b1111_1111_1 :   Dout<=4'b1111;
       9'b0xxx_xxxx_x :   Dout<=4'b0110;
       9'b10xx_xxxx_x :   Dout<=4'b0111;
       9'b110x_xxxx_x :   Dout<=4'b1000;
       9'b1110_xxxx_x :   Dout<=4'b1001;
       9'b1111_0xxx_x :   Dout<=4'b1010;
       9'b1111_10xx_x :   Dout<=4'b1011;
       9'b1111_110x_x :   Dout<=4'b1100;
       9'b1111_1110_x :   Dout<=4'b1101;
       9'b1111_1111_0 :   Dout<=4'b1110;
     
       endcase
   
 endmodule

沒有留言:

張貼留言