当前位置:首页 >> 电子/电路 >>

数字逻辑电路设计实验指导书

数字逻辑电路设计实验指导书
实验一 半加器和全加器 I
实验平台
实验要求
使用 TTL 小规模集成电路芯片 74LS00 搭建半加器电路和全加器电路,电路的输入接实验平 台开关,电路输出接实验平台的发光管。希望同学们能够通过实验掌握使用基本门电路设计实现 数字电路的方法。
实验原理
在数字电路中,门电路就是用来实现基本逻辑关系的电路,比如这个实验中的半加器和全加 器。最基本的门电路是与门、或门和非门,由这些门可以组合成其它的逻辑电路。门电路最初由 分立元件组成,集成电路出现后,我们现在使用的门电路都是集成门电路。
半加器:完成两个一位二进制数的相加而求得“和”及“进位”。 全加器:当多位二进制数相加时,高位的相加运算除了要将本位的加数和被加数相加以外, 还要考虑低位是否有向该位的进位。全加器完成将两个一位的二进制数相加,并考虑低位来的进 位,相当于三个一位二进制数相加的电路。
实验步骤
1. 设计
根据半加器和全加器列出真值表,写出输出函数,因为实验要求使用“与非门”实现,将输出 函数转换为“与非门”形式,画出使用与非门实现半加器和全加器的电路图。

A B

&

Ai Bi

&

&

&

SH

&

&
& &

&

SHi

Ci

1

CH

&

Ci-1

&

&

Si

&

2. 连线

半加器与非门电路 全加器与非门电路

请特别注意 VCC 和 GND 的连接,不要接错,以免芯片烧毁!

所用芯片的 Vcc 连起来接+5V;所用芯片的 GND 连起来接地(GND)。 电路的输入接实验平台开关,电路的输出接实验平台的发光管。 实验提供的 74LS00 芯片逻辑与引脚图如下。每块芯片中有四组 2 输入端与非门(正逻辑), 根据步骤 1 设计的电路图,搭建半加器电路需要 5 个与非门( 可使用 2 块 74LS00 芯片),搭建全

第 1 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春 加器电路需要 9 个与非门(可使用 3 块 74LS00 芯片)。
双列直插封装 74LS00 芯片逻辑图和引脚图
3. 验证
开关向上拨为“1”,向下拨为“0”;发光管为“1”时点亮, 为“0”时熄灭。 根据真值表,检验你所搭建的半加器和全加器电路,是否满足设计要求。
教你一招:实验平台上可能有个别开关、发光管故障,可以将导线一端接开关,一
端接发光管,如果开关向上拨时,发光管点亮;开关向下拨时,发光管熄灭, 说明 开关、发光管、导线都是好的。完成连线后的电路可能有误,在没有万用表的情况下, 此法也可帮你检查电路故障。
实验报告要求
1. 填妥姓名、班级外,必须填写完成报告的日期(年月日),以后的实验报告要求里不再冗述。 2. 写出使用 TTL 小规模集成电路芯片 74LS00 完成半加器的设计和实现的完整过程(根据功能要
求列真值表->写输出函数->将输出函数变换成“与非门”形式->画出电路图->根据芯片引脚连 线->验证结果) 3. 结合实验中接触和使用的小规模集成电路,请说说什么是集成电路?常用的中小规模集成电路 产品有哪些? 4. 实验过程中你遇到了哪些问题?实验刚开始时,你觉得计算机硬件课程的实验最难理解的地方 在哪里? 5. 实验一和实验二使用两种不同的方式(小规模集成电路,可编程器件)实现全加器电路,就两 种方式谈谈你实验的体会。
第 2 页 共 33 页

数字逻辑电路设计实验指导书
实验二 FPGA 设计流程 ——全加器 II
实验平台
EDA/SOPC 实验开发平台,实验二以后的所有实验都使用此开发平台。
实验要求
根据实验平台提供的 Altera 公司可编程器件 FPGA(现场可编程门阵列),使用 Altera 公司的 EDA 设计开发工具 QuartusII,用原理图方式设计实现全加器电路,电路的输入接实验平台开关, 电路输出接实验平台的发光管。希望同学们能够通过实验掌握使用可编程器件设计实现数字电路 的方法。
实验原理
使用可编程器件进行数字电路设计,将传统的“设计?硬件搭试?焊接”过程变为“设计? 编译?下载”的过程,其主要工作都在计算机内完成,先将设计输入计算机,再由开发系统将其 转换成编程文件下载到可编程器件中。
全加器电路图的设计同实验一。
实验步骤
1. 新建工程
实验室机器安装的设计环境为:Quartus II Version 9.0。 双击桌面 图标,运行 Quartus II 软件。用 New Project Wizard 工具选项创建此设计的工程, 并设计相关信息。 点击菜单项 File-> new project wizard…,出现 introduction 对话框,如图 1。
图1
单击 next,进入 Directory,name,Top-Level Entity 设置对话框,选择工程存放路径(请在 E
第 3 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春 盘或 F 盘新建一个工程相文件夹,实验室的 C 盘、D 盘及桌面被保护)、工程名称和顶层模块名称
(本例工程名和顶层模块名均设为 fadder。)注意:所有的名称和路径均不能包含空格和汉 字。如图 2。
图2
跳过图 3 所示 Add Files 对话框,该对话框设置用来将已存在的设计文件加入到工程中。
图3
点击 next,进入 Family & devices settings 对话框,指定 FPGA 器件为 Cyclone 系列的 EP1C12F324C8,如图 4。Cyclone 系 列 FPGA 是 Altera 公司最初(2002 年)的低成本 FPGA。2004
第 4 页 共 33 页

数字逻辑电路设计实验指导书 年和 2006 年,Altera 公司又推出了更新的,密度更高的 Cyclone II 和 Cyclone III 系列 FPGA,进 一步巩固它在大批量、低成本应用解决方案中的地位。
图4
图5
图 5 对话框用来设置第三方 EDA 工具,包括综合工具,仿真工具和时序分析工具,这里我 们点击 Next 跳过。
第 5 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

图6

标题栏 菜单栏

资源管理区

工程工作区

编译状态区

