数字系统设计软件实验报告

合集下载

数字系统设计综合实验报告

数字系统设计综合实验报告

数字系统设计综合实验报告1)实验目的复习加法器的分类及工作原理。

掌握用图形法设计半加器的方法。

掌握用元件例化法设计全加器的方法。

掌握用元件例化法设计多位加法器的方法。

掌握用Verilog HDL语言设计多位加法器的方法。

学习运用波形仿真验证程序的正确性。

学习定时分析工具的使用方法。

2)实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。

目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。

加法器可分为1位加法器和多位加法器两大类。

1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。

半加器如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。

实现半加运算的电路则称为半加器。

若设A和B是两个1位的加数,S是两者相加的和,C是向高位的进位。

则由二进制加法运算规则可以得到。

全加器在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。

实现全加运算的电路则称为全加器。

若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向高位的进位。

则由二进制加法运算规则可以得到:3)实验内容及步骤用图形法设计半加器,仿真设计结果。

用原件例化的方法设计全加器,仿真设计结果用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。

用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。

分别下载用上述两种方法设计4为加法器,并进行在线测试。

4)设计1)用图形法设计的半加器,如下图1所示,由其生成的符号如图2所示。

2)用元件例化的方法设计的全加器如图3所示,由其生成的符号如图4所示。

图三:图四:5)全加器时序仿真波形如图下图所示6)心得体会:第一次做数字系统设计实验,老师给我们讲了用图形法设计的全过程。

计算机软件实验报告

计算机软件实验报告

实验题目:软件工程实践——开发一个简单的学生信息管理系统一、实验目的1. 了解软件工程的基本概念和方法。

2. 掌握软件开发的流程和步骤。

3. 学会使用一种编程语言(如Java)进行软件开发。

4. 提高团队协作能力和项目管理能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE3. 编程语言:Java4. 数据库:MySQL三、实验内容1. 需求分析2. 系统设计3. 系统实现4. 系统测试5. 系统部署四、实验步骤1. 需求分析(1)确定系统目标:开发一个简单的学生信息管理系统,实现对学生信息的录入、查询、修改和删除等功能。

(2)收集需求:通过调查问卷、访谈等方式,收集用户对学生信息管理系统的需求。

(3)分析需求:将收集到的需求进行整理和分析,形成需求规格说明书。

2. 系统设计(1)系统架构设计:采用MVC(Model-View-Controller)模式进行系统架构设计,将系统分为模型层、视图层和控制器层。

(2)数据库设计:设计学生信息管理系统的数据库,包括学生表、课程表、成绩表等。

(3)界面设计:设计系统界面,包括登录界面、学生信息录入界面、查询界面等。

3. 系统实现(1)模型层:使用Java语言编写学生信息管理系统的模型层代码,实现学生信息的增删改查等功能。

(2)视图层:使用Java Swing库编写学生信息管理系统的视图层代码,实现用户界面的展示。

(3)控制器层:使用Java语言编写学生信息管理系统的控制器层代码,实现用户界面与模型层之间的交互。

4. 系统测试(1)单元测试:对系统中的各个模块进行单元测试,确保每个模块的功能正确。

(2)集成测试:将各个模块集成在一起进行测试,确保系统整体功能正确。

(3)性能测试:对系统进行性能测试,评估系统的响应时间和资源消耗。

5. 系统部署(1)将系统部署到服务器上,方便用户访问。

(2)编写用户手册,指导用户如何使用系统。

北京理工大学数字系统设计与实验报告

北京理工大学数字系统设计与实验报告

3、仿真结果 功能仿真设置:
功能仿真结果: (1)总体仿真结果
(2)reset 高有效和二分频仿真结果
(3)四分频仿真结果
(4)八分频仿真结果
(5)十六分频仿真结果
四、实验心得
通过本次实验,设计频率可选的模十状态机以及 7 段译码电路,学会了以代码 形式实现频率多路选择器的功能,巩固了模十状态机的实现方式,进一步掌握 VerilogHDL 硬件描述语言。
功能仿真结果:
时序仿真设置:
时序仿真结果:
2、 3—8 译码器 (1)设计思路 随着时钟信号 clk 上升沿的到来,输入 D2D1D0 从 000 加到 111,每个输入 D2D1D0 对应着一个输出 Q7Q6Q5Q4Q3Q2Q1Q0,对应关系如真值表所示:
输入 D2 0 0 0 0 1 1 1 1 D1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 Q7 0 0 0 0 0 0 0 1 Q6 0 0 0 0 0 0 1 0 Q5 0 0 0 0 0 1 0 0 Q4 0 0 0 0 1 0 0 0
seg <= 7'b0011001; 5: seg <= 7'b0010010; 6: seg <= 7'b0000010; 7: seg <= 7'b1111000; 8: seg <= 7'b0000000; 9: seg <= 7'b0010000; default: seg <= 7'b0001000; endcase end endmodule (2)功能图
三、设计与实现
1、设计思路 (1) 、时钟信号 clk 作为分频器的输入,分频器的设计思路为设计一个模十六计 数器,cp0(Q0)输出即为二分频信号,cp1(Q1)输出即为四分频信号,cp2(Q2) 输出即为八分频信号,cp3(Q3)输出即为十六分频信号。分频器的输出由 4 选 1 多 路选择器的选择输入端 select 选择 2 分频、4 分频、 8 分频和 16 分频其中之一作为状 态机的时钟输入,当 select 为 0 时,输出为二分频信号;为 1 时,输出为四分频信 号;为 2 时,输出为八分频信号;为 3 时,输出为十六分频信号。 (2) 、reset 为高有效,则若 reset 信号为 1 时,qout 置为 0,则 now_state 为 0。 若 reset 信号为 0 时, qout 自加,并作为状态机的输入 驱动,让状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出。 (3) 、状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出,并使用此输出 作为驱动输入到 7 段译码器的显示逻辑。

