【Verilog】实验三 数码管实验

目录

一、实验目的:

二、实验内容:

三、实验要求:

四、实验步骤:


一、实验目的:

  1. 进一步熟悉Modelsim和VIVADO工具;
  2. 掌握7段数码管显示译码器;
  3. 掌握7段数码管数码管动态输出显示的方法。

二、实验内容:

  1. 实现按动开关键,在数码管上显示相应的十六进制数 0~F。(参考给定的已有工程文件Prep-IO)
  2. 实现开发板上的数码管动态显示0~F。

三、实验要求:

要求首先使用Modelsim软件进行功能仿真,然后使用VIVADO软件综合,并下载到开发板进行电路功能测试。

四、实验步骤:

1.采用VerilogHDL语言编程实现输入4位二进制,输出是8位数码管显示码。

2.用Modelsim进行功能仿真。

数码管译码模块

testbench

仿真

从仿真图上可以看出,对于相应的输入,输出结果是正确的

3.分别设计4位二进制数自动生成模块和数码管的译码模块。

4.在顶层文件将2个电路模块实例化,并进行相应的连线。

5.用VIVADO综合并将电路下载到开发板进行电路功能测试。

拨动SW0~7,显示对应的数字

拨动SW8~15,显示的结果

xc7k325tffg676-1