信息显示区
图7
最后,新建工程向导会根据你之前一步一步的设置,给出一个工程设置概述页如图 6,单击 finish 完成工程创建。完成后,QuartusII 界面如图 7 所示。
所有在新建工程向导中进行的设置,在工程建立完成后,都可以通过 QuartusII 菜 单项进行修改。
第 6 页 共 33 页

数字逻辑电路设计实验指导书
2. 设计输入
点击菜单项 File-> new…,出现新建源文件对话框如图 8,数字电路的设计文件总的来说有两 种方式,原理图方式和硬件描述语言方式,这次实验我们使用原理图方式设计电路,所以选择新 建一个“Block Diagram/Schematic File”文件,图 8,点击“OK”按钮,打开原理图编辑器。

图8
原理图编辑器的工具栏如图 10 所示,工具栏上的按钮作用依次分别是“分离窗口切换”、“选 择”,“添加文字”、“符号工具”、“块工具”、“正交结点工具”、“正交总线工具”、“正交管道工具”、 “橡皮筋工具”、“部分线选择工具”、“放大缩小工具”、“全屏”、“查找工具”、“水平翻转”、“垂 直翻转”、“逆时针 90 度翻转”、“矩形工具”、“椭圆工具”、“直线工具”、“弧线工具”。

图9
QuartusII 提供了许多基本库元件给用户使用,根据实验一全加器的设计,共需要 9 个“2 输

入与非门电路”模块。在原理图编辑区的空白处双击鼠标,或点击符号工具 打开 Symbol 对话
框如图 9。 在 Symbol 对话框中,设计全加器电路需要的“与非门”可以通过选择 “Primitives->logic”
基本原件库中的“nand2”模块,点击“OK”,将该模块加入原理图中。 重复该过程,或在原理 图编辑区选中已经添加好的 nand2 模块,使用 Ctrl+C 和 Ctrl+V 继续添加。
全加器电路的输出端口和输入端口,在 Symbol 对话框中,使用“Primitives->pin”库中的“input” 模块和“output”模块,添加到原理图中。添加完成后,可以在原理图中双击各个输入输出模块, 为它们改名,尽量让端口名称具有可读性,本例可改为 Ai、Bi、Ci-1、SHi、Si、Ci 如图 11。

与非门、输入端口、输出端口之间的连接使用“正交结点工具” 完成后的原理图如图 11。

完成。

第 7 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
图 10
图 11
设计输入完成后,保存文件,将模块名命名为顶层模块名,即新建工程时指定的顶层模块名, 本例为:fadder.bdf。新建的文件默认情况下会自动加入到工程中。
3. 逻辑综合
为工程添加好设计文件以后,下一步就是对工程设计进行综合,本例使用 QuartusII 软件内嵌
第 8 页 共 33 页

数字逻辑电路设计实验指导书 的分析综合工具 Analysis & Synthesis 进行。点击工具栏中 按钮,对设计进行综合。Analysis & Synthesis 将检查工程的逻辑完整性和一致性。
设计如果综合通过,编译状态显示区中 Analysis & Synthesis 步骤前面会显示绿色的勾,如果 设计有错误,会显示红色的叉,如图 12,出错行号及错误原因会显示在信息显示区中,如图 13。
图 12
图 13
根据错误原因提示修改设计,完成修改后,重新综合,直到综合通过,资源管理区中可以点 击顶层模块名称前的+号,显示模块间的树形结构,编译状态显示区的 Analysis & Synthesis 步骤 前显示绿色的勾,如图 14。
图 14
初学者往往不习惯阅读错误信息。实际上学会读懂错误信息是很有用的!
4. 功能仿真
在综合通过以后,只能够说明设计符合语法规范,但并不能保证设计满足功能要求,需要通 过功能仿真,来验证电路功能是否符合设计要求,功能仿真的考察是的电路在理想环境下的行为,
第 9 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
不考虑电路门延迟与线延迟。这里使用 QuartusII 自带的波形图仿真工具进行。 1) 新建仿真波形图文件 要使用 QuartusII 自带的波形图仿真工具进行仿真,首先要新建一个波形图文件。在 File 菜单
中选择 New,出现如图 8 中所示对话框,在 Verification/Debugging Files 页中选择 Vector Waveform File,点击 OK 按钮,出现一个空的波形图文件,如图 15。

图 15
2) 添加观察信号结点
用菜单 Edit->Insert->Insert Node or Bus…,打开如图 16 所示对话框。可以直接在 Name 文本 框中直接输入信号名称,也可以通过点击按钮 Node Finder…,打开结点查询对话框来如图 17,来 添加需要观察的信号。

图 16

本例在 Node Finder 对话框的 Filter 选项下拉菜单中选择 Pins:all,然后点击 List 按钮,在 Nodes

Found 列表中,选中 Ai、Bi、Ci-1、SHi、Si、Ci 信号,双击或使用 信号中。最后点击“OK”按钮,完成观察信号的添加。

按钮,将它们添加到观察

第 10 页 共 33 页

数字逻辑电路设计实验指导书
图 17
3) 编辑输入波形 在 Name 栏中选中输入信号的名称,这组输入信号所在的行将被高亮,如图 18。通过菜单 Edit->Value,或者直接使用工具栏按钮对输入信号的波形进行设定。
图 18
如图 19 工具栏上的按钮作用分别是“分离窗口切换”、“选择”,“添加文字”、“编辑波形”、 “放大缩小”、“全屏幕切换”、“查找”、“替换”、“设置为 Unknown”、“置 0”、“置 1”、“设置为高 阻”、“设置为 Weak Unknown”、“设置为 Weak Low”、“设置为 Weak High”、“设置为 Don’t Care”、 “设置为取反”、“设置计数值”、“设置时钟”、“设置为任意值”、“设置随机值”、“贴齐网格线”、 “排序”。
图 19
信号添加完成并且编辑好波形后,保存文件,本例为 fadder.vwf。 4) 在 QuartusII 中指定仿真文件 用菜单 Assignment->Setting…在 Simulator Settings 中,设置 Simulation mode 为“Functional”, 设置 fadder.vwf 为仿真输入文件,仿真结束的条件可以根据需要在 Simulation Period 项中选择, 如图 20 选择仿真运行 80ns 结束。点击“OK”按钮完成设置 。
第 11 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
图 20
5) 生成功能仿真网表 用菜单 Processing->Generate Functional Simulation Netlist。如果缺少这一步,在仿真运行时, QuartusII 产 生 出 错 提 示 :“ Error: Run Generate Functional Simulation Netlist (quartus_map seven_seg
--generate_functional_sim_netlist) to generate functional simulation netlist for top level entity "seven_seg" before running
the Simulator (quartus_sim)”,无法完成仿真。 6) 运行仿真 通过工具栏 按钮启动仿真。 7) 观察分析仿真结果 仿真完成后,根据生成的仿真波形图,对比全加器真值表,分析结果是否正确。本例结果如
图 21。
第 12 页 共 33 页