EDA实验报告

EDA实验报告

湖北民族学院信息工程学院实验报告(电气、电子类专业用)班级: 09 姓名:周鹏学号:030940908 实验成绩:实验地点: EDA实验室课程名称:数字系统分析与设计实验类型:设计型实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。

一、实验目的1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。

2、初步了解QUARTUSII原理图输入设计的全过程。

3、掌握组合逻辑电路的静态测试方法。

4、了解格雷码变换的原理。

5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。

6、进一步掌握实验系统的使用。

二、实验原理、原理图及电路图3-8译码器三输入,八输出。

当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。

其真值表如表1-1所示输入输出A B C D7 D6 D5 D4 D3 D2 D1 D00 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0表1-1 三-八译码器真值表译码器不需要像编码器那样用一个输出端指示输出是否有效。

但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。

本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。

华南理工大学数字系统设计实验3报告资料

华南理工大学数字系统设计实验3报告资料

实验三基于状态机的交通灯控制地点:31号楼312房;实验台号:12实验日期与时间:2017年12月08日评分:预习检查纪录:批改教师:报告内容:一、实验要求1、开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。

2、交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。

3、为了方便观察,本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。

编程之前要求同学们先画好ASM图。

4、1Hz分频模块请采用第二次实验中的内容,7段码显示模块请参考书本相关内容。

5、第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。

方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。

和其它VHDL编写的模块可以混搭在一个电路图中使用。

EP2C8Q208C8的SCTP,SHCP,SER_DATA数码管信号线通过两块74HC595集成块,再驱动数码管。

6、芯片型号:cyclone:EP2C8Q208C8,开发板所有资料都在“新板”附件中,其中管脚配置在实验要求中是不对的,以“新板”附件中为准。

二、实验内容1设计要求开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。

交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。

本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。

2设计思路(1)数码管驱动第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。

方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。

和其它VHDL 编写的模块可以混搭在一个电路图中使用。

CPLD实验报告

CPLD实验报告

实验一 Xilinx软件及状态机设计一实验目的:学习FPGA设计软件, 掌握软件流程, 掌握状态机编程。

二实验内容:设计一个状态机三实验说明:状态机设计是数字电路中使用非常广泛和方便的时序设计工具。

由于硬件是并行的触发, 相对软件是串行执行, 那么让硬件电路按照节拍执行串行操作指令就成为一个问题, 这就是状态机的主要功能。

相应的, 软件指令中的几十条简单顺序执行代码可能需要硬件的几十上百个触发器去实现其功能。

所以, 软件与硬件的设计思路有相当大的区别。

当然, 随着FPGA规模的不断扩大, 这些问题也越来越容易解决了。

我们可以用软件的思路去描述自己的设计, 可能最终实现的电路是几十万门级的器件, 但是你只要花费几美元就能买到。

状态机是数字电路的基础, 因此, VHDL的学习也从这个实验开始。

四实验过程:1.在进行实验之前, 我先自学了VHDL语言。

2.熟悉Xilinx软件环境。

3.通过仿真, 读懂了states这段代码所实现的功能及其出现的问题。

五思考题:1.通过仿真, 这段代码实现相应功能时出了什么问题?请修正代码。

答:这段程序完成的是对红绿灯的控制功能。

通过仿真发现所有的灯都比预期的多亮了2秒, 比如东西方向绿灯亮62秒(应该是60秒), 黄灯是5秒(应该是3秒)。

出现此问题的原因是没有考虑到硬件的延时问题。

所以只要把程序中的59改为57, 39改为37, 3改为1, 再进行仿真, 结果就正确了。

