设计思路:

0-7 编码输入端(低电平有效)

EI 选通输入端(低电平有效)

A0、A1、A2 三位二进制编码输出信号即编码 输 出 端(低电平有效)

GS 片优先编码输出端即宽展端(低电平有效)

EO 选通输出端,即使能输出端

74LS148真值表:

输入

输出

EI

0

1

2

3

4

5

6

7

A2

A1

A0

GS

EO

1

X

X

X

X

X

X

X

X

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

0

0

X

X

X

X

X

X

X

0

0

0

0

0

1

0

X

X

X

X

X

X

0

1

0

0

1

0

1

0

X

X

X

X

X

0

1

1

0

1

0

0

1

0

X

X

X

X

0

1

1

1

0

1

1

0

1

0

X

X

X

0

1

1

1

1

1

0

0

0

1

0

X

X

0

1

1

1

1

1

1

0

1

0

1

0

X

0

1

1

1

1

1

1

1

1

0

0

1

0

0

1

1

1

1

1

1

1

1

1

1

0

1

其中,1-高电平 ,0-低电平 ,X-任意

原理图:

功能模块代码:

module code83(in8,out3,EI,GS,EO);
input[7:0] in8;
input EI;
output reg[2:0] out3;
output reg GS;
output reg EO;
always@(in8,EI)
beginout3=3'b111;EO=1;GS=1;if(~EI)beginGS=0;case(in8)8'b11111111:beginEO=0;GS=1;out3=3'b111;end8'b00000000: out3=3'b000;8'b10000000: out3=3'b001;8'b11000000: out3=3'b010;8'b11100000: out3=3'b011;8'b11110000: out3=3'b100;8'b11111000: out3=3'b101;8'b11111100: out3=3'b110;8'b11111110: out3=3'b111;default: out3=3'b111;endcaseend
end
endmodule

测试模块代码:

// Copyright (C) 2017  Intel Corporation. All rights reserved.
// Your use of Intel Corporation's design tools, logic functions
// and other software and tools, and its AMPP partner logic
// functions, and any output files from any of the foregoing
// (including device programming or simulation files), and any
// associated documentation or information are expressly subject
// to the terms and conditions of the Intel Program License
// Subscription Agreement, the Intel Quartus Prime License Agreement,
// the Intel FPGA IP License Agreement, or other applicable license
// agreement, including, without limitation, that your use is for
// the sole purpose of programming logic devices manufactured by
// Intel and sold by Intel or its authorized distributors.  Please
// refer to the applicable agreement for further details.// *****************************************************************************
// This file contains a Verilog test bench template that is freely editable to
// suit user's needs .Comments are provided in each section to help the user
// fill out necessary details.
// *****************************************************************************
// Generated on "03/30/2022 22:16:56"// Verilog Test Bench template for design : code83
//
// Simulation tool : ModelSim-Altera (Verilog)
// `timescale 1 ps/ 1 ps
module code83_vlg_tst();
// constants
// general purpose registers
reg eachvec;
// test vector input registers
reg EI;
reg [7:0] in8;
// wires
wire EO;
wire GS;
wire [2:0]  out3;// assign statements (if any)
code83 i1 (
// port map - connection between master ports and signals/registers   .EI(EI),.EO(EO),.GS(GS),.in8(in8),.out3(out3)
);
initial
begin
// code that executes only once
// insert code here --> begin                          // --> end
$display("Running testbench");
EI=1;in8=8'b0;
#5;
EI=0;
in8=8'b11111111;
#16 $stop;   end
always
// optional sensitivity list
// @(event1 or event2 or .... eventn)
begin
// code executes for every event on sensitivity list
// insert code here --> begin
#2 $display("EI:%b; input:%b; output:%b GS:%b; EO:%b",EI,in8,out3,GS,EO);
in8=in8<<1;                    @eachvec;
// --> end
end
endmodule

运行图:

FPGA学习笔记2.1——用Verilog实现74LS148的功能定义并测试相关推荐

  1. FPGA学习笔记2.2——用Verilog实现七段管的工作逻辑

    目录 设计思路: 原理图: Task下的调用: 功能模块代码: 测试模块代码: 运行图: Module下的调用: 功能模块代码: 测试模块代码: 运行图: 设计思路: 一个七段管使用7bit信号控制7 ...

  2. FPGA学习笔记3.2——用Verilog实现七段管计时器

    设计思路 在6个七段管上分别显示 小时(0-23或11).分(0-59).秒(0-59),各占2个管.外部时钟50Mhz.可以用按键来产生一个复位信号key,当按键按下立刻(异步)将时间复位成0小时. ...

  3. FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  4. FPGA学习笔记(十二)IP核之FIFO的学习总结

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  5. FPGA学习笔记(六)Modelsim单独仿真和Quartus联合仿真及signaltap使用

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  6. FPGA学习笔记(五)Testbench(测试平台)文件编写进行Modelsim仿真

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  7. FPGA学习笔记(1)简单的时序逻辑电路——流水灯

    FPGA学习笔记(1)简单的时序逻辑电路--流水灯 编程语言为Verilog HDL 原理 (1)设计一个计数器,使开发板上的4个LED状态每500ms翻转一次.开发板上的晶振输出时钟频率为50MHz ...

  8. FPGA学习笔记_ROM核调用与调试

    FPGA学习笔记 ROM核调用与调试 1. ROM存储器IP核的使用 2. 创建.mif文件 3. In system memory content editor内存查看工具的使用 4. Signal ...

  9. FPGA学习笔记_UART串口协议_串口接收端设计

    FPGA学习笔记 1. UART串口协议以及串口接收端设计 1 原理图 2 Verilog 代码 3 Modelsim仿真 4. FPGA板级验证 1.1 串口协议接收端设计 目标:FPGA接收其他设 ...

最新文章

  1. python编程图_Python编程图形库之Pillow使用方法讲解
  2. mysql merge union_MySQLMerge存储引擎
  3. 数据结构:堆(Heap)
  4. Duilib嵌入CEF出现窗口显示不正常
  5. JS 前20个常用操作字符串的函数
  6. Mybatis源码阅读(二):动态节点解析2.1 —— SqlSource和SqlNode
  7. 本周开课 | 第 17 期高级转录组分析和R数据可视化火热报名中!!!
  8. Python 命令行解析器argparse及传参数详解
  9. cts测试linux指令skip,linux – dd命令中seek和skip之间有什么区别?
  10. ubuntu常用状态查看命令
  11. PaddlePaddle(4)——简单高效的部署与推理方法(Ⅰ)
  12. Tensorflow官方文档学习理解 (五)-卷积MNIST
  13. CentOs下编译安装nginx
  14. 6、numpy之文件保存与加载
  15. Laravel 下使用 FFmpeg 处理多媒体文件
  16. 傻,是不值得同情和原谅的事情
  17. 74.【JavaWeb -02】
  18. 基于videojs 实现javascript弹幕功能
  19. QT中使用GDAL多线程读取遥感图像到QImage
  20. C#隐藏tabcontrol

热门文章

  1. 正确使用计算机键盘和鼠标,你真的会用鼠标吗?鼠标使用全揭秘
  2. 使用 Fresco 实现大图浏览(支持手势放大、拖拽)
  3. Andriod 虚拟机
  4. pandas读取csv写入mysql_使用python的pandas库读取csv文件保存至mysql数据库
  5. 股市大涨该买吗?教你用算法量化交易行为!
  6. 神经网络人口预测matlab,利用MATLAB工具模拟实现人口预测实例分析.doc
  7. 【Writeup】2017陕西网络空间安全技术大赛CSTC misc部分
  8. 【STM32标准库】【基础知识】时钟系统
  9. 网络时间同步设备(时钟同步产品)时钟系统应用技术介绍
  10. MySQL数据库下载与安装