数字逻辑电路设计实验指导书
图 21
5. 布局布线
1) 约束引脚 FPGA 电路板与实验平台上各个资源模块(如本实验的 LED Switches & Buttons 模块)之间的 连接是固定的,应该根据它们之间的连接关系对 FPGA 的引脚进行引脚约束。约束引脚是将顶层 设计文件的输入输出端口指定到 FPGA 器件的实际引脚。引脚对应关系见附表。 使用菜单项 Assignment->Pins 进入引脚分配编辑窗口,完成后的分配图 22。
图 22
不要忘记引脚约束! 在以后的设计中,如果忘记了导入引脚约束文件,编译也不会报错,此时
由软件自动分配未约束的引脚,但是和实际连接关系就不一致了。后果是不能 通过在实验仪上的验证。
第 13 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

2) 布局布线、生成编程文件

引脚约束完成后,在 QuartusII 界面的工具栏中,点击 按钮,对设计进行全编译。 此外,也可以使用菜单项 Processing->Compiler Tool 打开编译工具对话框,如图 23,点击 Fitter

区域中的 按钮和 Assembler 区域中的 击 Start 按钮来完成全编译过程。

按钮来执行布局布线和生成编程文件,也可以直接点

图 23
如果设计文件或引脚约束有改动,一定要重新进行全编译。
6. 时序仿真(附加题,有兴趣的同学选择完成)
功能仿真不考虑传输延迟,主要目的是检查逻辑功能有没有错误,是否符合设计要求。时序 仿真包含了延时信息,它能较好地反映芯片的工作情况。
用菜单 Assignment->Setting…在 Simulator Settings 中,更改设置 Simulation mode 为“Timming”, 设置完成后重新运行仿真,观察结果,本例如图 24。

图 24
与功能仿真时得到的波形图不同,在时序仿真得到的波形图没有那么完美,因为信号经过任 何门电路和导线都存在一个时间延迟问题,,使得电路的输入到达稳定状态时,输出并不一定能立 即达到稳定状态。观察电路延迟的情况。
第 14 页 共 33 页

数字逻辑电路设计实验指导书

7. 配置器件(或称编程、下载)
对可编程器件 FPGA 进行配置(编程),俗称下载,下载前打开实验平台电源。 点击工具栏按钮,或使用菜单项 Tool->Programmer 进入器件编程话框,如图 25。单击

按 钮 , 可 以 选 择 编 程 电 缆 硬 件 设 置 , 如 图 26 , 因 为 实 验 设 备 使 用 的 是
USB-Blaster 下载电缆,所以本例中使用 USB-Blaster 作为硬件接口。 设置完编程硬件后,在编程界面,在 Mode 中选择编程模式,本例使用 JTAG 模式。勾选

Program/Configure 选项框,单击

按钮开始器件编程。在 Process 进度条中会显示编

程进度。完成后,在 QuartusII 的信息显示区中,会报告成功或出错信息;注意:信息显示在 QuartusII 的信息显示区中,不在编程窗口中。
编程界面左侧的其它按钮分别表示停止编程;自动检测编程硬件是否连接;删除编程文件; 更改选中的编程文件;保存文件;添加用户自定义的器件;更改编程文件的顺序。

图 25

图 26
8. 测试验证
器件被成功配置后,就可以进行验证了。拨动连接全加器输入端口 Ai,Bi,Ci 的开关,观察 连接全加器输出端口 Si,Ci 的发光管显示是否正确。
第 15 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
实验三 七人表决器
实验要求
使用 EDA 设计开发工具 QuartusII,以原理图方式设计实现七人表决器电路,当表决器的七个 输入中有 4 个以上(含 4 个)为“1”时,u 表决器输出为“1”,否则为“0”。用七个开关作为表 决器的七个输入,输入为逻辑“1”时表示表决者“赞成”,输入为“0”代表“不赞成””。用二个 发光管作为表决器的输出,发光管点亮( 逻辑 1)表示表决“通过”,发光管熄灭表示表决“不通 过”。
实验原理
七人表决器的方案很多,这里给出一个使用多个一位全加器实现的电路参考,见“设计输入”, 其中的一位全加器我们利用实验二的设计。
实验步骤
1. 实验准备
打开 QuartusII 环境,使用 File->Open Project…打开上一次的全加器实验工程,双击顶层模块 打 fadder 开原理图文件,然后使用 File->Create/_Update->Create Symbol Files For Current File,将 顶 层原理图方式设计的全加器模块转换为符号文件 fadder.bsf。
在 E 盘或 F 盘新建一个文件夹(所有的名称和路径均不能包含空格和汉字),将实验二 全加器工程中的全加器原理图文件 fadder.bdf,以及刚才生成的全加器符号文件 fadder.bsf,一
起拷入新建的文件夹中。
2. 新建工程
参考实验二指导,在上一步新建的文件夹内创建 QuartusII 工程,工程名和顶层模块名均设为 seven。
3. 设计输入
点击菜单项 File-> new…,新建原理图 Block Diagram/Schematic 文件,在空白编辑区内双 击鼠标左键,或使用符号工具 ,打开 symbol 对话框。在 Libraries 中,除了 QuartusIIa 提 供的库元件外,由于在“实验准备”步骤中,往工程文件夹内中拷入了 fadder.bsf 符号文件, 所以在 Project 树下,可以看见当前工程路径下自己定义的元件 fadder.bsf。
点击“OK”按钮,将 fadder 模块加入原理图中。 重复该过程,共添加 4 个一位全加器模块。 在 Symbol 对话框中,使用 “Primitives->pin”库中的“input”模块和“output”模块,为设 计添加输入端口和输出端口。使用“Primitives->logic”库中的“not”模块,,输出端口 pass 取反后
第 16 页 共 33 页