2.状态机输出分成同步输出和异步输出, 状态机异步输出直接用状态机的某个状态进行组合逻辑运算来得到一个输出, 同步输出是在该状态的时钟上跳沿控制输出变化。

请问同步输出和异步输出利弊各在哪里?答: 同步输出的优点是: 时钟脉冲的间距解决了组合逻辑电路中的延时和竞争问题。

只要时钟脉冲的宽度合适, 输出就不会存在竞争与现象。

缺点是: 外部输入信号的变化应满足触发器正常工作所需的建立和保持时间。

因为上述特点使得同步时序输出的工作速度的提高受到限制, 且对时钟脉冲到达个触发器的时间及外部信号的变化有较严格的要求。

软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。

是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。

【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。

切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。

通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。

二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。

每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。

详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。

三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。

五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。

数字系统设计及实验实验报告

数字系统设计及实验实验报告

数字系统设计及实验实验报告一、实验目的数字系统设计及实验课程旨在让我们深入理解数字逻辑的基本概念和原理,掌握数字系统的设计方法和实现技术。

通过实验,我们能够将理论知识应用于实际,提高解决问题的能力和实践动手能力。

本次实验的具体目的包括:1、熟悉数字电路的基本逻辑门、组合逻辑电路和时序逻辑电路的设计方法。

2、掌握使用硬件描述语言(如 Verilog 或 VHDL)进行数字系统建模和设计。

3、学会使用相关的电子设计自动化(EDA)工具进行电路的仿真、综合和实现。

4、培养团队合作精神和工程实践能力,提高解决实际问题的综合素质。

二、实验设备和工具1、计算机:用于编写代码、进行仿真和综合。

2、 EDA 软件:如 Quartus II、ModelSim 等。

3、实验开发板:提供硬件平台进行电路的下载和测试。

4、数字万用表、示波器等测量仪器:用于检测电路的性能和信号。

三、实验内容1、基本逻辑门电路的设计与实现设计并实现与门、或门、非门、与非门、或非门和异或门等基本逻辑门电路。

使用 EDA 工具进行仿真,验证逻辑功能的正确性。

在实验开发板上下载并测试实际电路。

2、组合逻辑电路的设计与实现设计一个 4 位加法器,实现两个 4 位二进制数的相加。

设计一个编码器和译码器,实现数字信号的编码和解码。

设计一个数据选择器,根据控制信号选择不同的输入数据。

3、时序逻辑电路的设计与实现设计一个同步计数器,实现模 10 计数功能。

设计一个移位寄存器,实现数据的移位存储功能。

设计一个有限状态机(FSM),实现简单的状态转换和控制逻辑。

四、实验步骤1、设计方案的确定根据实验要求,分析问题,确定电路的功能和性能指标。

选择合适的逻辑器件和设计方法,制定详细的设计方案。

2、代码编写使用硬件描述语言(如 Verilog 或 VHDL)编写电路的代码。

遵循代码规范,注重代码的可读性和可维护性。

3、仿真验证在 EDA 工具中对编写的代码进行仿真,输入不同的测试向量,观察输出结果是否符合预期。

数字系统设计 实验报告

数字系统设计 实验报告

数字系统设计实验报告1. 引言数字系统设计是计算机科学与工程中的重要领域之一。

本实验旨在通过设计一个基本的数字系统,深入理解数字系统的原理和设计过程。

本文将按照以下步骤详细介绍实验的设计和实施。

2. 实验目标本实验旨在设计一个简单的数字系统,包括输入、处理和输出三个模块。

具体目标如下: - 设计一个输入模块,用于接收用户的输入数据。

- 设计一个处理模块,对输入数据进行特定的处理。

- 设计一个输出模块,将处理结果展示给用户。

3. 实验设计3.1 输入模块设计输入模块主要用于接收用户的输入数据,并将其传递给处理模块进行处理。

在本实验中,我们选择使用键盘作为输入设备。

具体设计步骤如下: 1. 初始化输入设备,确保能够正确接收用户输入。

2. 设计输入缓冲区,用于存储用户输入的数据。

3. 实现输入函数,将用户输入的数据存储到输入缓冲区中。

3.2 处理模块设计处理模块是数字系统的核心部分,负责对输入数据进行特定的处理。

在本实验中,我们选择设计一个简单的加法器作为处理模块。

具体设计步骤如下: 1. 定义输入数据的格式和表示方法。

2. 实现加法器的逻辑电路,可以通过使用逻辑门和触发器等基本组件来完成。

3. 设计加法器的控制电路,用于控制加法器的运算过程。

4. 验证加法器的正确性,可以通过给定一些输入数据进行测试。

3.3 输出模块设计输出模块用于将处理结果展示给用户。

在本实验中,我们选择使用显示器作为输出设备。

