设计CPU功能的数字电路

  • 实验目的

(1)熟悉Multisim 电路仿真软件的操作界面和功能;

(2)掌握逻辑电路综合设计,并采用仿真软件进行仿真。

  • 实验内容

1.试设计一个简易CPU功能的数字电路,实验至少要求采用4个74HC/HCT194作为4个存储单元(可以预先对存储单元存储数据),74HC283作为计算单元。请实现通过第1个时钟脉冲信号取出存储单元中的数据1,第2个时钟脉冲信号取出存储单元中的数据2,第3个时钟脉冲信号计算数据1和数据2求和,第四个时钟脉冲求和数据存回存储单元。使用用Multisim进行逻辑功能仿真。

一、实验过程及分析

(一)设计前准备

1.明确每个时钟脉冲要做哪些事情

第1个时钟脉冲信号取出存储单元中的数据1,第2个时钟脉冲信号取出存储单元中的数据2,第3个时钟脉冲信号计算数据1和数据2求和,第4个时钟脉冲求和数据存回存储单元。

注:Multisim仿真实验中的时钟脉冲频率怎么调

(1)打开Multisim软件,创建一个新的电路设计。

(2)从元器件库中选择时钟脉冲元件,并将其拖入电路图中。

(3)右键单击时钟脉冲元件,选择“属性”命令,打开元件属性对话框。

 (4)在属性对话框中,找到“频率”选项,将其值修改为所需的频率。例如,若原频率为1kHz,调慢为 100Hz,则将频率值改为0.1kHz(即100Hz)。需要注意的是,Multisim中时钟脉冲的频率单位是赫兹(Hz)。

2.了解设计所需要的核心元件

(1)74HC194

如图 DSR端是右移串行数据输入端,DSL是左移串行数据输入端~CLR 为异步清零输入端。下表3为74HC194的功能表,表中第一行表示寄存器异步清零操作;第二行为保持状态; 第三、四行为串行数据右移操作;第五、六行为串行数据的左移操作;第七行为并行数据同步置数操作。

74HC194是一个4位双向移位寄存器,具有以下主要功能:

MR:数据清零端,低电平有效。

D0~D3:并行数据输入端。

Q0~Q3:并行数据输出端。

SR:右移串行数据输入端。

SL:左移串行数据输入端。

   S0和S1:运行方式控制。S0=S1=1时,数据并行输入;S1=0,S0=1时,数据右移输入;S1=1,S0=0时,数据左移输入;S1=S0=0时,寄存器处于保持状态。

CLK:时钟脉冲输入端,上升沿有效1 2。

使用方法:

   将MR置高电平,选择控制方式。

   若选择并行输入,则将S0和S1置1,给D3到D0数据,并使CP接收到一个上升沿,数据将被写入输出端Q3到Q0。

若选择串行左移输入,则将S0设为0,S1设为1,给SR数据a,CP输出一个上升沿,数据a将被写入D0;接着给SR数据b,CP输出一个上升沿,数据b将被写入D0,并依次移位。

   若需要取消输出数据,可以使用MR置0的方式。

(2)74HC283:

   A3A2A1A0:四位二进制加数。B3B2B1B0:四位二进制加数。S3S2S1S0:和数。C-1:低位来的给A0的进位信号。C0:A3B3向高位的进位信号。

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

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

相关文章

用相似对角矩阵加速矩阵的幂,以斐波那契数列为例

《用相似对角矩阵加速矩阵的幂,以斐波那契数列为例》 在计算机科学和线性代数领域,矩阵的幂是一个常见而重要的问题。特别是对于大型矩阵,直接计算幂可能会变得十分耗时。然而,通过相似对角矩阵的方法,我们能够以更为…

多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现RIME-CNN-…

python字符串格式化--数字精度控制和快速写法与表达式格式化

数字精度控制 我们可以使用m.n来控制数字的宽度和精度: m是宽度,设置必须为数字,且如果设置的数字小于本身,则不生效n控制小数点精度,必须为数字,会进行四舍五入 示例: 5d:是将宽…

idea本地调试hadoop 遇到的几个问题

1.DEA对MapReduce的toString调用报错:Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc 解决方法:关闭 IDEA 中的启用“ tostring() ”对象视图 2.代码和hdfs路径都对的情况下,程序…

架构设计系列之基础:初探软件架构设计

11 月开始突发奇想,想把自己在公司内部做的技术培训、平时的技术总结等等的内容分享出来,于是就开通了一个 Wechat 订阅号(灸哥漫谈),开始同步发送内容。 今天(12 月 10 日)也同步在 CSDN 上开通…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《面向微电网群的云储能经济-低碳-可靠多目标优化配置方法》

这篇文章的标题涵盖了以下关键信息: 面向微电网群:研究的重点是微电网群,这可能指的是多个微电网系统的集合,而不仅仅是一个单独的微电网。微电网是指由分布式能源资源、储能系统和智能控制组成的小型电力系统,通常能够…