数字逻辑电路设计实验指导书

送给 输出端口 deny。

模块之间的连接使用“正交结点工具” 为 seven.bdf)。

完成。完成后的原理图如下,保存文件(本例

4. 逻辑综合
参考实验二指导。
5. 布局布线
使用菜单项 Assignment->Pins 进行引脚分配,完成后引脚分配如下图。引脚约束完成后,在 QuartusII 界面的工具栏中,点击 按钮,对设计进行全编译。
6. 编程
参考实验二指导。
7. 验证
拨动开关,观察发光管,验证在所有输入条件下的输出结果是否正确。
第 17 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

实验报告要求
1. 完善设计: 在表决通过时,用实验平台上的扬声器报鸣提示;在原基础上使用数码管显示赞成票数,写
出设计方法。(提示:票数就是几个一位全加器计算出来的最后的结果;想在数码管上显示,
需要设计译码器电路。) 2. 使用 VHDL 语言设计七人表决器电路。
附:数码管段码表
发光二极管组成的显示器是嵌入式应用产品中最常用的廉价输出设备。 它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通 时,相应的一个或一笔画被点亮,控制不同组合的二极管导通,就能显示数 字和少量字符。常用的七段显示器如下图。一位显示器由八个发光二极管组 成,其中七个发光二极管 a~g 控制七个笔画(段)的亮或暗,另一个控制一 个小数点的亮和暗。

实验平台上的七段数码管是共阴极的(发光二极管阳极连在一起称为共阳极显示器,阴极连 在一起称为共阴极显示器),也就是输出为高电平的时候,二极管会导通。例如显示一个“0”,就 是 abcdef 导通,gh 截止。根据表可知,段码为 3FH。
实验平台上有八个数码管,它们的 abcdefgh 都连接在一起,由用户控制,8 个数码管的位选 信号由一片 74LS138 译码器提供, 译码器的输入端(SEL0,SEL1,SEL2)由用户控制,例如 SEL0,SEL1,SEL2 若为为 000, 就选中最右边的数码管,而其余数码管关闭。
表 七段数码管段码表

显示 16 进制 h

g

f

e

d

c

b

a

0

3F

0

0

1

1

1

1

1

1

1

06

0

0

0

0

0

1

1

0

2

5B

0

1

0

1

1

0

1

1

3

4F

0

1

0

0

1

1

1

1

4

66

0

1

1

0

0

1

1

0

5

6D

0

1

1

0

1

1

0

1

6

7D

0

1

1

1

1

1

0

1

7

07

0

0

0

0

0

1

1

1

8

7F

0

1

1

1

1

1

1

1

9

6F

0

1

1

0

1

1

1

1

A

77

0

1

1

1

0

1

1

1

B

7C

0

1

1

1

1

1

0

0

C

39

0

0

1

1

1

0

0

1

D

5E

0

1

0

1

1

1

1

0

E

79

0

1

1

1

1

0

0

1

F

71

0

1

1

1

0

0

0

1

第 18 页 共 33 页

数字逻辑电路设计实验指导书

数码管译码显示设计参考

实验平台上的数码管显示模块的电路原理,以及数码管的输入与与 FPGA 的管脚连接关系 如下面的图、表所示:

信号名称 7SEG-A 7SEG-B 7SEG-C 7SEG-D 7SEG-E 7SEG-F 7SEG-G 7SEG-DP
7SEG-SEL0 7SEG-SEL1 7SEG-SEL2

对应 FPGA 管脚名 H3 H4 K5 L5 K4 L3 L4 M3 G4 G3 F4

说明 七段码管 A 段输入信号 七段码管 B 段输入信号 七段码管 C 段输入信号 七段码管 D 段输入信号 七段码管 E 段输入信号 七段码管 F 段输入信号 七段码管 G 段输入信号 七段码管 dp 段输入信 七段码管位号选输入信号 七段码管位选输入信号 七段码管位选输入信号

如果只需要在数码管上显示 16 进制数据 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F,可以参考下面的代 码设计一个 4-7 译码器。同学们知道 1 个 16 进制数据可以由四个二进制位表示,设计用四位的向 量输入端口 switch 来表示四个二进制位;用 7 位的向量输出端口 ledaq 来表示数码管的七段(dp 小数点段未考虑),根据七段数码管段码表,进行译码器描述。
向量输出端口 sel 用来选择点亮 8 个数码管中的哪一个,本例中 sel[2:0]设置为为“000”, 点 亮最右边的数码管,而其余数码管关闭,同学们也可根据自己的需要选择点亮其它数码管。
library ieee; use ieee.std_logic_1164.all;
entity Decode4_7 is port( switch : in std_logic_vector(3 downto 0) ; --四位输入信号 ledag : out std_logic_vector(6 downto 0);--8 个数码管的 7 段输出 sel : out std_logic_vector(2 downto 0) -- 8 个数码管的位选输出 );
end Decode4_7;
architecture behave of Decode4_7 is begin sel<=”000”; process(switch) begin case switch is when "0000" => ledag <="0111111";
第 19 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春 when "0001" => ledag <="0000110"; when "0010" => ledag <="1011011"; when "0011" => ledag <="1001111"; when "0100" => ledag <="1100110"; when "0101" => ledag <="1101101"; when "0110" => ledag <="1111101"; when "0111" => ledag <="0000111"; when "1000" => ledag <="1111111"; when "1001" => ledag <="1101111"; when "1010" => ledag <="1110111"; when "1011" => ledag <="1111100"; when "1100" => ledag <="0111001"; when "1101" => ledag <="1011110"; when "1110" => ledag <="1111001"; when "1111" => ledag <="1110001"; when others => null; end case; end process; end behave;
思考:1. 如果要求除了 0~F 之外,还要能够显示 H,如何修改设计?
2. 如果希望 8 个数码管同时点亮,你觉得可以怎么做?
第 20 页 共 33 页

数字逻辑电路设计实验指导书

实验四 四位全加器
实验要求
使用 EDA 设计开发工具 QuartusII,以 VHD 语言方式设计实现组合逻辑电路四位全加器。
实验原理
四位全加器可由一位全加器以串行方式连接而成,更为高效的方式是直接用 VHDL 语言实现。
实验步骤
1. 新建工程
参考实验二指导,,工程名和顶层模块名均设为 fadder_4。
2. 设计输入
点击菜单项 File-> new…,这次实验我们使用 VHDL 描述语言方式设计电路,所以选择新建一 个“VHDL File”文件,点击“OK”按钮,打开代码编辑器,将下面的代码输入空白编辑区,输
入完成后,保存文件,文件名与实体名相同(本例为:fadder_4.vhd)。
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;

entity fadder_4 is

generic

( DATA_WIDTH : natural := 4

port

(a

: in unsigned

b

: in unsigned

result : out unsigned

end entity;

);

((DATA_WIDTH-1) downto 0);

((DATA_WIDTH-1) downto 0);

(DATA_WIDTH downto 0)

);

architecture behave of fadder_4 is begin
result <= ('0' & a) + ('0' & b); end behave;
3. 逻辑综合
参考实验二指导。
4. 布局布线
用四个开关(K1、K2、K3、K4)作为四位全加器的 a 输入,用四个开关(K5、K6、K7、K8) 作为四位全加器的 b 输入,用五个发光管(D1、D2、D3、D4、D5)作为四位全加器的输出 result。 使用菜单项 Assignment->Pins 进行引脚分配,完成后引脚分配如下图。

第 21 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

引脚约束完成后,在 QuartusII 界面的工具栏中,点击 按钮,对设计进行全编译。

5. 编程 6. 验证
根据四位全加器真值表,拨动开关,观察发光管,验证在所有输入条件下的输出结果是否正确。

附:VHDL 知识点

1. 库的引用
库一般是一些常用的 VHDL 代码的 集合,包括:数据类型的定义、函数的定义、子程序的定 义、元件引用声明、常量的定义等一些可复用或是共享的 VHDL 代码。程序引用了库就可以使用 该库中的 VHDL 代码。

library 库名 ;

use

库名 . 库中程序包 . 程序包中的项 ;

2. 实体的声明

实体的声明用于实体与其它实体或是外部接口相关联的说明。实体名应该与文件名一致。

entity 实体名 is

generic (参数名:数据类型 := 值 ) ;

port (端口名 : 端口模式 数据类型) ;

end

实体名 ;

3. 结构体的描述

VHDL 程序的所有逻辑功能都在结构体中实现。

architecture 结构体名 of 实体名 is 结构体说明语句;

begin 结构体描述语句;

end 结构体名;

实验报告要求

1. 画出使用一位全加器以串行方式连接成四位全加器的原理图。 2. 在四位全加器电路的基础上,修改设计,使用 VHDL 语言,设计 BCD 码加法器,说明设计方
案并写出设计代码。

第 22 页 共 33 页

数字逻辑电路设计实验指导书
实验五 序列检测器
实验要求
使用 EDA 设计开发工具 QuartusII,以状态图方式设计实现时序逻辑电路“111”序列检测器。
实验原理
有限状态机(Finite State Machine)是一种时序逻辑,它源于人们将一个复杂的问题分割成多 个简单的部分来处理的思想。状态机通过时钟驱动下的多个状态,以及状态之间的跳转规则来实 现复杂的逻辑,一旦当前的状态确定,也就明确的相关的输入输出。
实验步骤
1. 新建工程
参考实验二指导,工程名和顶层模块名均设为 sequencer。
2. 设计输入
点击菜单项 File-> new…,这次实验我们使用状态图方式设计电路,所以选择新建一个“State Machine File”文件,点击“OK”按钮,打开状态图编辑器,使用工具栏完成状态 l 图的编辑。
下图工具栏上的按钮作用分别是“分离窗口切换”、“全屏幕切换”、“选择”、“放大缩小”、“查 找”、“状态工具”、“条件转换工具”、“状态表工具”、“状态机生成向导”、“插入输入端口”、“插 入输出端口”、“条件转换等式显示”、“生成 HDL 文件工具”、“橡皮筋工具”。
完成后的序列检测状态图如下,保存文件,本例为 sequencer.smf。。
状态图完成后,使用“生成 HDL 文件工具” 将状态图转换成 HDL 代码,在弹出的对话 框中可以选择生成 Verilog HDL、VHDL 或 System Verilog,本例选择生成 VHDL 代码,一个 sequencer.vhd 文件会自动生成并保存在你的工程文件夹里。
第 23 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
3. 逻辑综合
参考实验二指导。
4. 功能仿真
参考实验二指导,创建仿真波形文件,根据生成的仿真波形图,分析结果是否正确。
5. 布局布线
用一个开关 K1(引脚号:A12)作为序列检测器的 switch 输入, 用一个发光管 D1(引脚号: A0)作为序列检测器的输出 lamp,时钟信号可以使用开发平台的可调数字时钟模块 CLK(引脚号: J4),但是因为实验平台上没有单拍时钟,所以本例把时钟信号到开关 K2(引脚号:B12),通过 拨动开关 K2 从 0->1->0 的变化,来模拟时钟。
详细引脚对应关系见附录。使用菜单项 Assignment->Pins 进行引脚分配,完成后点击 按钮, 对设计进行全编译。
6. 编程
参考实验二指导。
7. 验证
实验报告要求
1. 有限状态机分为 Moore 状态机和 Mealy 状态机,简述两者的特点,分析本例的序列检测器状 态机应该属于哪一种?
2. 设计一个 1010 序列检测器,画出状态图。
第 24 页 共 33 页

数字逻辑电路设计实验指导书

实验六 计数器和分频器

实验要求
层次化设计方法,使用 VHDL 方式设计实现 10 进制加法计数器。要求计数器以 1 秒钟的频 率计数,具有同步计数,异步清零,同步预置数功能,要求计数值同时在八个数码管上显示。主 时钟选择 1KHz 的频率,同时作为数码管动态扫描时钟,1KHz 主时钟分频后作为 10 进制加法器 的计数时钟。
实验原理
计数器是最常见的时序逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。 分频器与计数器非常类似,时序电路设计中需要各种各样的分频器来获得不同频率的时钟, 其中以整数分频器最为常见,整数分频可以简单地使用模 n 计数器实现,即随驱动时钟跳动 n 次 后就输出一个进位脉冲,然后立即被清零或置位,再开始新一轮循环的计数器。
实验步骤

1. 新建工程
参考实验二指导,工程名和顶层模块名均设为 counter_TOP。
2. 设计输入
1) 计数器
点击菜单项 File-> new…,新建一个“VHDL File”文件,点击“OK”按钮,打开代码编
辑器,将下面的代码输入空白编辑区,输入完成后,保存文件,文件名与实体名相同(本 例为:counter.vhd)。
计数器模块采用参数化设计,从 MIN_COUNT 开始加 1 计数,计到 MAX_COUNT 后, 重新回到 MIN_COUNT 开始计数。使用参数化设计的最大特点在于它可以被方便地修改,所 以常用来建模一些需要调整的数据,以便在实例化模块时根据需要进行配置。
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;