具体设计步骤如下: 1. 初始化输出设备,确保能够正确显示处理结果。

2. 设计输出缓冲区,用于存储待显示的数据。

3. 实现输出函数,将输出数据从输出缓冲区中传输到显示器上。

4. 实验实施4.1 输入模块实施根据3.1节中的设计步骤,我们首先初始化输入设备,然后设计输入缓冲区,并实现相应的输入函数。

4.2 处理模块实施根据3.2节中的设计步骤,我们定义输入数据的格式和表示方法,然后实现加法器的逻辑电路和控制电路。

东南大学数字系统实验实验一

东南大学数字系统实验实验一

数字系统实验报告实验一
一、实验目的
熟悉quartus环境下的vhdl电路设计,学习简单组合电路设计。

二、实验内容
设计双二选一多路选择器:
1.设计二选一多路选择器
2.将两个二选一多路选择器连接,完成三选一功能
3.仿真验证及下载测试
三、实验过程
1.设计二选一多路选择器。

在quartus中新建工程,并创建vhdl文件,编写代码如下:
2.将两个二选一选择器连接构成双二选一多路选择器,连接方式如下:
根据连接方式,可以得到输入输出真值表:
3.引脚绑定
按下表进行引脚绑定
四、实验结果及结论
1.时序仿真结果
对双四选一多路选择器进行时序仿真,结果如下:
仿真遍历了所有输入端口的取值,在S1,S2分别取00,01,10,11时,输出分别对应A,B,C,B的值,对比真值表,可以发现仿真结果正确。

2.下载验证
按引脚图绑定端口,其中S1,S2分别由两个键控制,输出口A,B,C连接的是电路板的音调控制,将两个键自由组合按下,可以明显听到发出三种不同的音调。

因此可以验证设计无误。

软件系统分析与设计大作业实验报告

软件系统分析与设计大作业实验报告

武汉轻工大学软件系统分析与设计大作业实验报告基于的学生信息管理系统的设计与实现学院:数学与计算机学院姓名:时保粮班级:软工一班学号:1205110210指导老师:蒋丽华2015年5月20 日一.需求分析学生信息管理系统是高校管理工作中一项非常重要的组成部分。

用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分地满足各种信息的输入和输出。

收集基本数据、数据结构以及数据处理的流程,为后面的设计打下基础。

本系统是针对高等院校的学生信息的后台管理,因此学生信息管理系统的用户包括系统管理员和教师用户。

主要涉及学期信息、班级信息、学生信息、课程信息、成绩信息和用户信息等数据信息。

的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。

学生成绩管理信息系统是由 Web后台进行统一管理,所有业务逻辑都集中在Web应用程序中管理和制定,具有数据的录入和查询统计等功能,客户端的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。

二.系统设计1.系统概要设计、图 2-1 系统概要设计图2.子模块设计以学生信息管理模块为例:图 2-2 学生信息管理模块设计图学生信息管理模块分为添加学生信息和查询信息两个界面,实现学生信息的添加和查询功能。

按照实际情况,只有查询出相应的学生信息才能对其进行修改和删除,故对学生信息的修改和删除功能集成在查询学生信息界面里。

PS:其他子模块的功能实现与此类似3.三层架构的设计模式之三层WEB结构及其优点三层模式是在两层模式的基础上,增加了新的一级。

这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。

客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务,负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开。

PLD与数字系统设计实验报告

PLD与数字系统设计实验报告

PLD与数字系统设计实验报告A组实验四:数字密码锁1 实验要求使用Xilinx公司的Spartan3S 400AN开发板上的相关模块,利用ISE开发软件完成数字密码锁的设计,要求实现如下功能:利用实验板上的4×3小键盘,设计4位密码锁,当输入密码正确时,在液晶屏上显示“OK”,否则,显示“ERROR”,在输入过程中,显示输入的数据个数,当有错误的输入时,显示“ERROR”,当全部输入正确时,才显示OK。

2 实验原理2.1 4×3数字键盘数字键盘又叫行列式键盘。

用带IO口的线组成行列结构,按键设置在行列的交点上。

例如用4×3的行列式结构可以构成12个键的键盘。

实验中所用到的数字键盘原理如图1所示。

图1 4×3数字键盘例如设置此模块的列为输入端口,行为输出端口。

那么在按下某一个键时,该键所在的开关接通,由输入端口向输出端口输出一个有效电平,继而触发其他模块。

2.2 LCD液晶显示模块开发板上使用的是无字库的12864LCD显示器,12864LCD显示模块是由128*64个液晶显示点组成的一个128列*64行的阵列。

每个显示点对应一位二进制数,1表示亮,0表示灭(但实验所用开发板上该模块实际是低电平表示亮、高电平表示灭)。

