FPGA设计开发(基础课题):74LS160计数器芯片设计

这篇具有很好参考价值的文章主要介绍了FPGA设计开发(基础课题):74LS160计数器芯片设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、设计目的

1、学会用HDL语言设计时序电路;

2、用HDL语言设计74LS160计数器芯片的数字功能。

二、设计原理

计数器是最常用的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。一般计数器可以分为两类:加法计数器和减法计数器。加法计数器每来一个脉冲计数值加1;减法计数器每来一个脉冲计数值减1。

下面将通过模仿中规模集成电路74LS160的功能,用HDL语言设计一个十进制可预置计数器。74LS160共有一个时钟输入端CLK,一个清除输入端CLR,两个计数允许信号P和T,4个可预置数据输入端D、C、B、A,一个置位允许端LOAD,4个计数输出端QD、QC、QB、QA,一个进位输出端RC,其工作模式及时序图如下表和图2-14所示。

功能

输入

输出

操作

CLR

CLK

P

T

LOAD

QD、QC、QB、QA

复位

L

X

X

X

X

L、L、L、L

预置

H

X

X

L

D、C、B、A

计数

H

H

H

H

+1

保持

H

X

L

X

H

QD、QC、QB、QA

保持

H

X

X

L

H

QD、QC、QB、QA

注:进位输出端RC=Q3&!Q2&!Q1&Q0&T

三、设计内容

本实验要完成的任务就是实现中规模集成电路74LS160的功能,观察其工作时序,并下载到芯片中观察其实际工作过程。

实验时为了便于观察,需经分频得到1Hz时钟,用拨挡开关的SW1A~SW4A作为计数器的输入D,按键F3和F4作为计数器的控制允许P和T信号,F2作为清除输入CLR,用按键开关模块的F1作为LOAD信号(注意:由于计数器采用的是1Hz时钟,而装载数据是在时钟信号的上升沿作用下进行,所以要想正确的加载预制数据,F1按键必须按住至少1s以上才可以),用七段数码管模块中的某一位作为计数器的输出Q指示,用LED8作为计数器的输出翻转信号RC指示。

四、设计结果

1、74LS160源程序:

module A74LS160(clr,clk,et,ep,load,datain,dataout,rc,smg);

input clr,clk,et,ep,load;

input [3:0] datain;

output [6:0] smg;

reg [6:0]smg;

output [3:0] dataout;

output rc;

reg rc;

reg clk2;

reg [3:0] q1;

reg [8:0] cnt;

wire clr;

parameter n=50000000;

always@(posedge clk)

begin

if(cnt<(n/2-1))

begin

cnt<=cnt+1'b1;

clk2<=clk2;

end

else

begin

cnt<=9'd0;

clk2<=~clk2;

end

end

always@(posedge clk2 or negedge clr)

begin

if(clr==0)

begin

q1<=4'd0;

end

else

begin

if(clk2==1&load==0)

q1=datain;

else if(clk2==1&load==1)

begin

