亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Verilog

Verilog 优先编码器:可靠的 4 输入 8 位选择器

设计

module pr_en ( 
  input [7:0] a, 
  input [7:0] b, 
  input [7:0] c, 
  input [7:0] d, 
  input [1:0] sel, 
  output reg [7:0] out
); 
  always @ (a or b or c or d or sel) begin 
    if (sel == 2'b00) out <= a; 
    else if (sel == 2'b01) out <= b; 
    else if (sel == 2'b10) out <= c; 
    else out <= d; 
  end 
endmodule 

硬件原理图

测试平台

module tb_4to1_mux; 
  reg [7:0] a; 
  reg [7:0] b; 
  reg [7:0] c; 
  reg [7:0] d; 
  wire [7:0] out; 
  reg [1:0] sel; 
  integer i; 
  pr_en pr_en0 ( 
    .a (a), .b (b), .c (c), .d (d), .sel (sel), .out (out)
  ); 
  initial begin 
    sel <= 0; 
    a <= $random; b <= $random; c <= $random; d <= $random; 
    for (i = 1; i < 4; i=i+1) begin 
      #5 sel <= i; 
    end 
    #5 $finish; 
  end 
endmodule 

Verilog

  1. Verilog 入门:数字电路设计完整教程
  2. 掌握 Verilog 拼接操作:实用指南
  3. 深入理解 Verilog 赋值语句:类型、语法与最佳实践
  4. Verilog阻塞与非阻塞赋值:关键区别详解
  5. 掌握Verilog函数:高效RTL设计的复用利器
  6. 理解Verilog任务:函数vs任务、语法与用法全解析
  7. Verilog 时钟发生器设计与实现指南
  8. 掌握 Verilog 数学函数:高效硬件设计的利器
  9. 掌握 Verilog $timeformat:精度控制与显示格式化
  10. 理解与打印 Verilog 任意作用域下的 Timescale
  11. 掌握 Verilog 文件 I/O:打开、读取、写入和关闭
  12. Verilog 入门指南:Hello World 示例