存储这些点阵信息的RAM称为显示数据存储器。

以下是关于显示屏的一些参数:图2 128*64 LCD控制器结构框图图3 128*64时序图图4 指令功能表图5 初始化指令流程要显示某个图形就是将相应的点阵信息写入到相应的存储单元中。

图形的点阵信息可以由自己设计也可借助字模软件,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。

由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。

左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。

系统设计实验报告 范本

系统设计实验报告 范本

系统设计实验报告范本
实验名称:系统设计
实验目的:通过系统设计,学习和掌握软件工程的基本原理和方法,提高软件设计和开发能力。

实验内容:
1.需求分析:明确系统功能需求和性能需求,确定系统的输入输出。

2.概要设计:确定系统的主要模块和模块之间的关系,制定模块接口规范。

3.详细设计:对每个模块进行详细设计,包括数据结构、算法、接口设计等。

4.编码实现:根据设计文档进行编码实现,实现各个模块的功能。

5.测试验证:对系统进行功能测试、性能测试、兼容性测试等,确保系统稳定可靠。

实验步骤:
1.需求分析:通过与用户沟通,了解系统的需求和功能,明确系统的输入输出。

2.概要设计:根据需求分析结果,确定系统的主要模块和模块之间的关系,制定模块接口规范。

3.详细设计:对每个模块进行详细设计,包括数据结构、算法、接口设计等。

4.编码实现:根据设计文档进行编码实现,实现各个模块的功能。

5.测试验证:对系统进行功能测试、性能测试、兼容性测试等,确保
系统稳定可靠。

实验结果:
通过本次实验,我深入了解了软件工程的基本原理和方法,掌握了系统设计的流程和方法。

在实践中,我发现需求分析非常重要,只有明确了需求,才能进行有效的设计和开发。

同时,详细设计也非常关键,只有设计好了每个模块,才能保证系统的稳定性和可靠性。

实验总结:
本次实验让我深入了解了系统设计的流程和方法,提高了我对软件工程的认识和理解。

在今后的软件开发中,我将更加注重需求分析和详细设计,确保系统的稳定可靠。

pld实验报告

pld实验报告

数字系统设计与PLD应用实验报告041010204 欧阳琼一、实验目的1、了解并学习HDPLD设计数字系统的设计思路和设计过程.2、通过自行设计数字系统实例,更好的掌握数字系统设计方法以及设计软件的使用,让书本知识在教学实践中得到成功应用。

二、实验内容1、高速并行乘法器的设计(1)、实验原理采用以下算法:被乘数的数值位左移,它和乘数的各个数值位进行累加运算.且用与门、4位加法器来实现。

(2)、设计输入器件选定以后,用相应的设计开发软件(quartus 2),并采用原理图输入方式。

图形输入文件如图1所示(使用图形输入方式时应注意软件所能提供的库函数,以便正确调用):图1(3)、逻辑仿真逻辑仿真是设计校验的重要步骤。

本例使用开发软件的波形编辑器直接画出输入激励波形,启动仿真器,得到显示功能仿真的结果如图2所示:图22、十字路口交通管理器的设计(1)、实验原理用一片HDPLD和若干外围电路实现十字路口交通管理器。

该管理器控制甲乙两道的的红黄绿三色灯,指挥车辆和行人安全通行.该交通管理器是由控制器和受其控制的三个定时器及六个交通管理灯组成。

(2)设计输入本设计采用分层次描述方式,且用图形输入和文本输入结合的方式建立描述文件。

在顶层图形输入文件中的各模块,其功能用第二层次VHDL原文件描述如下:控制器control源文件LIBRARY IEEE;USE IEEE。

STD_LOGIC_1164。

ALL;ENTITY traffic_control ISPORT(clk:IN STD_LOGIC;c1,c2,c3:OUT STD_LOGIC;w1,w2,w3:IN STD_LOGIC;r1,r2:OUT STD_LOGIC;y1,y2:OUT STD_LOGIC;g1,g2:OUT STD_LOGIC;reset:IN STD_LOGIC);END traffic_control;ARCHITECTURE a OF traffic_control ISTYPE STATE_SPACE IS(S0,S1,S2,S3);SIGNAL state:STATE_SPACE;BEGINPROCESS(reset,clk)BEGINIF reset=’1'THENstate<=S0;ELSIF(clk'EVENT AND clk='1')THENCASE state ISWHEN S0=〉IF w1=’1'THENstate<=S1;END IF;WHEN S1=〉IF w2=’1'THENstate〈=S2;END IF;WHEN S2=〉IF w3=’1'THENstate〈=S3;END IF;WHEN S3=〉IF w2=’1’THENstate<=S0;END IF;END CASE;END IF;END PROCESS;c1〈=’1'WHEN state=S0 ELSE ’0’;c2〈=’1'WHEN state=S1 OR state=S3 ELSE '0';c3〈=’1’WHEN state=S2 ELSE '0’;r1〈='1' WHEN state=S1 OR state=S0 ELSE ’0';y1〈='1' WH EN state=S3 ELSE ’0’;g1<='1' WHEN state=S2 ELSE ’0’;r2〈='1’WHEN state=S2 OR state=S3 ELSE ’0’;y2<='1' WHEN state=S1 ELSE ’0';g2〈='1’WHEN state=S0 ELSE ’0’;END a;模30计数器LIBRARY IEEE;USE IEEE。