entity counter is

generic

( MIN_COUNT : natural := 0;

MAX_COUNT : natural := 9

);

port

( clk

: in std_logic;

reset : in std_logic;

load

: in std_logic;

enable : in std_logic;

d

: in integer range MIN_COUNT to MAX_COUNT;

q

: out integer range MIN_COUNT to MAX_COUNT

);

end entity;

第 25 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

architecture behave of counter is

begin

process (clk,reset)

variable cnt

: integer range MIN_COUNT to MAX_COUNT;

begin

if reset = '1' then

cnt := 0;

elsif (rising_edge(clk)) then

if load ='1' then

cnt:= d;

elsif cnt=MAX_COUNT then

cnt:= MIN_COUNT;

elsif enable = '1' then

cnt := cnt + 1;

end if;

end if;

q <= cnt;

end process;

end behave;

2) 分频器

QuartusII 中含有大量的功能强大的 LPM 模块,LPM 是 Library of Parameterized Modules 参数可设置模块库的缩写,LPM 功能模块内容丰富,每一模块的功能、参数含义、使用方 法、硬件描述语言模块参数设置及调用方法都可以在 QuartusII 中的 Help 中查阅到。本例使 用 LPM_counter 模块来实现分频。

点击菜单项 Tools-> MegaWizard Plug-In Manager…,在弹出的对话框中选择 Create a new custom…定制一个新的模块(如果要修改一个已经编辑好的 LPM 模块,则选择 Edit an exiting custom… 项 ), 点 击 “ Next ” 按 钮 , 在 后 续 对 话 框 中 的 左 栏 选 择 Arithmetic 项 下 的 LPM_COUNTER , 在 右 边 选 择 Cyclone 器 件 和 VHDL 语 言 方 式 , 最 后 输 入 定 制 的 LPM_COUNTER 存放的路径和文件名,本例文件名为 divider.vhd,路径选择自己创建工程 的路径。

