头歌计算机组成原理实验—运算器设计(5) 第5关:32位快速加法器设计

news2024/11/17 23:56:54

第5关:32位快速加法器设计

实验目的

帮助学生理解成组进位产生函数,成组进位传递函数的概念,熟悉 Logisim 平台子电路的概念,能利用前述实验封装好的4位先行进位子电路以及4位快速加法器子电路构建16位、32位、64位快速加法器,并能利用相关知识分析对应电路的时间延迟,理解电路并行的概念。

视频讲解

实验内容

利用16位快速加法器以及先行进位电路构建32位快速加法器,并探讨其时间延迟。 可能方案:(1)2个16位加法器直接串联,C16 信号采用下层的进位输出;(2))2个16位加法器直接串联,C16 进位输入采用上层的进位输出;(3)在16位快速加法器的基础上再增加一级组间先行进位电路,类似64位快速加法器的方法;分别分析3种不同方案可能的总延迟,选择速度最快的方案实现32位快速加法器,并分析其时间延迟,其引脚如图所示。其中 X,Y 为32位相加数,Cin 为进位输入,S 为和数输出,Cout 为进位输出,Overflow 为有符号加法运算溢出信号。

电路框架

alu.circ

电路引脚

信号输入/输出位宽说明
X输入32位加数
Y输入32位加数
C0输入1位进位输入
S输出32位运算和
C32输出1位最32位进位位
C31输出1位第31位进位位

电路测试

完成实验后,利用文本编辑工具打开 alu.circ 文件,将所有文字信息复制粘贴到 Educoder 平台的 alu.circ 文件中,再点击评测按钮即可进行本关测试。平台会对你设计的电路进行自动测试,为方便测试,请勿修改子电路封装,本关测试用例如下:

 
  1. Cnt X Y C0 Sum C32 C31
  2. 00 00000005 c0000003 0 c0000008 0 0
  3. 01 c1d5aa08 0119cc6b 1 c2ef6774 0 0
  4. 02 fe41a0e1 9a2b14e0 1 986c5bc2 1 1
  5. 03 da405843 c728b6ea 0 a169f02d 1 1
  6. 04 3d1c7a2a 9fad949e 0 dccae0c8 0 0
  7. 05 b5b838da b59899a2 1 6b502d7d 1 0
  8. 06 89585d86 ce717451 0 57c91dd7 1 0
  9. 07 e4f4bad8 ed64e090 0 d259b968 1 1
  10. 08 72560570 094220bc 0 7b98622c 0 0
  11. ...

开始你的闯关任务吧,升级打怪中....

 

参考答案:

直接复制代码,字数太多,发不了,后续会上传文件

参考电路图

如果对你有所帮助,感谢点赞加收藏!

完整的代码可以到【WRITE-BUG数字空间】我的个人学习圈查看。

附上链接:

https://www.writebug.com/article/1cb43ede-f627-11ed-ada1-0242ac1a0006icon-default.png?t=N4HBhttps://www.writebug.com/article/1cb43ede-f627-11ed-ada1-0242ac1a0006

关于接下来的实验内容,我也会在【WRITE-BUG数字空间】更新,也可以为大家带来更好的观感,带来更多的分享,欢迎大家前来浏览。

 

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

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

相关文章

Day42【动态规划】背包问题详解、416.分割等和子集

0-1背包问题详解:二维数组 文章讲解 视频讲解 0-1 背包问题:有 n 件物品和一个最多能背重量为 w 的背包。第 i 件物品的重量是 weight[i],价值是 value[i],每件物品只能用一次,求解将物品装入背包里物品价值总和最大…

深入理解 Go sync.Map

前言 Go 语言原生 map 并不是线程安全的,要对它进行并发读写操作时,一般有两种选择: 原生map搭配Mutex或RWMutex使用sync.Map 和原生map搭配Mutex或RWMutex相比,sync.Map在以下场景更有优势: 读多写少 修改&#x…

Golang 1.18 新特性模糊测试

一、Go 1.18新特性一览 0.官方博客:跳转 1.支持泛型 2.模糊测试 3.工作空间 4.性能提升 二、模糊测试介绍 模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是將自动或半自动生成的随机数据输入到一个程序中&#xff0…

chatgpt赋能Python-python3怎么保存

Python 3如何高效地保存数据 Python是一门广泛使用的编程语言之一,其强大的工具和库使其成为从数据分析到机器学习等领域的首选语言。在处理大量数据时,数据的存储和访问变得非常关键。在这篇文章中,我们将讨论Python 3中如何保存数据以提高…

delphi6安装手册

DELPHI6安装手册 安装delphi6软件: 运行:\\dev2000 选择:set up→语言及开发工具→DELPHI6→双击图标install.exe 先后安装Delphi6和TeamSource 安装delphi6时会出现的要填序列号的情况 delphi6的安装序列号:在同一路径下双击ke…

chatgpt赋能Python-python3_9怎么调成黑色背景

Python是一种高级编程语言,它的版本不断发展和改进。最新发布的Python 3.9版本为用户提供了更多的新特性和改进,其中包括能够自定义代码编辑器背景颜色的新功能。本篇文章将介绍如何在Python 3.9中调整编辑器背景颜色为黑色,并探讨这个功能的…