EDA实验报告

EDA实验报告

一MAX –plusII及开发系统使用一、实验目的1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路2、掌握层次化设计的方法3、熟悉DXT-BⅢ型EDA试验开发系统的使用二、主要实验设备PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。

三、实验原理数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。

它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。

因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面:1、实验器材集中化,所有实验基本上在一套实验设备上进行。

传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。

而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致;2、实验耗材极小(基本上没有耗材);3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单;4、下载后,实验结果清晰;5、实验仪器损耗少,维护简单;下面,我们就本套实验设备做一个简单的介绍。

(一)Max+plusⅡ10.0的使用。

1、Max+PlusII软件的安装步骤:第一步:系统要求奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果大家只进行仿真的话,对系统没要求)第二步:安装点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。

第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,将此文件复制到你的安装目录下(你的安装目录可放在任一个驱动器下,然后建立一个Max10的文件夹,将系统安装在此文件夹中,安装后此文件夹中会有三个文件夹)的任一个文件夹中,要清楚位置。

第四步:注册启动Max+PlusII 软件,可以从开始-->程序-->Altera-->Max+PlusII 打开,也可以建立一个快捷方式在桌面上。

软件实验报告

软件实验报告

软件实验报告软件实验报告引言在当今数字化时代,软件的应用已经渗透到我们生活的方方面面。

为了提高软件开发人员的技能和能力,软件实验成为了必不可少的一环。

本文将对我所参与的软件实验进行详细的报告和分析。

实验目的本次实验的目的是通过实际操作,加深对软件开发过程中的各个环节的理解,包括需求分析、设计、编码和测试等。

通过实验,我们将学习到如何使用特定的软件开发工具和技术,提高软件开发的效率和质量。

实验内容本次实验的主要内容是开发一个简单的学生管理系统。

该系统需要实现学生信息的录入、查询和修改功能。

通过这个实验,我们将学习到如何进行需求分析和系统设计,以及如何使用特定的编程语言和开发工具进行编码和测试。

需求分析在开始编写代码之前,我们首先需要进行需求分析。

通过和用户的沟通和了解,我们明确了系统的功能和性能要求。

例如,用户希望能够方便地录入学生信息,并能够通过学号或姓名进行查询。

同时,系统需要具备良好的用户界面和友好的交互体验。

系统设计在需求分析的基础上,我们进行了系统设计。

我们将系统分为三个模块:学生信息录入模块、学生信息查询模块和学生信息修改模块。

通过模块化的设计,我们可以更好地管理和维护代码,并且提高代码的复用性。

编码和测试在系统设计完成后,我们开始进行编码和测试。

我们选择了Java作为开发语言,并使用了Eclipse作为开发工具。

通过编写代码,我们实现了系统的各个功能模块,并进行了单元测试和集成测试。

在测试过程中,我们发现了一些问题并进行了修复,确保系统的稳定性和可靠性。

实验结果与分析经过一段时间的努力,我们成功地完成了学生管理系统的开发。

该系统具备了学生信息的录入、查询和修改功能,并且具有良好的用户界面和交互体验。

通过实验,我们不仅学到了软件开发的基本流程和技术,还培养了团队合作和解决问题的能力。

结论通过本次实验,我们深入学习了软件开发的各个环节,包括需求分析、系统设计、编码和测试等。

我们通过实际操作,提高了软件开发的技能和能力。

(2021年整理)数字系统设计实验--猜拳游戏的设计与实现

(2021年整理)数字系统设计实验--猜拳游戏的设计与实现

数字系统设计实验--猜拳游戏的设计与实现编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(数字系统设计实验--猜拳游戏的设计与实现)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为数字系统设计实验--猜拳游戏的设计与实现的全部内容。

数字系统设计实验报告实验名称:猜拳游戏的设计与实现学院:班级:姓名:学号:日期: 2019年12月指导老师:目录一、设计课题的任务要求........................................................................................基本要求:........................................................................................................提高要求:........................................................................................................模块电路要求:………………………………………………………………………………….1、设计思路......................................................................................................2、总体框图......................................................................................................3、分块设计......................................................................................................1:分频模块..................................................................................................................2:按键、防抖模块.................................................................................................3:判断模块..................................................................................................................4:点阵显示模块.....................................................................................................5: 计分模块 ..............................................................................................................6:数码管显示模块.................................................................................................7:蜂鸣器模块…………………………………………………………………。