记录每日LeetCode 406.根据身高重建队列 Java实现

题目描述: 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构…

《C++新经典设计模式》之附录A 类和对象

《C新经典设计模式》之附录A 类和对象 A.1 静态对象的探讨与全局对象的构造顺序A.1.1 静态对象的探讨A.1.1.cpp A.1.2 全局对象的构造顺序问题A.1.2.cpp A.2 拷贝构造函数和拷贝赋值运算符A.2.1 拷贝构造函数和拷贝赋值运算符的书写A.2.1.cpp A.2.2 对象自我赋值产生的问题A.2.…

实现加盐加密方法以及java nio中基于MappedByteBuffer操作大文件

自己实现 传统MD5可通过彩虹表暴力破解, 加盐加密算法是一种常用的密码保护方法,它将一个随机字符串(盐)添加到原始密码中,然后再进行加密处理。 1. 每次调用方法产生一个唯一盐值(UUID )密码…

UDS诊断 10服务

文章目录 简介诊断会话切换请求和响应1、请求2、子功能3、肯定响应4、否定响应5、特殊的NRC 为什么划分不同会话报文示例UDS中常用 NRC参考 简介 10服务,即 Diagnostic Session Control(诊断会话控制)服务用于启用服务器中的不同诊断会话&am…

(四) python门面模式

文章目录 4.1 结构型设计模式4.1.1 简介4.1.2 常见的几种结构型设计模式 4.2 理解门面设计模式4.2.1 门面设计模式概述4.2.2 门面设计模式的作用 4.3 UML类图4.3.1 门面4.3.2 系统4.3.3 客户端 4.4 门面模式的代码实现4.4.1 场景:4.4.2 python实现 4.5 原理&#xf…

Compose for iOS:kotlin 与 swift 互操作

前言 类似于 Android 上的 compose,在 iOS 上的 compose 同样支持嵌套显示 compose UI 和 swiftUI 或是 uikit 。 但是不同于 Android 原生就是使用 kotlin 作为开发语言,iOS 的开发语言是 swift 或者 object-c 。虽然大多数业务逻辑都可以直接使用 ko…

渲染(iOS渲染过程解析)

渲染 渲染原理 一个硬核硬件科普视频 CPU和GPU CPU(Central Processing Unit):现代计算机整个系统的运算核心、控制核心,适合串行计算。GPU(Graphics Processing Unit):可进行绘图运算工作的…

安防音频接口选型的高性能国产芯片分析

在人工智能兴起之后,安防市场就成为了其全球最大的市场,也是成功落地的最主要场景之一。对于安防应用而言,智慧摄像头、智慧交通、智慧城市等概念的不断涌现,对于芯片产业催生出海量需求。今天,我将为大家梳理GLOBALCH…

springboot_3.2_freemark_基础环境配置

springboot_3.2_freemark_基础环境配置 一、前言二、环境三、相关资料四、目标五、默认配置项六、构建springboot 3.2项目6.1 pom.xml 内容:6.2 启动类6.3 添加ftlh模板6.4 controller内容6.5 bootstrap.yml配置 七、总结 一、前言 FreeMarker 是一款模板引擎&…

Linux——缓冲区与实现C库的fopen,fwrite,fclose

目录 一.缓冲区 1缓冲区的概念 2.缓冲区存在的意义 3.缓冲区刷新策略 4.什么是刷新? C语言的缓冲区在哪里? ​编辑 仿写C库里的fopen,fclose,fwrite。 mystdio.h mystdio.c main.c(向文件中写入20次msg) 一.缓冲区 1…

b站pwn的学习总结

写的很乱 1.c语言的运行过程 了解了c语言需要经过以上2个过程(编译和汇编),才能让机器按指令运行。机器只能听得懂机器码,所以要“汇编”。 那问题就来了,“编译”这个动作有啥用,c语言这种高级语言&…

玩转大数据10:深度学习与神经网络在大数据中的应用

目录 1. 引言:深度学习和神经网络在大数据中的重要性和应用场景 2. 深度学习的基本概念和架构 3. Java中的深度学习框架 3.1. Deeplearning4j框架介绍及Java编程模型 3.2. DL4J、Keras和TensorFlow的集成 4. 大数据与深度学习的结合 4.1. 大数据与深度学…

电脑端同时登录多个微信

1、建立一个txt文件 2、右击微信查看应用的属性,记录文件的位置 3、将步骤二得到的路径按照下方的格式输入到步骤一的文本中 4、保存之后将文本后缀名的.txt改成.bat 5、在未登录微信的情况下,双击即可得到两个微信登录窗口

Python高级算法——回溯法(Backtracking)

Python中的回溯法(Backtracking):高级算法解析 回溯法是一种通过尝试所有可能的解来找到问题解的算法设计方法。它通常应用于组合问题、排列问题、子集问题等。在本文中,我们将深入讲解Python中的回溯法,包括基本概念…