if(ep==1&et==1&q1<4'd10)

begin

q1=q1+1;

rc=0;

end

else if((et&ep)==0)

begin

q1=q1;

rc=0;

end

else if(q1==4'd10)

rc=1;

end

end

end

assign dataout=q1;

always@(dataout)

begin

case(dataout)

4'b0000:smg=7'b0000001;

4'b0001:smg=7'b1001111;

4'b0010:smg=7'b0010010;

4'b0011:smg=7'b0000110;

4'b0100:smg=7'b1001100;

4'b0101:smg=7'b0100100;

4'b0110:smg=7'b1100000;

4'b0111:smg=7'b0001111;

4'b1000:smg=7'b0000000;

4'b1001:smg=7'b0001100;

4'b1010:smg=7'b0001000;

endcase

end

endmodule

2、仿真波形图:

FPGA设计开发(基础课题):74LS160计数器芯片设计

上图为未分频仿真74LS160在普通计数模式下的结果。

FPGA设计开发(基础课题):74LS160计数器芯片设计

上图为未分频仿真74LS160预置数为6的结果。

FPGA设计开发(基础课题):74LS160计数器芯片设计

上图为未分频仿真74LS160保持输出为0不变功能结果。由于50M分频时仿真时钟波形不够显示50000000次时钟波形,所以计数器模块输出结果未显示出,便不再附图。

3、管脚约束:

FPGA设计开发(基础课题):74LS160计数器芯片设计4、下载到试验箱上的结果:

FPGA设计开发(基础课题):74LS160计数器芯片设计

上图为模块EP、ET、LOAD、CLR端完全置1,处于普通计数模式时数码管的计数显示结果,此模式下计数显示每隔一秒加一,同时也说明了时钟50MHz被成功分频为1Hz。

FPGA设计开发(基础课题):74LS160计数器芯片设计上图为模块EP端置0,ET、LOAD、CLR端完全置1,输出结果保持不变的情况。同理模块ET端置0,EP、LOAD、CLR端完全置1,也可达到保持的功能。

FPGA设计开发(基础课题):74LS160计数器芯片设计

上图为计数到10,进位端被置1,进位标志位使LED熄灭的结果。

五、注意

将所有功能的程序糅杂在一个module中会使程序复杂化,难以改动,应将争取将其进行例化,采用模块结构描述,使程序更简洁明了,更直观,易改动易移植。文章来源地址https://www.toymoban.com/news/detail-475987.html

到了这里,关于FPGA设计开发(基础课题):74LS160计数器芯片设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 用74LS73设计四位二进制加法计数器和8421BCD加法计数器

     (1)用2片74LS73实现该电路,由CP端输入单脉冲,设计并画出4位异步二进制加法计数器电路图。  (2)由CP端输入单脉冲,测试并记录Q1~Q4端状态及波形。 四位二进制加法计数器状态迁移表如下: Q 4n Q 3n Q 2n Q 1n Q 4n+1 Q 3n+1 Q 2n+1 Q 1n+1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0

    2024年02月10日
    浏览(87)
  • 2021-06-02 Multisim 14.0 74LS160异步21进制74LS161组成61进制160与161的区别154显示193加减

    74ls160是十进制计数器,也就是说它只能记十个数从0000-1001(0-9)到9之后再来时钟就回到0,首先是clk,这是时钟。之后是rco,这是输出,MR是复位低电频有效(图上接线前面花圈的都是低电平有效)load是置数信号,当他为低电平时,在始终作用下读入D0到D3。为了使161正常工作

    2024年02月13日
    浏览(41)
  • 数字电子基础课程设计——基于74LS90的电子时钟,可实现校准时分秒以及清零

    数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长使用寿命的优点,因此得到了更广泛的使用,数字电子钟从原理上讲是一的数字电路,其中包括了组合逻辑电路和时序电路。 课设内容:电

    2024年02月03日
    浏览(99)
  • 【FPGA零基础学习之旅#7】BCD计数器设计

    🎉欢迎来到FPGA专栏~BCD计数器设计 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 顶层模块中的BCD模块级联: Verilog实现

    2024年02月08日
    浏览(47)
  • FPGA开发设计

    FPGA是可编程逻辑器件的一种,本质上是一种高密度可编程逻辑器件。 FPGA的灵活性高、开发周期短、并行性高、具备可重构特性,是一种广泛应用的半定制电路。 采用基于SRAM工艺的查位表结构(LUT),LUT用于实现实际逻辑电路的功能,LUT本质上是一个RAM,事先将相应的结果

    2024年01月17日
    浏览(33)
  • 设计分享|74LS138译码器实现流水灯

    具体实现功能: 74LS138译码器实现流水灯的控制。 设计介绍 51单片机简介 51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 51系列单片机具有以下标准功能: 8k字节Flash,512字节RAM,

    2024年02月06日
    浏览(50)
  • FPGA 开发必备:从零开始学习 FPGA 设计

    FPGA 开发必备:从零开始学习 FPGA 设计 FPGA 是一种可编程逻辑器件,可以在不用重新设计硬件电路的情况下修改其功能。它是数字电路设计中最重要的组成部分之一。FPGA 的广泛应用领域包括通信、计算机、图像处理、音频处理等。 要想成为一名合格的 FPGA 工程师,你需要了

    2024年02月07日
    浏览(58)
  • 北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分  二.管脚分配 三.实现过程讲解及效果 shift_register.v d

    2024年02月05日
    浏览(60)
  • SOC FPGA介绍及开发设计流程

    目录 一、SoC FPGA简介 二、SoC FPGA开发流程 2.1 硬件开发 2.2 软件开发          SOC FPGA是在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器控制器。 相较于传统的仅有ARM处理器或 FPGA 的嵌入式芯片,SOC FPGA既拥有ARM处理器灵活高效的数据运算和事务

    2024年02月15日
    浏览(40)
  • 单周期-开发过程【FPGA模型机课程设计】

    2023-5-25 08:24:28 以下内容源自《【FPGA模型机课程设计】》 仅供学习交流使用 0集中实践环节计划书【FPGA模型机课程设计】 工程迭代过程 README.txt 1FPGA模型计算机整体方案设计【FPGA模型机课程设计】 2模型计算机各功能电路设计【FPGA模型机课程设计】 实现基本20条指令 3模型机

    2024年02月09日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包