当前位置:   article > 正文

FPGA学习小例子:38译码器设计与仿真_38译码器verilog实验报告

38译码器verilog实验报告

前言

译码器74x138是数字电路课程重点内容之一。译码器的设计比
较简单,使用Verilog语言实现译码器就更为简单。本教程设计了一个3-8译码器并做了仿真。

一、创建一个VIVADO工程

打开vivado,点击File
在这里插入图片描述
在这里插入图片描述
填写项目名,以及选择项目路径
在这里插入图片描述
**加粗样式**
并勾选“Do not specify sources at this time”,意思是先创建工程,后期再添加文件。也可不勾选。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、创建Verilog HDL 文件

1.点击 Project Manager 下的 Add Sources 图标
2.选择添加或创建设计源文件“ Add or create design sources 点击“ Next

在这里插入图片描述

选择创建文件“ Create File
在这里插入图片描述
在这里插入图片描述
点击“ Finish 完成“ p_74138.v ”文件添加在这里插入图片描述

在弹出的模块定义“ Define Module 中可以指定“ p_74138.v ”文件的模块名称 Module
name 这里默认不变为“ p_74138”,还可以指定一些端口,这里暂时不指定,点击 OK ”。

在这里插入图片描述
在弹出的对话框中选择“ Yes
在这里插入图片描述
双击文件可以编辑
在这里插入图片描述

三、编写代码

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/03/26 16:06:39
// Design Name: 
// Module Name: p_74138
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module p_74138(addr,decoder);
input [2:0] addr;
output reg [7:0] decoder;
always @(addr) begin
    case (addr)
        3'b000: decoder = 8'b1111_1110; 
        3'b001: decoder = 8'b1111_1101; 
        3'b010: decoder = 8'b1111_1011; 
        3'b011: decoder = 8'b1111_0111; 
        3'b100: decoder = 8'b1110_1111; 
        3'b101: decoder = 8'b1101_1111; 
        3'b110: decoder = 8'b1011_1111; 
        3'b111: decoder = 8'b0111_1111; 
        // default: 
    endcase
end
endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

四、创建仿真文件

在这里插入图片描述
在这里插入图片描述
*加粗样式

1、编写仿真代码

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/03/26 16:06:39
// Design Name: 
// Module Name: p_74138
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module p_74138(addr,decoder);
input [2:0] addr;
output reg [7:0] decoder;
always @(addr) begin
    case (addr)
        3'b000: decoder = 8'b1111_1110; 
        3'b001: decoder = 8'b1111_1101; 
        3'b010: decoder = 8'b1111_1011; 
        3'b011: decoder = 8'b1111_0111; 
        3'b100: decoder = 8'b1110_1111; 
        3'b101: decoder = 8'b1101_1111; 
        3'b110: decoder = 8'b1011_1111; 
        3'b111: decoder = 8'b0111_1111; 
        // default: 
    endcase
end
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

2、运行仿真文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/437045
推荐阅读
相关标签
  

闽ICP备14008679号