FPGA学习小例子:38译码器设计与仿真

这篇具有很好参考价值的文章主要介绍了FPGA学习小例子:38译码器设计与仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

一、创建一个VIVADO工程

打开vivado,点击File
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
填写项目名,以及选择项目路径
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
并勾选“Do not specify sources at this time”,意思是先创建工程,后期再添加文件。也可不勾选。
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真

二、创建Verilog HDL 文件

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

FPGA学习小例子:38译码器设计与仿真

选择创建文件“ Create File
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
点击“ Finish 完成“ p_74138.v ”文件添加FPGA学习小例子:38译码器设计与仿真

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

FPGA学习小例子:38译码器设计与仿真
在弹出的对话框中选择“ Yes
FPGA学习小例子:38译码器设计与仿真
双击文件可以编辑
FPGA学习小例子:38译码器设计与仿真

三、编写代码

`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

四、创建仿真文件

FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
*FPGA学习小例子:38译码器设计与仿真

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

2、运行仿真文件

FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真
FPGA学习小例子:38译码器设计与仿真文章来源地址https://www.toymoban.com/news/detail-484015.html

到了这里,关于FPGA学习小例子:38译码器设计与仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小梅哥——38译码器

    三八译码器,即是 3 种输入状态翻译成 8 种输出状态。 真值表 代码展示 testbench 仿真图 补充 (1)always语句两种触发方式 a、第一种是 电平触发 ,例如always @(a or b or c), a、b、c均为变量,当其中一个发生变化时,下方的语句将被执行。 b、第二种是 沿触发 ,例如always @(po

    2023年04月17日
    浏览(40)
  • verilog入门-38译码器

    一、组合逻辑电路与时序逻辑电路 组合逻辑电路: 任意时刻的输出仅仅由该时刻的输入决定,与电路当前的状态无关 。 时序逻辑电路: 任意时刻的输出不仅由该时刻的输入决定,还与电路当前的状态有关 。 二、38译码器的工作原理 表①、38译码器真值表 3种输入状态翻译

    2024年02月11日
    浏览(40)
  • FPGA数字电路设计:三八译码器的原理与实现

    FPGA数字电路设计:三八译码器的原理与实现 三八译码器是常用于数字电路设计中的一种重要元件。它的作用是将三位二进制信号转换成八个输出信号,通常用于地址解码、选通控制、状态指示等应用场景。 在FPGA数字电路设计中,三八译码器的实现需要借助Verilog HDL语言进行

    2024年02月08日
    浏览(44)
  • 实验一:38译码器的VHDL实现及原理图实现

    找了好多好多,感觉网上都不太人性化,所以自己记录了一下自己写的,还是有点意思的的,但是这前面的没啥意思,到后面连起来用的时候就有意思了! 1、项目的创建 1、File - New Project Wizard 后面没有选择, 一路无脑下来,项目就已经安装好了! 2、两种方法实现38译码器

    2024年02月02日
    浏览(50)
  • Verilog 编程实现 3-8 译码器 FPGA

    Verilog 编程实现 3-8 译码器 FPGA FPGA 是一种可重构的数字电路芯片,可用于实现各种逻辑电路。在 FPGA 中,我们可以使用 Verilog HDL(硬件描述语言)来编写数字电路设计。本篇文章将为您介绍如何使用 Verilog 实现基本的数字电路,即 3-8 译码器。 3-8 译码器是一种常用的数字电路

    2024年02月07日
    浏览(38)
  • 【FPGA】译码器、计数器及数码管显示

    写在前面 万万没想到秋招春招找工作以C++为主、FPGA为辅,最后去了FPGA岗位 也算是不忘初心,回归了从研一就开始学的FPGA老本行 但之前学FPGA的时候并没有养成写笔记的习惯,导致后面有些东西都比较模糊,因此打算从今天开始从头来过,把之前基础知识和新学到的FPGA相关

    2024年02月11日
    浏览(45)
  • 用译码器来设计组合逻辑电路

     三线到八线:输入端只有三个所以只能是三变量  我们先来看书上的一个例子  设计的过程第一步 将函数表达式整理成最小项和的形式 我们用来举例,不是最小项的形式 三变量函数可以用三变量的最小项来表示  为了看的更清楚,我们写成 最小项的编号 ,这样子更好看

    2024年02月08日
    浏览(44)
  • 【Multisim仿真】74LS47译码器驱动共阳数码管显示(0-8)数字显示

    🎬Multisim仿真演示 📑74ls47引脚功能 LT: 试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT=0时,无论输入A3,A2,A1,A0 为何种状态,译码器输出均为低电平,也就是七段将全亮,若驱动的数码管正常,是显示8。 BI: 灭灯输入,是为控制多位数码显示的灭灯所

    2024年02月17日
    浏览(227)
  • Verilog 3线-8线译码器设计

    任务描述 相关知识 3线-8线译码器的功能 case语句 编程要求 说明  源代码 设计一个3线-8线译码器。运用Verilog HDL进行设计,完善译码器的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。 需要掌握: 1.3线-8线译码器的功能; 2.如何用case语句进行逻辑功能的描

    2024年02月08日
    浏览(48)
  • EDA实验-----3-8译码器设计(QuartusII)

    目录 一. 实验目的 二. 实验仪器 三. 实验原理及内容 1.实验原理 2.实验内容 四.实验步骤 五. 实验报告 六. 注意事项  七. 实验过程 1.创建Verilog文件,写代码 ​编辑 2.波形仿真 3.连接电路图 4.烧录操作 学会Verilog HDL的case语句应用。 学会Verilog HDL的if语句应用。 学会使用Ver

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包