zoukankan      html  css  js  c++  java
  • 【连载】 FPGA Verilog HDL 系列实例83优先编码器

    Verilog HDL 之 8-3优先编码器

    原理:

      在数字系统中,常常会有几个部件同时发出服务请求的可能,而在同一时刻只能给其中一个部件发出允许操作信号。因此,必须根据轻重缓急,规定好这些控制对象允许操作的先后次序,即优先级别。

      编码器有8个输入端,3个输出端。还有一个输入使能EI,输出使能EO和优先编码器工作状态标志GS。编码器以低为有效。当EI=0 时,编码器工作;输出全为高。输入优先级别的次序为7,6,5,…,0。当某一输入端有低电平输入,且比它优先级高的输入没有低电平输入时,输出端才输出相应输入端的代码。

    二、实现

    在设计文件中输入Verilog代码。

     1   `timescale 1 ns / 1 ps
    2
    3 module yxbm8_3 ( A ,I ,GS ,EO ,EI );
    4
    5 input [7:0] I ;
    6 wire [7:0] I ;
    7 input EI ;
    8 wire EI ;
    9
    10 output [2:0] A ;
    11 reg [2:0] A ;
    12 output GS ;
    13 reg GS ;
    14 output EO ;
    15 reg EO ;
    16
    17 always @ ( I or EI )
    18 if ( EI )
    19 begin
    20 A <= 3'b111;
    21 GS <= 1;
    22 EO <= 1;
    23 end
    24 else if ( I[7] == 0 )
    25 begin
    26 A <= 3'b000;
    27 GS <= 0;
    28 EO <= 1;
    29 end
    30 else if ( I[6] == 0 )
    31 begin
    32 A <= 3'b001;
    33 GS <= 0;
    34 EO <= 1;
    35 end
    36 else if ( I[5] == 0 )
    37 begin
    38 A <= 3'b010;
    39 GS <= 0;
    40 EO <= 1;
    41 end
    42 else if ( I[4] == 0 )
    43 begin
    44 A <= 3'b011;
    45 GS <= 0;
    46 EO <= 1;
    47 end
    48 else if ( I[3] == 0 )
    49 begin
    50 A <= 3'b100;
    51 GS <= 0;
    52 EO <= 1;
    53 end
    54 else if ( I[2] == 0 )
    55 begin
    56 A <= 3'b101;
    57 GS <= 0;
    58 EO <= 1;
    59 end
    60 else if ( I[1] == 0 )
    61 begin
    62 A <= 3'b110;
    63 GS <= 0;
    64 EO <= 1;
    65 end
    66 else if ( I[0] == 0 )
    67 begin
    68 A <= 3'b111;
    69 GS <= 0;
    70 EO <= 1;
    71 end
    72 else if ( I == 8'b11111111)
    73 begin
    74 A <= 3'b111;
    75 GS <= 1;
    76 EO <= 0;
    77 end
    78 endmodule

     

     

     

     

     

     

  • 相关阅读:
    oracle修改字符编码
    oracle修改约束列
    oracle非空约束
    Linux修改字符集
    修改oracle字符集合
    word问题禁止宏
    增加修改表列
    oracle增加sequence
    增加 修改oracle约束条件
    oracle用户 密码永不过期
  • 原文地址:https://www.cnblogs.com/kongtiao/p/2150457.html
Copyright © 2011-2022 走看看