实验二 FPGA使用Verilog HDL设计分频器

 实验目的

  1. 掌握使用Vivado软件进行设计、综合、仿真、布线的方法。
  2. 掌握FPGA程序的下载方法。
  3. 掌握使用Verilog HDL设计分频器的方法。

 实验要求

 采用Verilog HDL语言设计分频器,实现以下功能:

  1. 输出时钟周期为1s的分频时钟信号;
  2. 通过LED灯或数码管显示秒数,可对9s内的秒数进行计数;
  3. 当按下复位按键时,重新开始计数。

对设计进行综合、仿真、布线、下载和测试。

 实验过程

  1. 打开Vivado软件,新建一个工程。
  2. 新建设计文件,使用Verilog HDL语言设计程序,实现分频器功能。

代码如下:

我这个是通过一个数码管显示的

timescale 1ns / 1ps
module exp2(input clk,//时钟input rst,//复位output reg clk_out,//分频后output reg [7:0]out,//数码管位选和显示
);
parameter LW = 25000000;reg [31:0]count;
reg [3:0]second;
always @(posedge clk or negedge rst) beginif(!rst)begin clk_out <= 0;count <= 0;endelseif (count < LW - 1)begincount <= count + 1;endelsebegincount <= 0;clk_out <= ~clk_out;endend
always @(negedge clk_out or negedge rst)
beginif (!rst)second <= 0;elseif (second < 9)second <= second + 1;elsesecond <= 0;case(second)0:out <= 8'b01111110;1:out <= 8'b00110000;2:out <= 8'b01101101;3:out <= 8'b01111001;4:out <= 8'b00110011;5:out <= 8'b01011011;6:out <= 8'b01011111;7:out <= 8'b01110000;8:out <= 8'b01111111;9:out <= 8'b01111011;default: out <= 0;endcase;
end
endmodule

仿真代码如下:

`timescale 1ns / 1psmodule exp2_t;reg clk;reg rst;always #10 clk=~clk;wire [7:0]out;wire clk_out;exp2 exptest(.clk(clk),.rst(rst),.clk_out(clk_out),.out(out));
initialbeginclk=0;rst=0;#4000rst=1;endendmodule

实验结果 

 

 

 

总结 

   本次实验中,将always块中的敏感事件写错了,经过仿真结果找出问题;在秒表计数的if-else语句中将计数的变量搞错,导致不能正确的实现秒表过一秒加一的操作,通过本次实验,我不仅掌握了使用Vivado软件进行综合、仿真、布线、下载和测试的方法,也加强了对Verilog HDL语言的掌握和应用能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1486338.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

15个在线地图瓦片URL分享

数据是GIS的血液&#xff0c;我们在《10个在线地图瓦片URL分享》一文中为你分享了10个地图瓦片URL链接&#xff0c;现在再为你分享5个在线的瓦片地图URL图源&#xff01; 该在线地图瓦片URL支持在GIS软件或开发平台进行调用&#xff0c;比如ArcGIS、QGIS、Global Mapper、Open…

PowerBI宝藏级资料分享推荐

有同学留言想学习PowerBI&#xff0c;求推荐可以免费学习的网站&#xff0c;最好是比较系统的&#xff0c;不要那种广告或诱导付费才能学习的网站。 这样的学习网站确实有&#xff0c;主打大家要求的免费。 推荐大家几个我一直私藏的宝藏级&#xff0c;学习和使用资料网站. …

《经典图论算法》贝尔曼-福特算法(Bellman-Ford)

摘要&#xff1a; 1&#xff0c;Bellman-Ford 算法的介绍 2&#xff0c;Bellman-Ford 算法为什么可以解决有负权边的图 3&#xff0c;Bellman-Ford 算法为什么不能解决有负权回路的图 4&#xff0c;Bellman-Ford 算法的代码实现和负权回路的判断 5&#xff0c;Bellman-Ford 算法…

测试——Selenium

内容大纲: 什么是自动化测试 什么是Selenium Selenium工作原理 Selenium环境搭建 Selenium API 目录 1. 什么是自动化测试 2. 什么是Selenium 3. Selenium工作原理 4. Selenium环境搭建(java) 5. Selenium API 5.1 定位元素 5.1.1 CSS选择器定位元素 5.1.2 XPath定位元…

# Redis 入门到精通(十一)-- 集群

Redis 入门到精通&#xff08;十一&#xff09;-- 集群 一、redis 集群 – 集群简介 1、现状问题&#xff1a;业务发展过程中遇到的峰值瓶颈 redis提供的服务OPS可以达到10万/秒&#xff0c;当前业务OPS已经达到10万/秒。内存单机容量达到256G&#xff0c;当前业务需求内存容…

【机器学习】模型验证曲线(Validation Curves)解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 模型验证曲线(Validation Curves)解析什么是模型验证曲线?模型验证曲线的解读模…

微信答题小程序产品研发-确定产品的定位

盛夏蝉鸣起&#xff0c;荷风香十里。我前面说过&#xff0c;我决意仿一款答题小程序&#xff0c;所以我做了大量的调研。 答题小程序软件产品开发不仅仅是写代码这一环&#xff0c;它包含从需求调研、分析与构思、设计到开发、测试再到部署上线一系列复杂过程。 在软件开发中…

增材制造与智能制造关系

在撰写的增材制造技术与装备书籍中有着明确的描述&#xff0c;增材制造是智能制造的典型范例&#xff0c;是智能制造“类”的实例化过程。这种借助于计算机编程面向对象思想的解释可以更全面的理解增材制造和智能制造的关系。增材制造实例具备了智能制造类的属性&#xff0c;智…

数据库中字符串连接符的使用

在数据库操作中&#xff0c;字符串处理是日常工作中不可或缺的一部分。无论是构建动态查询&#xff0c;还是处理数据输出&#xff0c;字符串连接符的使用都是至关重要的。那么&#xff0c;如何正确地使用字符串连接符&#xff0c;才能高效地进行字符串操作呢&#xff1f; 在数据…

网站安全-CDN篇

为了保证 CDN 不被恶意刷流量导致高额账单&#xff0c;可以对 CDN 做防护措施&#xff0c;或使用高防 CDN。 ‍ ‍ ‍ 普通 CDN 普通 CDN 受到恶意攻击&#xff0c;也是会计费的。目前国内大部分 CDN 厂商都是这样的套路&#xff1a;即使你的 CDN 流量用完了&#xff0c;还…

Pyside6绘制折线图并计算面积

Pyside6绘制折线图并计算面积 import sys import random from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QMainWindow from PySide6.QtCore import Qt, QRectF, QPointF, Signal from PySide6.QtGui import QPainter, QPen, QColor, QMouseEventclass P…

微服务分布式事务

1、分布式事务是什么&#xff1f; 微服务架构中的分布式事务是指在多个服务实例之间保持数据一致性的机制。由于微服务通常涉及将业务逻辑拆分成独立的服务&#xff0c;每个服务可能有自己的数据库&#xff0c;因此当一个业务操作需要跨多个服务进行时&#xff0c;确保所有服务…

【知识】PyTorch种两种CUDA时间测量的方法对比

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 在PyTorch中使用CUDA进行时间测量时&#xff0c;以下两者各有优缺点&#xff1a; torch.cuda.current_stream(self._device).synchronize() torch.cud…

泰迪智能科技携广州华商学院共讨产教融合,校企合作

7月19日&#xff0c;广州华商学院人工智能学院的领导及骨干教师一行莅临泰迪智能科技参观交流&#xff0c;广州华商学院人工智能学院院长助理杨本胜、院长助理洪绍勇、大数据系主任颜远海、金融数学系主任石金诚、人工智能系主任霍永良&#xff0c;以及骨干教师许丽娟、李志青、…

恐怖数字暗影:猜中才能逃离

大家可以看看这个&#xff0c;也很有意思&#xff01; 猜数字游戏&#xff08;老六版&#xff09;-CSDN博客 1、 剧情介绍 在一个阴暗潮湿的古堡中&#xff0c;你独自一人走进了一间散发着诡异气息的房间。房间的正中央有一张古老的桌子&#xff0c;上面放着一本泛黄的羊皮卷…

2024-07-22 Unity AI行为树1 —— 框架介绍

文章目录 1 行为树2 行为树驱动方式3 行为树结点分类3.1 控制节点3.2 执行节点 4 行为树与状态机比较 本文章参考 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 行为树 ​ 行为树&#xff08;Behavior Tree&#xff0c;BT&#xff09;在游戏 AI 中是一种用于控制…

【git】git 提交修改报错 ERROR: do not set execute permissions for source files

目录 问题报错信息解决方法 问题 修改文件后&#xff0c;使用git 提交修改到gerrit时报错&#xff1a;ERROR: do not set execute permissions for source files 文件修改前 $ll deinterlace_mtn.c -rw-r--r-- 1 xxx users 31599 Jul 22 08:10 deinterlace_mtn.c文件修改后…

前端JS特效第49波:简洁时尚的jQuery和CSS3侧边栏菜单插件

简洁时尚的jQuery和CSS3侧边栏菜单插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" c…

mysql高阶语句:

mysql高阶语句&#xff1a; 高级语法的查询语句&#xff1a; select * from 表名 where limitsdistinct 去重查询like 模糊查询 排序语法&#xff1a;关键字排序 升序和降序 默认的排序方式就是升序 升序&#xff1a;ASC 配合order by语法 select * from 表名…

QT写一个mainWindow

切换风格的写法&#xff1a; 先看看样式效果&#xff1a; mian_window.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();void Ini…