NAV BAr

Wednesday, March 8, 2017

8 to 3 Encoder

//Design are synthesizable with bit stream

module enc0der8to3(v,en_in_n,y,gs,en_out);
input [7:0] v;
input en_in_n;
output reg [2:0]y;
output reg gs;
output reg en_out;

always @(v,en_in_n)
begin
if(en_in_n == 1'b1)
    begin
         y = 3'b111;
        en_out =1'b 1;
        gs= 1'b1;
   end
 
 else if(v==8'b11111111 && en_in_n== 1'b0)
 begin
     y= 3'b111;
    gs=1'b1;
     en_out=1'b0;
   end
 
 else if(v==8'b0 && en_in_n== 1'b0)
   begin
    y= 3'b000;
     gs=1'b0;
     en_out=1'b1;
   end 
 
 else if(v==8'b01 && en_in_n== 1'b0)
      begin
         y= 3'b001;
         gs=1'b0;
         en_out=1'b1;
      end    
     
 else if(v==8'b011 && en_in_n== 1'b0)
         begin
             y= 3'b010;
             gs=1'b0;
             en_out=1'b1;  
    end
   
else if(v==8'b0111 && en_in_n== 1'b0)
       begin
                y= 3'b011;
                 gs=1'b0;
                 en_out=1'b1;
       end        
     
 else if(v==8'b01111 && en_in_n== 1'b0)
          begin
                     y= 3'b100;
                     gs=1'b0;
                     en_out=1'b1;
           end
           
 else if(v==8'b011111 && en_in_n== 1'b0)
           begin
                       y= 3'b101;
                       gs=1'b0;
                       en_out=1'b1;
             end
           
  else if(v==8'b0111111 && en_in_n== 1'b0)
             begin
                      y= 3'b110;
                      gs=1'b0;
                      en_out=1'b1;
             end        
                 
    else if (v==8'b01111111 && en_in_n== 1'b0)
    begin
                      y= 3'b111;
                      gs=1'b0;
                      en_out=1'b1;
             
         end 
     else
     begin
            y= 3'b111;
            gs = 1'b1;
            en_out=1'b1;
      end  
         end     
endmodule


No comments:

Post a Comment