数字系统设计实验---32位串行加法器实验综述

数字系统设计实验---32位串行加法器实验综述

Port ( a : in STD_LOGIC; b : in STD_LOGIC; cin : in STD_LOGIC; s : out STD_LOGIC; cout : out STD_LOGIC); end component; component DFF is ---------------D 触发器 Port ( D : in STD_LOGIC; clk : in STD_LOGIC; rst,CE : in STD_LOGIC; Q: out STD_LOGIC); end component; signal Sh,load,Xi,Yi,Si,cin,sum,cout:std_logic; -----中间变量 begin A1: controller port map(clk,n,k,Sh,load); A2: registers_jiashu port map(inputB,Sh,load,clk,Yi); A3: registers_add port map(inputA,clk,load,Sh,sum,Xi,outputA); A4: full_adder port map(Xi,Yi,cin,sum,cout); A5: DFF port map (cout,clk,load,Sh,cin); end Behavioral;
------------------控制器------------------------------------------------------------library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; entity controller is Port ( clk : in STD_LOGIC; N : in STD_LOGIC; K,Sh,load : out STD_LOGIC); end controller; architecture Behavioral of controller is signal state,nextstate:integer range 0 to 2; ---设置状态 signal counter:std_logic_vector(4 downto 0); begin process(clk) begin if(clk'event and clk='1') then state<=nextstate; ---上升沿触发启动 end if; end process; process(clk,N) begin if(clk'event and clk='1') then case state is ---设置各状态 when 0 => sh<='0';K<='0';load<='0';counter<="00000"; if N='1' then load<='1'; nextstate<=1; else nextstate<=0; end if; when 1 => sh<='1';K<='0';load<='0'; if counter="11110" then counter<=counter+1; nextstate<=2; else counter<=counter+1; nextstate<=1; end if;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一QuartusⅡ9.1软件的使用一、实验目的:1、通过实现书上的例子,掌握QUARTUSII9.1软件的使用;2、编程实现3-8译码电路以掌握VHDL组合逻辑的设计以及QUARTUSII9.1软件的使用。

二、实验流程:1、仔细阅读书上的操作指南,学会在QuartusⅡ9.1中创建新的工程,创建过程如下所示:1)、建立新设计项目:①启动QuartusⅡ9.1软件,在软件的管理器窗口选File下拉菜单,即File→New Project Wizard,则出现新建工程向导窗口。

如下所示:②点击Next按钮,将弹出新建工程设置窗口,如下图所示。

在新建工程设置窗口中设置好工程的存放路径、工程名称等。

③点击Next进入添加文件窗口,如下图。

由于尚未创建文件,跳过该步骤。

④点击Next按钮,进入选择目标芯片窗口。

在这里我们选择Cyclone系列的EP1C6Q240C8,如下图:⑤点击Next按钮,进入EDA工具设置窗口,通常选择默认的“None”,表示选择QuartusⅡ自带的仿真器和综合器。

如下图:⑥点击Next按钮,弹出New Project Wizard概要对话框,在这个窗口中列出了所有前面设置的结果。

若有错误则点击Back回去修改,否则点击Finish结束,即完成新工程的设定工作。

如下图:2)、文本设计输入:①在QuartusⅡ主界面菜单栏中选择File下拉菜单中的New,弹出新建设计文件窗口,选择VHDL File项,点击OK按钮即可打开VHDL文本编辑窗口,其默认文件名为“Vhdl.vhd”。

②出现文本编辑窗口后,我们可以直接在空白界面中键入所设计的VHDL文本。

这时我们将书本中的程序输入到文本编辑环境中去。

程序如下:library IEEE;use IEEE.std_logic_1164.all;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity count10 isport(clk,load,en:in std_logic;data_in:in std_logic_vector(3 downto 0);seg:out std_logic_vector(6 downto 0));end count10;architecture beha of count10 issignal qout:std_logic_vector(3 downto 0);signal q_temp:std_logic_vector(3 downto 0);beginprocess(clk,load)beginif(load='1')thenq_temp<=data_in;elsif(clk'event and clk='1')thenif(en='0')thenqout<=qout;elsif(qout="1001")thenqout<="0000";elseqout<=qout+1;end if;q_temp<=qout;end if;end process;process(q_temp)begincase q_temp iswhen"0000"=>seg<="1000000";when"0001"=>seg<="1111001";when"0010"=>seg<="0100100";when"0011"=>seg<="0110000";when"0100"=>seg<="0011001";when"0101"=>seg<="0010010";when"0110"=>seg<="0000010";when"0111"=>seg<="1111000";when"1000"=>seg<="0000000";when"1001"=>seg<="0010000";when others=>seg<="0001000";end case;end process;end beha;键入完毕后进行保存。

3)、输入并保存成功后,需要对设计项目进行全编译。

