目录

银杏科技有限公司旗下技术文档发布平台
技术支持电话0379-69926675-801
技术支持邮件Gingko@vip.163.com
版本 日期 作者 修改内容
V1.0 2020-03-02 gingko 初次建立

实验十三:3-8译码器实验——FPGA实现3-8译码器

一、 实验目的与意义

  1. 掌握3-8译码器的原理。
  2. 掌握状态机的使用方法。
  3. 掌握QuartusII的使用方法。

二、 实验设备及平台

  1. iCore4T 双核心板。
  2. iTool A(或相同功能)仿真器。
  3. USB Type C线缆。
  4. Keil MDK 开发平台。
  5. Quartus开发平台。
  6. 电脑一台。

三、 实验原理

图13.1

输入 输出
a2 a1 a0 y7 y6 y5 y4 y3 y2 y1 y0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0

四、 代码讲解

/*************************************************/
//利用状态机实现3-8译码器的输出信号,输出译码信号与真值表一致
    reg [7:00]y_r;
 
    always@(posedge clk_25m or negedge rst_n)
        begin
            if(!rst_n)
                begin
                    y_r <= 8'b000000000;
                end
            else
                begin
                    case(a)
                        3'b000:begin
                            y_r <= 8'b00000001;
                        end
                        3'b001:begin
                            y_r <= 8'b00000010;
                        end
                        3'b010:begin
                            y_r <= 8'b00000100;
                        end
                        3'b011:begin
                            y_r <= 8'b00001000;
                        end
                        3'b100:begin
                            y_r <= 8'b00010000;
                        end
                        3'b101:begin
                            y_r <= 8'b00100000;
                        end
                        3'b110:begin
                            y_r <= 8'b01000000;
                        end
                        3'b111:begin
                            y_r <= 8'b10000000;
                        end                     
                        default:begin
                            y_r <= 8'b000000000;
                        end
                    endcase
                end
        end
 
    assign y = y_r;

五、 实验步骤及实验结果

图13.2

  1. 将硬件正确连接,如图13.2所示。
  2. 将编写好的代码进行编译,并下载到开发板中;
  3. 通过Signaltap工具查看输入信号与输出信号之间的关系,观察实验现象——如图7.3所示。

图13.3

六、 拓展实验

  1. 设计一个部分译码器(如:4-10译码器),观察信号变化。