点击“Next”,选择计数器的位宽为 10bit,加 1 计数。
第 26 页 共 33 页

数字逻辑电路设计实验指导书 点击“Next”,设置为模 1000 计数,选择输出 Carry-out 信号,则计数器会从 0 计数到 999, 再回零计数,当计数到 999 时,会产生一个时钟的 Carry-out 信号。后面我们就用这个 Carry-out 信号来做 10 进制计数器的计数时钟。依图完成每个对话框的设置,最后点击“Finish”,完 成 LPM_COUNTER 定制,硬件描述语言文件 divider.vhd 会自动保存在你设置的路径中。
3) 数码管译码电路及动态扫描 在“数码管译码显示设计参考”中,我们介绍了使用译码电路,控制实验平台中 8 个数
码管的段码 a-b-c-d-e-f-g,从而在数码管上显示 16 进制数据 0~F,由设计中 8 个数码管的位 选择信号 SEL0、SEL1、SEL2 来决定到底哪个数码管显示,例如 SEL0、SEL1、SEL2 为“000” 时,最右边的数码管显示当前段码,即在一个时刻,只能有一个数码管被点亮。
如果希望 8 个数码管上分别显示希望的数据,就必须使得选通信号以较高的频率依次选 通,同时在段码输入口加上希望在对应数据管上显示的数据,于是随着选通信号的扫变,就 能实现扫描显示的目的。
第 27 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
点击菜单项 File-> new…,创建一个实现数码管动态扫描的 VHDL 文件,点击“OK”按
钮,打开代码编辑器,将下面的代码输入空白编辑区,输入完成后,保存文件,文件名与实 体名相同(本例为:Dynamic_Scan.vhd)。
library ieee; use ieee.std_logic_1164.all;

entity Dynamic_Scan is

port(clk

: in std_logic;

--定义动态扫描时钟信号

switch : in std_logic_vector(3 downto 0); --四位输入信号

ledag : out std_logic_vector(6 downto 0); --8 个数码管的 7 段输出

sel

: out std_logic_vector(2 downto 0) --8 个数码管的位选输出

);

end Dynamic_Scan;

architecture behave of Dynamic_Scan is begin --三位计数器实现 000~111 计数,计数器的输出作为数码管的 SEL 选通信号。 process(clk) variable count : std_logic_vector(2 downto 0); begin if clk'event and clk='1' then--检测时钟上升沿 count:=count+1;--计数器 count 累加 end if; sel<=count; end process;

--译码电路进程参考“数码管译码显示设计参考”,此处略。

end behave;
4) 顶层模块
点击菜单项 File-> new…,创建一个顶层模块 VHDL 文件,保存,文件名与实体名相 同(本例为 counter_TOP.vhd)。
这个设计包含计数器、分频器、数码管动态扫描等多个模块,顶层模块的作用是把各个 模块连起来,形成最后完整的数字电路,作用与同学们画原理图时从库里添加元件,以及在 元件与元件之间连线类似。
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_ARITH.all;--该程序包中定义了转换函数 conv_std_loigc_vector(A,位长)

entity counter_TOP is generic ( MIN_COUNT : natural := 0;

MAX_COUNT : natural := 9;

第 28 页 共 33 页

数字逻辑电路设计实验指导书

DATAWIDTH : natural := 4

);

port

