北邮22级信通院数电:Verilog-FPGA(6)第六周实验:全加器

news2024/10/7 8:31:25

北邮22信通一枚~

跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章

持续关注作者 迎接数电实验学习~

获取更多文章,请访问专栏:

北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客

先抄作业!!!!!!!!!!!!!!!!!!!!!!!!没时间写解析了等之后慢慢补吧

实验效果参考视频链接:

数电第六周实验全加器_哔哩哔哩_bilibili

一.verilog 代码 add.v

module add_initial(a,b,ci_1,si,ci);
 input a,b,ci_1;
 output si,ci;
 
 wire p,g;
 
 assign p=a^b;
 assign g=a&b;
 assign si=p^ci_1;
 assign ci=g|(p&ci_1);
 
endmodule



module my_add(a,b,s,ci,cout);
	input [3:0] a;
	input [3:0] b;
	input ci;
	output [3:0] s;
	output cout;
	wire c1,c2,c3;
	
	add_initial u0(.a(a[0]),.b(b[0]),.ci_1(ci),.si(s[0]),.ci(c1));
	add_initial u1(.a(a[1]),.b(b[1]),.ci_1(c1),.si(s[1]),.ci(c2));
	add_initial u2(.a(a[2]),.b(b[2]),.ci_1(c2),.si(s[2]),.ci(c3));
	add_initial u3(.a(a[3]),.b(b[3]),.ci_1(c3),.si(s[3]),.ci(cout));
endmodule


module add(sw,cal,key_confire_2,key_confire_3,
		seg_led_1,seg_led_2,clk,rst_n);
input clk;
input rst_n;
input [3:0] sw;
input cal;
input key_confire_2;
input key_confire_3;

output reg [8:0] seg_led_1;
output reg [8:0] seg_led_2;

reg [8:0] seg [15:0];
initial 
	begin
		seg[0]=9'h3f;
		seg[1]=9'h06;
		seg[2]=9'h5b;
		seg[3]=9'h4f;
		seg[4]=9'h66;
		seg[5]=9'h6d;
		seg[6]=9'h7d;
		seg[7]=9'h07;
		seg[8]=9'h7f;
		seg[9]=9'h6f;
		seg[10]=9'h77;
		seg[11]=9'h7c;
		seg[12]=9'h39;
		seg[13]=9'h5e;
		seg[14]=9'h79;
		seg[15]=9'h71;
	end

reg [3:0] a;
reg [3:0] b;
reg iscal;

wire [3:0]ans;
wire cout;
wire ci;
always@(*)begin
if(rst_n==0)
	begin
		a=4'b0000;
		b=4'b0000;
		iscal=0;
	end
if(key_confire_2==0)
	begin 
		a=sw;
	end
if(key_confire_3==0)
	begin 
		b=sw;
	end
if(cal==0)
	begin 
		iscal=1;
	end
end

my_add u(.a(a),.b(b),.s(ans),.ci(ci),.cout(cout));
always@(posedge clk)
begin 
	if(iscal)
		begin
			seg_led_1<=seg[ans];
			seg_led_2<=seg[cout];
		end
	else
		begin 
			seg_led_1<=seg[a];
			seg_led_2<=seg[b];
		end
end
endmodule
	
	
	

二.管脚分配

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

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

相关文章

机器人系统 ROS 常用命令行工具

1. 启动ros 主节点 roscore roscore运行成功如图&#xff1a; 1.1 rosrun 启动服务节点 例子&#xff1a;启动一个小乌龟节点 rosrun turtlesim turtlesim_node运行结果如图&#xff1a; 1.2 启动键盘控制 打开新的命令窗口&#xff0c;启动turtle_teleop_key 节点 rosr…

三步搞定查分系统

成绩查询系统&#xff0c;简单来说&#xff0c;就是一个让学生能够自助查询成绩的系统。无论是在学校、培训机构&#xff0c;还是在家庭教育中&#xff0c;成绩查询都是一个重要的环节。那么如何建立一个简单实用的成绩查询系统呢&#xff1f;下面就为你揭秘三步打造查分系统的…

ubuntu1804服务器设置静态IP

修改/etc/netplan/00-install-config.yaml文件中的内容 查看网关命令是route -n

【广州华锐互动】关于物理力学的3D实验实操平台

在科学的广阔领域中&#xff0c;物理力学是一个至关重要的分支&#xff0c;它探索了物体在力作用下的运动规律。然而&#xff0c;传统的物理实验往往需要复杂的设备和大量的操作&#xff0c;这对于学生来说是一项巨大的挑战。为了解决这个问题&#xff0c;广州华锐互动开发了物…

GoLong的学习之路(二)语法之基本数据类型

书接上回&#xff1a;我在GoLong的学习之路&#xff08;一&#xff09;中在常量最后说了iota的作用。今天这里我在介绍一下我学习Go语言中基本数据类型。 文章目录 Go中的基本数据类型整型特殊整型数字字面语法 浮点型复数布尔值字符串字符串转义符多行字符字符串的常用操作&am…

小程序 swiper滑动

整个红色区域为可滑动区域&#xff0c;数字1区域为展示区域&#xff0c;数字2为下一个展示模块 <scroll-view class"h_scroll_horizontal" enhanced"ture" bind:touchend"touchEnd" bind:touchstart"touchStart"><view clas…

【iOS】——知乎日报第一周总结