编译过程中会对程序进行检查,若程序无错误,则全编译成功,否则编译不成功,需要返回程序进行检查,修改错误。

选取菜单中Processing→Start Compilation进行全编译,最终程序无错误,编译成功。

4)、全编译成功后,则需要进行仿真。

仿真包括功能仿真和时序仿真。

首先进行功能仿真:①指定功能仿真模式。

选择菜单中Assignment→setting,在左侧Category栏中选中Simulator setting,然后在右侧Simulation mode的下拉菜单中选Functional。

如下图所示:②通过建立波形文件进行仿真,具体步骤如下:第一步:在菜单栏中选择File→New,选择Vector Waveform File项,点击OK 按钮打开空白波形编辑窗口,使用下拉菜单File中的Save as命令,将其另存为“count10.vwf”文件。

第二步:选择菜单栏中Edit→Insert Node or Bus,弹出插入节点窗口。

第三步:点击插入节点窗口的Node Finder按钮,再点击List按钮。

在左侧Node Found窗口中选取将要仿真的节点,然后将选取信号选取至右侧的Select Node窗口中。

最后点击OK按钮回到插入节点窗口,再次点击OK按钮回到波形编辑窗口。

第四步:设置信号的方针激励,首先选中所需赋值的信号之后点击鼠标右键,在弹出的活动菜单中选Value子菜单,出现仿真激励类型子菜单。

设置时钟时,即选择Value子菜单中的Clock。

所有的输入信号均要赋值,最后保存完成赋值后的波形文件。

第五步:运行菜单Processing→Generate Functional Simulation Net list 命令产生用于功能仿真的网表文件。

第六步:选取Processing→Start Simulation执行仿真模拟,将出现仿真结果波形。

结果如下所示:经过分析,结果正确。

下面进行时序仿真:①指定功能仿真模式。

选择菜单中Assignment→setting,在左侧Category栏中选中Simulator setting,然后在右侧Simulation mode的下拉菜单中选Timing。

如下图所示:②通过建立波形文件进行仿真,具体步骤如下: 第一步:在菜单栏中选择File →New ,选择Vector Waveform File 项,点击OK 按钮打开空白波形编辑窗口,其默认文件名为“Waveforml.vwf ”。

第二步:对于时序仿真来说,将仿真时间设置在一个合理区域十分重要,通常设置的时间范围在数十微秒之间。

选择菜单中Edit →End Time ,在弹出的结束时间窗口中设置为1µs。

第三步:加入输入、输出信号,设置输入信号周期,保存文件等步骤均与前面功能仿真相同。

第四步:选取Processing →Start Simulation 进行模拟仿真,仿真结果将出现。

结果如下所示:经过分析,结果正确。

2、七段译码器程序的功能图如下所示:关于7段译码器的说明:在实验1中使用了一个7段译码器,其由7个发光二极管构成,二极管的负极接到对应引脚,正极接高电平构成共阳极的7段数码管。

abcdefgq_tempCount10如下如所示:显示0时,a,b,c,d,e,f管脚接低电平,g管脚接高电平点亮的二极管会显示数字0 。

如图所示:1)、三-八译码器功能仿真注意事项:因为需要考察电路输入的所有状态,因此需要输入分别有000、001、010、011、100、101、110、111八个状态,在仿真通道文件中选择d界面旁边的赋值选项此时高亮显示表示可用,选中C,在弹出的对话框中进行设置。

2)、实验设计程序代码如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity count38 isPORT(x:in STD_LOGIC_VECTOR(2 DOWNTO 0);y:out STD_LOGIC_VECTOR(7 DOWNTO 0));end count38;architecture beha of count38 isbeginprocess(x)begincase x iswhen"000"=>y<="00000001";when"001"=>y<="00000010";when"010"=>y<="00000100";when"011"=>y<="00001000";when"100"=>y<="00010000";when"101"=>y<="00100000";when"110"=>y<="01000000";when"111"=>y<="10000000";when others=>y<="ZZZZZZZZ";end case;end process;end beha;3)、3-8译码器程序设计思路:输入三位,输出八位,无使能端。

采用case-when 语句,将输入与输出对应起来。

因when已列举出了所有情况,故when others 可不写。

4)、程序设计好之后,输入QuartusⅡ中进行仿真,仿真结果如下:功能仿真结果:时序仿真结果:经过分析,结果符合预期3-8译码器的功能,结果正确。

相关文档
最新文档