(

clk

: in std_logic;

reset : in std_logic;

load

: in std_logic;

enable : in std_logic;

d

: in integer range MIN_COUNT to MAX_COUNT;

q

: buffer integer range MIN_COUNT to MAX_COUNT;

ledag : out std_logic_vector(6 downto 0);

sel

: out std_logic_vector(2 downto 0)

);

end entity;

architecture behave of counter_TOP is

component counter

generic

( MIN_COUNT : natural := 0;

MAX_COUNT : natural := 9

);

port

( clk

: in std_logic;

reset : in std_logic;

load

: in std_logic;

enable : in std_logic;

d

: in integer range MIN_COUNT to MAX_COUNT;

q

: out integer range MIN_COUNT to MAX_COUNT

);

end component;

component divider

PORT

(

clock

: IN STD_LOGIC ;

cout

: OUT STD_LOGIC ;

q

: OUT STD_LOGIC_VECTOR (9 DOWNTO 0)

);

end component;

component Dynamic_Scan port( clk : in std_logic; switch : in std_logic_vector(3 downto 0); ledag : out std_logic_vector(6 downto 0);

第 29 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春

sel

: out std_logic_vector(2 downto 0)

);

end component;

signal cout_sig : std_logic; signal counter10_q : std_logic_vector(DATAWIDTH-1 downto 0);

begin divider_inst : divider PORT MAP (clk,cout_sig); counter_inst : counter generic map (0,9)
port map(cout_sig,reset,load,enable,d,q); counter10_q<= conv_std_logic_vector(q,DATAWIDTH); Dynamic_Scan_inst: Dynamic_Scan PORT MAP (clk,counter10_q,ledag,sel); --本设计八个数码管显示相同的 10 进制计数值,所以段码输入口始终来自10进制计数器的计数输出 end behave;
3. 逻辑综合
当一个工程中有多个源文件时,必须告诉编译器到底哪一个才是工程的顶层,本例的顶层文件 是 counter_TOP,新建工程其实已经指定了工程的顶层文件,如果需要改动,方法一:使用菜单项 Project-> Set as Top-Level Entitey 可以将当前正打开的文件设置为顶层文件;方法二:使用菜单项 Assignmengs->Settings… , 在 打 开 的 设 置 对 话 框 中 , 选 择 左 边 最 上 面 的 “ General ”, 在 右 边 的 Top-Level entity 编辑框中选择设计顶层。
4. 布局布线
参考附录 FPGA 引脚对应关系,自己完成引脚的选择和约束。
5. 编程
6. 验证
附:VHDL 知识点
4. 元件(模块)声明
结构化模型中所使用的元件事先已经定义过,在使用之前必须首先声明。元件声明格式如下: COMPONENT 元件名 ;
PORT(信号列表); END COMPONENT
5. 元件例化
元件例化语句是要对所适用的元件与当前设计实体中其他组件及端口信号的连接方法加以说 明,元件例化的格式如下:
元件实例:元件名 generic map (参数) port map( 端口信号1=>信号名1,……) 这里使用的端口信号就是实体中 port 部分使用的端口名,而信号名则是加到当前元件的实际 信号的名称。通过端口信号映像 port map,指明了元件和外部端口信号、元件和元件中间的连接。

第 30 页 共 33 页

数字逻辑电路设计实验指导书
实验七 数字钟
实验要求
使用 VHDL 语言,利用层次化设计方法,设计实现具有时、分、秒计时的简易数字钟。
实验原理
分计时和秒计时可以设计 60 进制计数器实现,小时计时可以设计 24 进制计数器实现。秒计 时器从 0 开始计数满 59 时,回零,此时分计时器计数一次;分计时计数器从 0 开始计数满 59 时, 回零,此时小时计数器计数一次,从 0 计到 23 时,回零。将秒、分、时计数器的计数值,在数码 管上显示出来。
实验步骤
1. 新建工程 2. 设计输入
1) 参数化方法设计任意进制计数器
参考实验六计数器修改设计,在计数到最大值时输出计数满标志。
2) 数码管动态扫描电路
参考实验六。
3) 顶层模块
计数器模块实例化6次,每次参数不同,实例成3个 10 进制计数器(时钟计数个位,分钟计 数个位,秒钟计数个位),1个二进制计数器(时钟计数十位),2个6进制计数器(秒钟计数十 位,分钟计数十位)。
秒钟个位计数器计满标志作为秒计十位计数器的计数使能(enable),秒钟十位计数器计满标志 作为分钟个位计数器的计数使能(enable),分钟个位计数器计满标志作为分钟十位计数器的计数 使能,分钟十位计数器计满标志作为时钟个位计数器的计数使能,时钟个位计数器的计满标志作 为时钟十位计数器的计数使能。
与实验六不同,这次要在8个数码管上显示不同的数值(秒个位,秒十位,分个位,分十位, 时个位,时十位),设计译码器电路,根据当前 SEL 选中的数码管,输出相应的显示内容给数码管 的段码输入口。下面代码中的 SEL 来自数码管扫描电路输出的 SEL,下面代码中的 Disp_Temp 输 出给数码管扫描电路的 switch 输入。
process(SEL) begin case (SEL) is when "000"=>Disp_Temp<=HOUR10; when "001"=>Disp_Temp<=HOUR1; when "010"=>Disp_Temp<=0; when "011"=>Disp_Temp<=MIN10; when "100"=>Disp_Temp<=MIN1; when "101"=>Disp_Temp<=0;
第 31 页 共 33 页

京江通信专业 2010/2_指导教师赵蕙_2012 年春
when "110"=>Disp_Temp<=SEC10; when "111"=>Disp_Temp<=SEC1; end case; end process;
3. 逻辑综合 4. 布局布线
参考附录中 FPGA 管脚对应关系,根据自己的设计需要,为设计的输入输出端口分配引脚。
5. 编程 6. 验证
数码管上正确显示秒、分、时计数器的计数值后,给老师检查。
说明:本例作为数字逻辑实验的考核项目,靠的是同学们之前项目的积累,
自己想办法实现,不限定必须使用指导中给出的方法,也不再给出详细的实验 指导。大家也许要花费些力气,但相信同学们一定能够顺利完成。
第 32 页 共 33 页

数字逻辑电路设计实验指导书

附表 EDA/SOPC 实验开发平台 FPGA 管脚对应关系