文章目录 一、框架和布局问题二、线程冲突问题三、下拉刷新问题四、添加网络请求的图片五、时间标题设置问题 一、框架和布局问题 仿写知乎日报用到的框架依旧是MVC框架&#xff0c;所以一开始要想好该怎么搭建大体框架&#xff0c;对于各个模块该怎么分配&#xff0c;需要用到…

java--自增自减运算符

1.自增自减运算符 注意&#xff1a;、--只能操作变量&#xff0c;不能操作字面量的。 2.自增自减的使用注意事项 1.、--如果不是单独使用(如果在表达式中、或者同时有其它操作)&#xff0c;放在变量前后会存在明显区别 1.1放在变量前面&#xff0c;先对变量进行1、-1&#xff…

关于unicode视觉、存储长度的事儿

问题&#xff1a;unicode 找不到合适的正则 字符串视觉长度 使用lodash&#xff1b; import toarray from lodash.toarray; toarray(str);unicode视觉长度 在字符串视觉的基础上判断每个元素的length是否大于1来累积&#xff1b; 字节长度 Array.from(str).length 问题举…

Java数据结构之稀疏数组

目录 线性结构与非线性结构线性结构非线性结构 稀疏数组应用场景 代码实现二维数组转稀疏数组稀疏数组转二维数组 线性结构与非线性结构 线性结构 数据结构分两种&#xff0c;线性与非线性&#xff0c;线性结构的数据元素之间存在一对一的关系。 一对一指的是每个数据元素都…

淘宝app商品详情源数据API接口(解决滑块问题)可高并发采集

通过API接口采集淘宝商品列表和app商品详情遇到滑块验证码的解决方法&#xff08;带SKU和商品描述&#xff0c;支持高并发&#xff09;&#xff0c;主要是解决了高频情况下的阿里系滑块和必须要N多小号才能解决的反扒问题&#xff0c;以后都可以使用本方法&#xff1a; 大家都…

Qt+树莓派4B窗口半透明效果实现

文章目录 前言一、窗口半透明&#xff0c;窗口部件不透明1、构造函数中的设置2、paintEvent3、效果4、树莓派4B配置5、最终效果 前言 在树莓派4B下&#xff0c;使用Qt开发窗口半透明而窗口部件不透明效果时,发现窗口没能正常实现半透明效果,而是显示纯黑色背景。同样的代码在wi…

Windows 95 的辉煌诞生历史

1992 年 2 月&#xff0c;Windows 3.1 的研发即将结束&#xff0c;而 Windows 团队正忙得不亦乐乎地计划他们的下一盘大棋。到了 3 月 5 日&#xff0c;他们终于悠哉悠哉地敲定了战略大计&#xff1a;横扫桌面、笔记本、移动设备以及时髦的触控笔设备。至于那些高大上的服务器和…

基于springboot+vue网上书城系统53

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

Qt使用一行代码轻松改变按钮图标颜色

Qt使用一行代码轻松改变QPushButton QToolButton图标颜色 需求&#xff1a;Qt程序主界面改变主题颜色时&#xff0c;例如白色背景色切换为深色模式&#xff0c;背景会变成深色。通常按键的图标会使用黑色&#xff0c;这时应该将图标改为白色系&#xff0c;应该轻松快捷去实现&…

【Java开发实战攻关】「JPA技术专题」带你一同认识和使用JPA框架

JPA技术专题 一、JPA 介绍1、JDBC2、JPA是什么 二、搭建 JPA 环境三、JPA 注解四、JPA API1、缓存2、EntityManager3、API 五、关联关系映射1、一对一映射2、单向一对多3、单向多对一4、双向一对多及多对一5、双向多对多 六、JPQL1、createQuery2、createNativeQuery 一、JPA 介…

浪涌保护器SPD产品上的8/20波形与10/350波形的含义

浪涌保护器&#xff08;SPD&#xff09;是用于保护电子设备免受电源浪涌或瞬态电压影响的重要装置&#xff0c;我们在选购SPD相关产品时&#xff0c;会发现在其防雷能力放电电流KA后面还有一个重要参数——8/20us或10/350us&#xff0c;这两个参数究竟表示什么意思呢&#xff1…

云服务的划分IaaS,PaaS,SaaS 的区别

云服务只是一个统称&#xff0c;可以分成三大类。 三部分的命名&#xff1a; IaaS&#xff1a;基础设施服务&#xff0c;Infrastructure-as-a-servicePaaS&#xff1a;平台服务&#xff0c;Platform-as-a-serviceSaaS&#xff1a;软件服务&#xff0c;Software-as-a-service

COUNT(*) OVER (PARTITION BY ...)窗口函数——在每一行上执行聚合操作

它用于在查询结果中执行聚合操作&#xff0c;而不会影响查询的分组行数&#xff0c;同时在每个分组内进行计数。 COUNT(): 这表示要计算在窗口内的行数&#xff0c; 代表计算所有行。OVER: 这引入了窗口函数的定义&#xff0c;它告诉数据库引擎在什么样的窗口内执行计数。(PAR…

系列十三、Redis的哨兵机制

一、概述 Sentinel&#xff08;哨兵&#xff09;是Redis的高可用解决方案&#xff0c;由一个或者多个Sentinel实例组成集群&#xff0c;可以监视任意多个主服务器&#xff0c;以及这些服务器下属的所有从服务器&#xff0c;并在被监视的主服务器下线或者宕机时&#xff0c;自动…