module 	 TOP_new(input  wire clk_200MHz_p,          input  wire clk_200MHz_n,input  wire[15:0]SW,output wire seg_clk,output wire seg_clrn,output wire seg_sout,output wire SEG_PEN				);clk_wiz_0 	  instance_name   (// Clock out ports.clk_out1(clk_100mhz),     // output clk_out1// Status and control signals.reset(1'b0), // input reset.locked(),       // output locked// Clock in ports.clk_in1_p(clk_200MHz_p),    // input clk_in1_p.clk_in1_n(clk_200MHz_n)     // input clk_in1_n);wire[31:0]Div;wire[7:0] out;wire[3:0] BCDCode;wire[7:0] Seg0 = (SW[0]) ? out : 8'hFF;wire[7:0] Seg1 = (SW[1]) ? 8'b10011111 : 8'hFF;wire[7:0] Seg2 = (SW[2]) ? 8'b00100101 : 8'hFF;wire[7:0] Seg3 = (SW[3]) ? 8'b00001101 : 8'hFF;wire[7:0] Seg4 = (SW[4]) ? 8'b10011001 : 8'hFF;wire[7:0] Seg5 = (SW[5]) ? 8'b01001001 : 8'hFF;wire[7:0] Seg6 = (SW[6]) ? 8'b01000001 : 8'hFF;wire[7:0] Seg7 = (SW[7]) ? 8'b00011111 : 8'hFF;BCDCode U1(.clk(Div[25]),.rst(SW[15]),.BCDCode(BCDCode));Seg7BCD U2(.out(out),.in(BCDCode));wire[63:0] disp_data =  {Seg0,Seg1,Seg2,Seg3,Seg4,Seg5,Seg6,Seg7};clk_div       U8(clk_100mhz,1'b0,SW[2],Div,CK);P2S 			  #(.DATA_BITS(64),.DATA_COUNT_BITS(6)) P7SEG (clk_100mhz,1'b0,Div[20],disp_data,seg_clk,seg_clrn,seg_sout,SEG_PEN);endmodule

zidong.v

module zidong(input clk,output reg[3:0] out);always@(posedge clk)out=out+1;
endmodule

top.v(修改)

	wire[7:0] Seg0 = (SW[8]) ? 8'b00000001 : 8'hFF;wire[7:0] Seg1 = (SW[9]) ? 8'b00001001 : 8'hFF;wire[7:0] Seg2 = (SW[10]) ? 8'b00010001 : 8'hFF;wire[7:0] Seg3 = (SW[11]) ? 8'b11000001 : 8'hFF;wire[7:0] Seg4 = (SW[12]) ? 8'b01100011 : 8'hFF;wire[7:0] Seg5 = (SW[13]) ? 8'b10000101 : 8'hFF;wire[7:0] Seg6 = (SW[14]) ? 8'b01100001 : 8'hFF;wire[7:0] Seg7 = (SW[15]) ? 8'b01110001 : 8'hFF;wire[7:0] out;wire[3:0] out1;zidong U1(.clk(DIv[25]),.out(out1));shumaguan U2(.out(out),.in(out1));wire[7:0] Seg[0]=(SW[14]&SW[15])?out:8'hFF;wire[7:0] Seg0 = (SW[0]) ? 8'b00000011 :(SW[8]) ? 8'b00000001 :(SW[14]&SW[15])?out:8'hFF;wire[7:0] Seg1 = (SW[1]) ? 8'b10011111 :(SW[9]) ? 8'b00001001 : 8'hFF;wire[7:0] Seg2 = (SW[2]) ? 8'b00100101 :(SW[10]) ? 8'b00010001 : 8'hFF;wire[7:0] Seg3 = (SW[3]) ? 8'b00001101 :(SW[11]) ? 8'b11000001 : 8'hFF;wire[7:0] Seg4 = (SW[4]) ? 8'b10011001 :(SW[12]) ? 8'b01100011 : 8'hFF;wire[7:0] Seg5 = (SW[5]) ? 8'b01001001 : wire[7:0] Seg5 = (SW[13]) ? 8'b10000101 : 8'hFF;wire[7:0] Seg6 = (SW[6]) ? 8'b01000001 :(SW[14]) ? 8'b01100001 : 8'hFF;wire[7:0] Seg7 = (SW[7]) ? 8'b00011111 : (SW[15]) ? 8'b01110001 : 8'hFF;

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud + MyBatis Plus + GraphQL 完整示例

Spring Cloud MyBatis Plus GraphQL 完整示例 1、创建Spring Boot子项目1.1 配置POM,添加必要的依赖1.2 配置MyBatis-Plus 2、集成GraphQL2.1 定义schema.graphqls2.2 添加GraphQL解析器2.3 配置schame文件配置 3、访问测试3.1 查询测试(演示&#xff…

MySQL书籍推荐

《高性能MySQL(第4版)》-西尔维亚博特罗斯 系统层次 Mysql性能优化和高可用架构实践 2020 系统基础 MySQL性能调优与架构设计 系统基础 Mysql技术大全 2021 综合 MySQL数据库应用案例教程 综合实战 从入门到项目实践 综合实战 丰富 超值 MySQ…

MR30分布式IO模块赋能喷水织机

纺织行业作为我国传统支柱产业,历经数千年的演变,如今仍面临着诸多困境,在纺织行业中,每一次技术的飞跃都是对行业边界的勇敢探索。在纺织行业,喷水织机作为关键生产设备,其性能直接影响到产品质量和产能。…

nodejs循环导出多个word表格文档

文章目录 nodejs循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图nodejs循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save/…

LabVIEW中“this VI‘s owning library is missing”错误及解决

问题描述 当加载或打开一个VI时,如果其所属的项目库未加载到内存,LabVIEW将提示错误:“this VIs owning library is missing”(该VI的所属库不存在)。 该问题通常发生在以下情况下: 项目库文件丢失或路径…

LongVU:用于长视频语言理解的空间时间自适应压缩

晚上闲暇时间看到一种用于长视频语言理解的空间时间自适应压缩机制的研究工作LongVU,主要内容包括: 背景与挑战:多模态大语言模型(MLLMs)在视频理解和分析方面取得了进展,但处理长视频仍受限于LLM的上下文长…

sphinx基本使用

sphix是一个文档生成工具 本文介绍一些基础技能,如果想深入学习,可以查看官方文档 Sphinx官方文档 1.安装虚拟环境 # ubuntu # 使用 venv 创建 .venv虚拟环境 python3 -m venv .venv# 激活虚拟环境 source .venv/bin/activate# windows # 创建虚拟环境…

爬虫第四篇:Xpath 路径表达式全解析:从网页基础到爬取百度贴吧图片实战

简介:本文围绕 Xpath 路径表达式展开讲解,先是介绍了网页相关基础如 html、css、vue 以及前后端分离的概念与示例,包括各部分的结构、作用及简单代码展示,随后详细阐述了 xml 的节点关系、选取节点、谓语等理论知识,最…

HarmonyOS NEXT开发进阶(一):初识 HarmonyOS NEXT开发

文章目录 一、前言二、HarmonyOS NEXT 开发框架三、HarmonyOS NEXT开发指导3.1 Windows环境准备 四、项目拆解4.1 工程目录4.2 全局配置4.2.1 APP全局配置: AppScope层(AppScope/app.json5)4.2.3 签名全局配置 4.3 APP代码初始化4.4 APP签名文件配置4.5 …

Chrome控制台 网站性能优化指标一览

打开chrome-》f12/右键查看元素-》NetWrok/网络 ctrlF5 刷新网页,可以看到从输入url到页面资源请求并加载网页,用于查看资源加载,接口请求,评估网页、网站性能等,如下图: request、stransferred、resour…

【C++】入门【六】

本节目标 一、继承的概念及定义 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、复杂的菱形继承及菱形虚拟继承 八、继承的总结和反思 九、笔试面试题 一、继承的概念及定义 1.继承的概念 继承是面向对象…

MacOS安装sshfs挂载远程电脑硬盘到本地

文章目录 sshfs简介sshfs安装下载安装macFUSE安装sshfs sshfs使用注意事项 sshfs简介 SSHFS(SSH Filesystem)是一种基于FUSE(用户空间文件系统)的文件系统,它允许你通过SSH协议挂载远程文件系统。使用SSHFS&#xff0…

亚马逊云(AWS)使用root用户登录

最近在AWS新开了服务器(EC2),用于学习,遇到一个问题就是默认是用ec2-user用户登录,也需要密钥对。 既然是学习用的服务器,还是想直接用root登录,下面开始修改: 操作系统是&#xff1…

深度学习中的迁移学习:应用与实践

引言 在深度学习领域,迁移学习(Transfer Learning)是一个非常强大且日益流行的概念,它通过将从一个任务中学到的知识应用于另一个任务,能够显著加快模型训练速度并提高其泛化能力。迁移学习在许多实际应用中都得到了广…

股市复盘笔记

复盘是股市投资中非常重要的一个环节,它指的是投资者在股市收盘后,对当天的市场走势、个股表现以及自己的交易行为进行回顾和总结,以便更好地指导未来的投资决策。以下是对复盘的详细解释: 一、复盘的目的 总结市场走势&#xff…

ubuntu18.04+qt 5.12.12+安装和实验

引用 【QT | 开发环境搭建】Linux系统(Ubuntu 18.04) 安装 QT 5.12.12 开发环境 ubuntu18.04 安装qt5.12.8及环境配置 1.安装包链接 第一篇中写了 http://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-linux-x64-5.12.12.run2.安装 到下载目录下 sudo chmod ax…

【目标跟踪】AntiUAV600数据集详细介绍

AntiUAV600数据集的提出是为了适应真实场景,即无人机可能会随时随地出现和消失。目前提出的Anti-UAV任务都只是将其看做与跟踪其他目标一样的任务,没有结合现实情况考虑。 论文链接:https://arxiv.org/pdf/2306.15767https://arxiv.org/pdf/…

LabVIEW氢同位素单质气体定量分装系统

氢同位素单质气体在多个行业中有重要应用,如能源和化工。传统的分装方法面临精度和自动化程度不足的问题。为此,开发了一套基于LabVIEW和质量流量控制器的定量分装系统,提高分装精度和效率,同时减少资源浪费和环境污染。 项目背景…

使用Oracle通过gateway连接MSSQL

环境概述 某医院的his系统Oracle数据库要和体检系统进行数据通讯,需要从Oracle能查到sqlserver的数据。本次通过Oracle gateway来解决此问题。 HIS服务器:windows server 2016数据库oracle11.2.0.4,假设IP是192.168.100.9 体检服务器&…

跑一下pyapp

文档:How-to - PyApp 首先没有rust要安装 安装 Rust - Rust 程序设计语言 查看是否安装成功 然后clone下pyapp https://github.com/ofek/pyapp/releases/latest/download/source.zip -OutFile pyapp-source.zip 进入目录中,cmd,设置环境…