信号名称

EP1C12 IO 接脚

EDA/SOPC开发平台

D1

A9

D2

B9

D3

A10

D4

B10

D5

A11

D6

B11

EDA/SOPC开发平台

A

H3

B

H4

C

K5

D

L5

E

K4

F

L3

EDA/SOPC开发平台

K1

A12

K2

B12

K3

B15

K4

B14

K5

A15

K6

D16

EDA/SOPC开发平台

S1

A13

S2

B13

S3

B16

S4

C16

EDA/SOPC 开发平台

R1

F5

Y1

D3

G1

D4

EDA/SOPC 开发平台

CLK

J4(GCLK1)

EDA/SOPC 开发平台

SPEAKER

N6

信号名称

EP1C12 IO 接脚

12 位 LED 灯显示模块

D7

F7

D8

F6

D9

E10

D10

E8

D11

F12

D12

E11

八位七段数码管显示模块

G

L4

DP

M3

SEL0

G4

SEL1

G3

SEL2

F4

12 位拨动开关

K7

C17

K8

E17

K9

L7

K10

E16

K11

G5

K12

H5

8 位按键开关模块

S5

D17

S6

D18

S7

G6

S8

H6

交通信号灯模块

R2

E3

Y2

E4

G2

F3

可调数字时钟模块 CLK

扬声器输出模块

第 33 页 共 33 页


相关文章:
数字逻辑电路实验指导书(2016).doc
数字逻辑电路实验指导书(2016) - Xuzhou Institute of Technology 数字逻辑电路实验指导书 使用班级:15 级计算机专业 2016 年 9 月 1 ...
数字逻辑电路实验指导书..doc
数字逻辑电路实验指导书. - 数字逻辑电路 实验指导书 1 2013 年 6 月 前 言 数字逻辑电路是计算机科学与技术及相关专业的一门专业基础课, 是一门重 点课程。...
数字逻辑电路实验指导书(2016)讲解.doc
数字逻辑电路实验指导书(2016)讲解 - Xuzhou Institute of Technology 数字逻辑电路实验指导书 使用班级:15 级计算机专业 2016 年 9 月 1 ...
数字逻辑电路实验指导书.doc
数字逻辑电路实验指导书_电子/电路_工程科技_专业资料。计算机电路实验指导书,...本实验指导书的内容主要包括门电路逻辑功能及测试、 组合逻辑电路的分析 与设计...
《数字逻辑》实验指导书.doc
数字逻辑实验指导书 - 《数字逻辑实验指导书 四、实验提示 1.74LS7
数字逻辑实验指导书.doc
数字逻辑实验指导书 - 数字逻辑 实验指导书 目前 录 言...
数字电路与数字逻辑实验指导书.doc
数字电路数字逻辑实验指导书_院校资料_高等教育_教育专区。数字电路数字逻辑...用Quartus II的原理图输入设计 法进行数字系统设计时, 不需要了解任何硬件描述...
数字逻辑实验指导书(multisim)汇总.doc
数字逻辑实验指导书(multisim)汇总 - 数字电路与逻辑设计 实验指导 2015 年 1 月 实验一 一、实验目的 集成电路的逻辑功能测试 1、掌握 Multisim 软件的使用...
2016数字逻辑实验指导书要点.doc
2016数字逻辑实验指导书要点 - 《数字逻辑实验指导书 实验一 Quartus 软件的基本操作 一、实验内容 1.熟悉 Quartus 软件的基本操作,了解各种设计方法(原理图设计...
数字逻辑实验指导书(multisim)(精).doc
数字逻辑实验指导书(multisim)(精) - 实验一集成电路的逻辑功能测试
《数字逻辑》--实验指导书2015最新.doc
数字逻辑》--实验指导书2015最新_互联网_IT/计算机_专业资料。《数字逻辑》 ...实验二【实验目的】 组合逻辑电路功能测试及应用电路设计 1、熟悉常用组合逻辑...
数字逻辑与数字电路实验指导--7个实验.doc
数字逻辑数字电路实验指导--7个实验 - 东北石油大学数字电路与逻辑实验指导书 数字逻辑实验指导书 实验项目目录 实验的基本步骤 ......
《数字逻辑》仿真实验指导书.doc
《数字逻辑》仿真实验指导书 - 实验指导书 金山学院信息与机电工程系 数字逻辑电路实验指导书 目录 实验一 CMOS 门电路的逻辑功能测试 ......
2014年数字逻辑电路指导书.doc
2014年数字逻辑电路指导书_数学_自然科学_专业资料。电路实验指导 ...(2)用双 4 选 1 数据选择器 74LS153 实验全加器 a 写出设计过程 b 画...
数字逻辑实验指导书.doc
数字逻辑实验指导书 - 数字逻辑实验指导书 计算机学院 2014 年 10 月 1 目录 实验一组合电路实验 ...
《数字逻辑》实验指导书.doc
数字逻辑实验指导书_物理_自然科学_专业资料。《数字逻辑实验指导书《...图 3-1 为运用 SN74LS153 进行设计的组合逻辑电路图,测试该电路,分析、推导...
数字逻辑实验指导书.doc
数字逻辑实验指导书_电子/电路_工程科技_专业资料。数字逻辑实验指导书 天津科技...4.用 74LS161 设计 N(N<16)进制计数器电路图。并画出实验用状态表。 四...
《数字逻辑》实验指导书(13版).doc
数字逻辑实验指导书(13版) - 《数字逻辑实验指导书 计算机科学系硬件教研室 二○一三年九月 实验一 一、实验目的 基本逻辑门和逻辑电路 1.掌握 TTL 与...
《数字逻辑》实验指导书(BB2013)解读.doc
数字逻辑实验指导书(BB2013)解读 - 福建农林大学 计算机与信息学院 《数字逻辑实验指导书 2012 年 3 月 编 1 电子技术实验室实验守则 一、实...
《数字逻辑实验指导书》(2011春修改)要点.doc
数字逻辑实验指导书》(2011春修改)要点 - 数字逻辑实验指导书 实验一 门电路逻辑功能及测试 一、 实验目的 1.熟悉门电路的逻辑功能 2.熟悉简单逻辑门电路的...
更多相关标签: