西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

一、实验目的

1、掌握基于Verilog语言的diamond工具设计全流程。

2、熟悉、应用Verilog HDL描述数字电路。

3、掌握Verilog HDL的组合和时序逻辑电路的设计方法。

4、掌握“小脚丫”开发板的使用方法。

二、实验原理

三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)

逻辑代码:

module total_sum

(

input wire rst,y,k,

output wire sum,

output reg[3:0]led

);

wire e,f,s,q;

reg h;

assign f=y;

assign s=e^f^q;

assign sum=s;

always@(negedge k or negedge rst)

      if(!rst)

            begin

            h<=1'b0;

            led[3:0]<=4'b0000;

            end

      else if(!k)

            begin

            h<=e&f&(~q)|(e|f)&q;

            led[3]<=s;

            led[2]<=led[3];

            led[1]<=led[2];

            led[0]<=led[1];

            end

      assign e=led[0];

      assign q=h;

endmodule

四、综合、管脚分配、生成输出文件、下载(所有步骤截图)

综合:

管脚分配:

小脚丫已被收回,无法进行文件传输

五、仿真程序清单、波形(波形截图必做,截图!)

仿真程序清单:

`timescale 1ns/1ns

module total_sum_tb;

reg rst;//复位键

reg k;//开关

reg y;//输入的数据

wire [3:0] led;//小灯

wire sum;

initial    //开始

       begin//对一些参数初始化

       #10 rst=1; k=1;

       #10 rst=0;     //复位

       #10 rst=1;y=1;

       #10 k=0;    //在k=1时输入1,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入0,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入1,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入0,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入1,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入1,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入0,并在k=0时运算

       #10 k=1;y=1;

       #10 k=0; //在k=1时输入0,并在k=0时运算

       end

total_sum u1

(

       .k(k),//开关

       .rst(rst),//复位

       .y(y),//输入

       .sum(sum),//观察输出

       .led (led)//小灯

);

Endmodule

波形图:

六、思考与体会

通过本次实验,我进一步理解了用Verilog语言对FPGA进行了编程的过程与其所需要注意的一些要点,能自己设计出四位串行累加器,并且用FPGA实现了本次实验的内容,经过验证,与仿真结果一致,满足累加器的基本功能,做实验设计时,应该按步骤设计,首先列真值表,根据真值表列出逻辑函数表达式并化简,再根据化简了的逻辑表达式画出逻辑电路图,选择适当的电路芯片合理布线设计实验线路,最后根据路线写代码。在实验练习的巩固下,我对相关的理论知识有了更深刻的记忆和运用。

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

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

相关文章

Leetcode 491 递增子序列

题意理解&#xff1a; 输入&#xff1a;nums [4,6,7,7] 输出&#xff1a;[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]] 这里不止要找一个子序列&#xff0c;还要元素保证其在原来的集合中的前后顺序&#xff0c;且应为增序。 为保证一个增序序列&#xff0c;…

刘家窑中医院王忠主任:心脑血管健康知识的传播者和实践者

为普及心脑血管健康知识&#xff0c;呼吁市民注重心脑血管健康&#xff0c;王忠主任及其科室医护人员举办进社区义诊咨询的活动。王忠主任及多名中医心脑专家和护理人员为社区居民免费进行量血压、测血糖以及健康咨询等义诊活动。 王忠主任用了全身的心血&#xff0c;学习百家吸…

LTC是什么意思?CRM怎样帮助这一流程的实现?

在现代商业环境下&#xff0c;将潜在客户转化成实际销售是公司成功的基石之一。而CRM管理系统是完成LTC的有效工具。本文将向您介绍LTC是什么&#xff1f;公司怎样企业如何通过CRM实现这一流程的&#xff1f; LTC&#xff08;从线索到现金&#xff09;是企业运营管理中的一个重…

Python 使用 openpyxl 写表格

当前环境&#xff1a;Win10 x64 MS office 2016 Python3.7 openpyxl3.0.9 1 写入表格 from openpyxl import Workbook# 创建一个 workbook workbook_w Workbook()# 获取被激活的 worksheet worksheet_w workbook_w.active# 1 批量插入数据# 设置一行数据 worksheet_w.ap…

Mo 人工智能教学实训平台年终发布会——发现意外 创造可能

发布会视频回放 –发现意外 创造可能– 在技术迅猛发展的时代里&#xff0c;人工智能教育成为推动社会进步的关键力量&#xff0c;大模型更是各行业的必备技能。为了深度探索教育与人工智能的融合&#xff0c;Mo 人工智能教学实训平台于12月12日举行线上年终发布会&#xff0…

电子烟MOS的选型与要求分析

工作原理&#xff1a; 当用户在吸嘴处抽吸时&#xff0c;气流经过进气孔&#xff0c;穿 过电路板上方的咪头&#xff0c;咪头即产生电信号&#xff0c;驱 动芯片板&#xff0c;让电池供电给雾化芯&#xff0c;雾化芯中的 发热丝将电能转化成热能&#xff0c;当温度达到雾化液 …

K8s中pod詳解

目录 Yaml语法解析 Pod pod是如何被创建的 1.创建一个pod 2.创建一个多容器pod 进入容器 3.配置节点标签 4.Pod容器的交互 4.1创建pod&#xff0c;并做本地解析 4.2pod共享进程 4.3pod共享宿主机namespace 5.钩子函数lifecycle 基础指令 # 查看对应资源: 状态 $ kubectl…

家委会的职责

家委会&#xff0c;起着至关重要的作用。然而&#xff0c;而很多人对家委会的职责并不清楚。 家委会是家长与学校之间的沟通桥梁。家委会成员需要积极与学校沟通&#xff0c;了解学校的各项政策和规定&#xff0c;并及时向家长传达。同时&#xff0c;家委会也需要收集家长的意见…

leetcode算法题:省份数量

leetcode算法题547 链接&#xff1a;https://leetcode.cn/problems/number-of-provinces 题目 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间…

立创EDA把三个单独的PCB合并成一个文件

[TOC](立创EDA把三个单独的PCB合并成一个文件 1.具体操作 1.具体操作 参考&#xff1a;立创社区 先选中PCB CTRLSHIFTC, CTRLSHIFTV** **

fcntl函数简介和使用

一、fcntl函数的作用 read函数是典型的阻塞模型&#xff0c;当缓冲区里的数据不就绪的时候&#xff0c;会一直阻塞等待。这是正常的&#xff0c;因为文件描述符默认是阻塞IO&#xff0c;而我们可以通过 fcntl 接口函数将文件描述符设置为非阻塞IO。 设置成非阻塞IO以后&#x…

发送java字节码的数据包

一些Java反序列化漏洞在利用时&#xff0c;要发送Java序列化值&#xff08;字节码&#xff09;到服务器。 我们在使用一些工具生成字节码后&#xff0c;可以通过python或者burp发送。 生成的字节码一般以两种形式存储&#xff1a; 1、二进制形式存储到 poc.ser 2、将字节码…

系统架构达人亲授:多电商活动从容应对的顶级秘籍!

大家好&#xff0c;我是小米&#xff0c;一个热爱技术分享的小伙伴。最近我参加了一场社招面试&#xff0c;遇到了一道非常有趣的题目&#xff1a;在面对多个电商活动时&#xff0c;从架构上需要做到什么支持呢&#xff1f;今天我就来和大家分享一下我的思考和解答。 引言 随…

关于面试总结--接口测试面试题

前言 接口测试最近几年被炒的火热了&#xff0c;越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢&#xff1f; 主要是平常的功能点点点&#xff0c;大家水平都一样&#xff0c;是个人都能点&#xff0c;面试时候如果问你平常在公司怎么测试的&#xff…

广州华锐互动:AI虚拟数字人为教培行业带来诸多变革和创新

随着科技的不断发展&#xff0c;人工智能技术已经逐渐渗透到各个行业&#xff0c;其中教育领域也不例外。近年来&#xff0c;AI虚拟数字人在教培行业的应用越来越广泛&#xff0c;为教育行业带来了诸多变革和创新。 广州华锐互动作为一家虚拟现实内容制作商&#xff0c;已开发了…

深度学习中的13种概率分布

1 概率分布概述 共轭意味着它有共轭分布的关系。 在贝叶斯概率论中&#xff0c;如果后验分布 p&#xff08;θx&#xff09;与先验概率分布 p&#xff08;θ&#xff09;在同一概率分布族中&#xff0c;则先验和后验称为共轭分布&#xff0c;先验称为似然函数的共轭先验。 多…

尚硅谷Docker笔记-基础篇

B站视频&#xff1a;https://www.bilibili.com/video/BV1gr4y1U7CY 1.Docker简介 解决了运行环境和配置问题的软件容器 方便做持续集成并有助于整体发布的容器虚拟化技术 容器与虚拟机比较 Docker 容器是在操作系统层面上实现虚拟化&#xff0c;直接复用本地主机的操作系统…

防反接电路设计和保姆级实测

文末有封面图&#xff01;~&#xff01;~ 注意&#xff1a;正确的防反接电路在实验C ​​​​​​​ 前言 一、实验器材 二、实验步骤 正确的电路在实验C 1 实验A&#xff1a; 2 实际A数据&#xff1a; 3 实验A结论 4 实验B 5 实际B数据&#xff1a; 6 实际B结论&…

服务器感染了.DevicData-D-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 勒索病毒成为网络安全的严峻挑战&#xff0c;而最新的.DevicData-D-XXXXXXXX勒索病毒更是引起广泛关注。本文将深入介绍.DevicData-D-XXXXXXXX勒索病毒的特征&#xff0c;提供恢复被其加密的数据文件的方法&#xff0c;并分享预防措施&#xff0c;以确保您的数…

ubuntu or MacOS 源码安装 fmt fmtlib

1&#xff0c;前情 提醒这个源代码需要从release中下载 打包好的&#xff0c;而直接用git clone下载不了&#xff0c;可能github上的这个git clone的链接仅仅是给fmt lib的开发者使用的吧&#xff1b; 下载fmtlib的release源代码u下载fmtlib的release源代码 2&#xff0c;解压编…