三十九、分布式事务、seata、配置微服务客户端

1、事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列SQL操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。 1.1 ACID事务的特点 原子性: 一致性:隔离性持久性 1.2 事务并发带来的问题 脏读 幻读 不可重复读 …

TCL字符串操作

format命令 因为 TCL 把所有的输入都当作字符串看待,所以 TCL 提供了较强的字符串操作功能,TCL 中与 字符串操作有关的命令有:string、format、regexp、regsub、scan 等。 语法:format formatstring ?vlue value...? format …

【Redis】电商项目秒杀问题之下单接口优化:Redis缓存、MQ以及lua脚本优化高并发背景下的秒杀下单问题

目录 一、优化思路 二、缓存库存与订单 1、库存缓存的redis数据结构 2、订单信息缓存的redis数据结构 三、整体流程 四、lua脚本确保权限校验操作的原子性 一、优化思路 【Redis】电商项目秒杀问题之超卖问题与一人一单问题_1373i的博客-CSDN博客https://blog.csdn.net/q…

chatgpt赋能Python-python3_打印

Python3 打印:一篇介绍性SEO文章 如果你是一名Python编程工程师,那么你一定知道在Python中打印是一项基本技能。在Python3中,打印已经发生了一些变化,本文将介绍Python3中打印的新特性和使用方法,并为您提供一些最佳实…

算法设计与分析:随机化算法(作业-必做)(头歌实验)

第1关:硬币实验 任务描述 本关任务:计算机产生的伪随机数来模拟抛硬币试验。 相关知识 为了完成本关任务,你需要掌握:1.如何获取数组的长度,2.如何遍历数组。 随机数 随机数在随机化算法设计中扮演着十分重要的角…

云原生CAx软件:gRPC

gRPC是Google基于HTTP/2协议开发的一套开源、跨平台的高性能RPC框架,可用于连接微服务架构内的各种服务,亦可以连接客户端与后端服务。 Ref. from gRPC gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can…

策划能力提升攻略:让你成为行业大咖

策划能力的提高是没有立竿见影的,首先你了解策划的本质吗?了解市场营销的本质吗?了解战略和策略的关系吗? 不是经常把什么IMC/USP/4P/4C/DNA/核心价值挂在嘴边,会做做波特SWOT分析、用用BCG的模型、MINKSY的7S模型这些就是策划了的。 别人的理论你可…

WEB AK赛

文章目录 web1_观字SSRF常见的URL绕过方式 web2_观星web3_观图web4_观心签到_观己 web1_观字 <?php#flag in http://192.168.7.68/flag if(isset($_GET[url])){$url $_GET[url];$protocol substr($url, 0,7);if($protocol!http://){die(仅限http协议访问);}if(preg_matc…

安装Maven 3.6.1:图文详细教程(适用于Windows系统)

一、官网下载对应版本 推荐使用maven3.6.1版本&#xff0c;对应下载链接&#xff1a; Maven3.6.1下载地址 或者&#xff0c;这里提供csdn下载地址&#xff0c;点击下载即可&#xff1a; Maven3.6.1直链下载 其他版本下载地址&#xff1a; 进入网址&#xff1a;http://mave…

【Linux之IO系统编程学习】01.open函数使用 代码实现touch命令效果

【Linux之IO系统编程学习】 项目代码获取&#xff1a;https://gitee.com/chenshao777/linux_-io.git &#xff08;麻烦点个免费的Star哦&#xff0c;您的Star就是我的写作动力&#xff01;&#xff09; 01.open函数使用 & 代码实现touch命令 一、open函数&#xff08;ma…

ARM处理器概论与组织

目录 1.ARM产品系列 2.体系结构 3.ARM指令集 定义&#xff1a; ARM的指令集&#xff1a; 4.编译原理 5.ARM存储模型 6.ARM的8种工作方式 ARM&#xff08;Advanced RISC Machines&#xff09;有三种含义 一个公司的名称、一类处理器的通称、一种技术&#xff0c;我们在这…

【中阳期货】人工智能AI与期货有什么 关系

人工智能&#xff08;AI&#xff09;和期货交易之间有许多相互影响的因素。AI可以帮助期货交易者在交易决策中更好地应对大量数据&#xff0c;加强交易系统预测能力&#xff0c;优化资产配置策略。以下是AI与期货交易的一些具体关系&#xff1a; 数据分析&#xff1a;AI有能力高…

python pickle反序列化分析

文章目录 前言Pickle的作用pickle反序列化pickletools和反序列化流程漏洞产生(__reduce__)R指令的绕过通过i和o指令触发 总结 前言 春秋杯中遇到了一道python题&#xff0c;使用的了numpy.loads()触发反序列化漏洞&#xff0c;百度学习了一下&#xff0c;发现numpy.load()会先…

【mysqlbinlog 恢复数据】

不小心把数据删掉了 首先要拿到binlog文件 命令行执行 /usr/local/mysql/bin/mysqlbinlog --base64-outputdecode-rows --start-datetime"2023-05-19 09:01:32" --stop-datetime"2023-05-19 09:01:35" -v /Users/zylong/Downloads/mysql-bin.003178 --re…