当前位置:文档之家› 实验二组合逻辑电路的设计与测试.doc

实验二组合逻辑电路的设计与测试.doc

实验二组合逻辑电路的设计与测试.doc
实验二组合逻辑电路的设计与测试.doc

实验二组合逻辑电路的设计与测试

一、实验目的

1、掌握组合逻辑电路的设计方法及功能测试方法。

2、熟悉组合电路的特点。

二、实验原理

1、使用中、小规模集成电路来设计组合电路是最常见的逻辑电路。设计组合电路的一般步骤如

图 2- 1 所示。

图2- 1 组合逻辑电路设计流程图

根据设计任务的要求建立输入、输出变量,并列出真值表。然后用逻辑代数或卡诺图化简法求出

简化的逻辑表达式。并按实际选用逻辑门的类型修改逻辑表达式。根据简化后的逻辑表达式,画出

逻辑图,用标准器件构成逻辑电路。最后,用实验来验证设计的正确性。

2、组合逻辑电路设计举例

用“与非”门设计一个表决电路。当四个输入端中有三个或四个为“1”时,输出端才为“ 1”。

设计步骤:根据题意列出真值表如表2-1 所示,再填入卡诺图表2- 2 中。

表 2-1

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

A 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Z 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1

表 2- 2

DA

00 01 11 10

BC

00 0 0 0 0

01 0

0 1 0

11 0

1 1 1

10 0

0 1 0

由卡诺图得出逻辑表达式,并演化成“与非”的形式

Z=ABC+ BCD+ ACD+ ABD

=ABC BCD ACD ABC

根据逻辑表达式画出用“与非门”构成的逻辑电路如图2- 2 所示。

图 2-2表决电路逻辑图

用实验验证该逻辑功能

在实验装置适当位置选定三个14P 插座,按照集成块定位标记插好集成块CC4012。

按图 2- 2 接线,输入端A、 B、C、 D 接至逻辑开关输出插口,输出端Z 接逻辑电平显示输入插口,按真值表(自拟)要求,逐次改变输入变量,测量相应的输出值,验证逻辑功能,与表2- 1 进行比较,验证所设计的逻辑电路是否符合要求。

三、实验设备与器件

1 、+ 5V 直流电源

2 、逻辑电平开关

3 、逻辑电平显示器

4 、直流数字电压表

5、 CC4011× 2(74LS00)CC4012 × 3( 74LS20) CC4030 (74LS86)

CC4081( 74LS08)74LS54 ×2(CC4085) CC4001 (74LS02)

四、实验内容

1、设计用与非门及用异或门、与门组成的半加器电路。

( 1)真值表如下表

A B S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

(2) 简化逻辑表达式为

(3)逻辑电路图如下

2、设计一个一位全加器,要求用异或门、与门、或门组成。

用四 2 输入异或门( 74LS86)和四 2 输入与非门( 74LS00)设计一个一位全加器。

( 1)列出真值表如下表。其中Ai 、Bi 、 Ci 分别为一个加数、另一个加数、低位向本位的进位;Si 、Ci+1 分别为本位和、本位向高位的进位。

Ai Bi Ci Si Ci+1

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

(2)由全加器真值表写出函数表达式。

(3)将上面两逻辑表达式转换为能用四2 输入异或门( 74LS86)和四 2 输入与非门( 74LS00)

实现的表达式。

(4)画出逻辑电路图如下图,并在图中标明芯片引脚号。按图选择需要的集成块及门电路连线,将Ai 、Bi 、Ci 接逻辑开关,输出 Si 、Ci+1 接发光二极管。改变输入信号的状态验证真值表。

3、按图 2- 2 接线,输入端A、 B、 C、 D接至逻辑开关输出插口,输出端Z 接逻辑电平显示输入

插口,按真值表要求,逐次改变输入变量,测量相应的输出值,验证逻辑功能,与表2-1 进行比较,验证所设计的逻辑电路是否符合要求。

五、实验总结

1.应正确选择集成电路的型号,不要将集成芯片的电源端接反,要学会看芯片各个引脚的功能

表。

2、学会根据设计任务要求建立输入输出变量,列出真值表,然后用逻辑函数或者卡诺图化简逻

辑表达式,根据化简后的逻辑表达式画出逻辑图,用标准的器件构成逻辑电路图,最后验证设计的正

确性。

实验二 白盒测试

白盒测试实验 一实验内容 1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法; 2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合 覆盖、路径覆盖进行测试。 3、通过试验和应用,要逐步提高和运用白盒测试 技术解决实际测试问题的能力; 4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例, 测试报告等) 二实验原理 白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。其又称为结构测试。 对于该实验的例子给出其流程图如下图所示,我们来了解白盒测试的基本技术和方法。

语句覆盖是指选择足够的测试用例,使得程序中每个语句至少执行一次。如上例选择测试用例x=1,y=1和x=1,y=-1可覆盖所有语句。 判定覆盖是指选择足够的测试用例,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。选择测试用例x=1,y=1和x=1,y=-1可覆盖所有判定。 条件覆盖是指选择语句多数的测试用例,使得程序判定中的每个条件能获得各种不同的结果。选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有条件。 判定/条件覆盖是指选择足够多的测试用例,使得程序判定中每个条件取得条件可能的值,并使每个判定取到各种可能的结果(每个分支都通过一次)。即满足条件覆盖,又满足判定覆盖。选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有判定/条件。 条件组合覆盖是指选择足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次(以判定为单位找条件组合)。 注:a,条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。 b,不同的判断语句内的条件取值之间无需组合。 c,对于但条件的判断语句,只需要满足自己的所有取值即可。 选择测试用例x=1,y=1;x=1,y=-1,x=-1,y=1和x=-1,y=-1可覆盖所有条件组合。 路径覆盖是分析软件过程流的通用工具,有助分离逻辑路径,进行逻辑覆盖的测试,所用的流程图就是讨论软件结构复杂度时所用的流程图。 三实验方法 1、语句覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=1,y=-1 0 F T acdf 2、判定覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=1,y=-1 0 F T acdf 3、条件覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=-1,y=-1 0 T T acdf 4、判定/条件覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=-1,y=-1 0 T T acdf

软件测试实验二(三角形白盒测试)报告

实验二测试报告 一、核心程序代码 /** 判断三角形的类 */ public class TriangleTestMethod { /** 判断三角形的种类。参数a, b, c分别为三角形的三边, * 返回的参数值为0,表示非三角形; * 为1,表示普通三角形; * 为2,表示等腰三角形; * 为3,表示等边三角形。 */ public static int comfirm(int a, int b, int c) { if((a + b > c) && (b + c > a) && (a + c > b)) { // 判断为三角形 if((a == b) && (b ==c)) // 判断为等边三角形 return 3; if((a == b) || (b == c) || (a == c)) // 判断为等腰三角形 return 2; else // 判断为普通三角形 return 1; } else { // 为非三角形 return 0; } } }

二、程序流程图 ① N a + b > c && b + c > a && a + c > b Y ② Y a == b && b ==c N ④ a == b || b == c || a == c N Y ③⑥⑦⑤ Return 3 Return 1 Return 2 Return 0 Exit 三、测试用例 1.语句覆盖测试用例: 输入期望输出覆盖对象测试结果 Case1 Case2 Case3 Case4 a=1, b=2, c=3 a=3, b=4, c=5 1 2 3 ①,⑤0 1 2 3 ①,②,④,⑥ ①,②,④,⑦ ①,②,③ a=3, b=3, c=4 a=3, b=4, c=5 2.判定覆盖测试用例 输入期望输出覆盖对象测试结果 Case11 Case12 Case13 Case14 a=1, b=2, c=3 a=3, b=4, c=5 a=3, b=3, c=4 a=3, b=4, c=5 1 2 3 ①,⑤0 1 2 3 ①,②,④,⑥ ①,②,④,⑦ ①,②,③

组合逻辑电路实验设计

H a r b i n I n s t i t u t e o f T e c h n o l o g y 组合逻辑电路实验设计 血型匹配情况判断电路 一、实验题目: 人的血型有A、B、AB、O四种。输血时输血者的血型与受血者血型必须符合图1中用箭头指示的授受关系。判断输血者与受血者的血型是否符合上述规定,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。(提示:用两个逻辑变量的4种取值表示输血者的血型,例如00代表A、01代表 B、10代表AB、11代表O。) 图1 二、电路设计: 方案一: 解: 1、题目分析

根据题意,确定有4个输入变量,设为X、Y、M、N;输出变量为P。 其中,用两个逻辑变量X、Y的四中取值表示输血者的血型:00代表A型、01代表B型、10代表AB型、11代表O型。 用另外两个逻辑变量M、N的四种取值表示受血者的血型:00代表A型、01代表B型、10代表AB型、11代表O型。 逻辑输出变量P代表输血者与受血者的血型符合情况:1代表血型符合,0代表血型不符合。 题目中要求用八选一数据选择器(74LS151)及与非门(74LS00)实现电路设计。 2、列写输入与输出变量真值表: 真值表如下图所示 3、逻辑表达式: 根据真值表画出卡诺图:

卡诺图如右图所示: 用八选一数据选择器(74LS151),所以输出逻辑表达式写成最小项和的形式:设X 、Y 、M 为选择变量,X 为高位。 逻辑函数P 的与或标注型表达式: P (X ,Y ,M ,N ) X Y M N X Y M N X Y M N X Y M N X Y M N =+++++ 4、比较表达式: 与标准表达式比较得:267P Nm N m(0,1,3,5)m m =+∑++ 所以,数据选择器中EN=0,0135D D D D N ==== D 2=N ,D 4=0, D 6=D 7=1, 5、逻辑电路图:

实验二 白盒测试 (2)

实验二白盒测试 一、实验目的 1、掌握白盒测试的基本方法; 2、掌握白盒测试用例的编写。 二、实验要求 1、根据给出的程序分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条件组合测试、路径测试设计测试用例。 2、输入数据进行测试,填写测试用例。 三、实验内容 1、用C++或者Java编写一个类,完成下面函数的功能,并编写另外一个类,调用该方法:void DoWork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; //语句块1 j=sqrt(k); } if((x= =4)||(y>5)) { j=x*y+10; //语句块2 } j=j%3; //语句块3 } 要求: (1)画出上面函数的流程图。

(2)分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条 件组合测试、路径测试设计测试用例(注意测试用例的格式)。 语句覆盖: 用例:x=4,y=6,z=8 判定覆盖: 用例1:x = 4 , y = 6 , z = 8 用例2:x = 3 , y = 5 , z = 8 条件覆盖: 用例1:x=3,y=8,z=8 用例2:x=4,y=5,z=13 判定-条件覆盖: 用例1:x=4,y=8,z=8 用例2:x=3,y=5,z=13 条件组合测试 用例1:x=4,y=8,z=8 用例2:x=4,y=3,z=13

用例3:x=2,y=8,z=8 用例4:x=2,y=3,z=13 路径测试: 用例1:x=4,y=8,z=8 用例2:x=4,y=3,z=13 用例3:x=6,y=2,z=8 用例4:x=2,y=3,z=13 (3)执行每个测试用例,执行完毕后填写测试用例。 2、用C++或者Java编写“计算被输入日期是星期几,例如公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几。”测试用例; 程序说明: A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数; B闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)。 要求: (1)分析各种输入情况,结合程序输出结果,并给出详细测试用例; (2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例; (3)决策表测试法; ①列出输入变量month、 day、 year的有效等价类;(条件桩) ②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩) ③画出决策表(简化); ④根据决策表,给出详细测试用例。 代码: #include using namespace std; int main(){ int x=1,year, month, day; while(x) { int i, num=0,total, total1, total2; cout<<"请输入年份: "; cin>>year; cout<<"请输入月份: "; cin>>month; cout<<"请输入日期: "; cin>>day; //求得输入年份之前一年末的总天数 for(i=1; i

[求职简历]白盒测试实验报告

软件测试实验二 一:实验目的 1.通过实验熟悉测试用例设计 2.通过实验熟悉白盒测试 二:实验内容1: 1.用java编写一个类,完成下面函数的功能,并编写另外一个类,调用该方法: void DoWork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; //语句块1 j=sqrt(k); } if((x= =4)||(y>5)) { j=x*y+10; //语句块2 } j=j%3; //语句块3 } 试验内容2: 1、画出上面函数的流程图。 2、分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条件组合测试、路径测试设计测试用例(注意测试用例的格式)。 3、执行每个测试用例,执行完毕后填写测试用例。

二:程序 public class Test { static void dowork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; j=(int)Math.sqrt(k); } if((x==4)||(y>5)) { j=x*y+10; } j=j%3; System.out.println("k="+k); x>3 and z<10 x==4 or y>5 k=x*y-1 j=sqrt(k) T F T a c e b j=j%3 j=x*y+10 F d

System.out.println("j="+j); } public static void main(String[] args) { dowork(4,6,5); } } 三:设计测试用例 1.语句覆盖 x=4,y=6,z=5 2.判定覆盖 x,y,z (x>3) and (z<10) (x=4) or (y>5) 执行路径4,6,7 真真ace 2,5,10 假假abd 3.条件覆盖 x>3为真,记为T1 x>3为假,记为-T1 z<10为真,记为T2 z<10为假,记为-T2 x=4为真,记为T3 x=4为假,记为-T3 y>5为真,记为T4 y>5为假,记为-T4 x,y,z 执行路径覆盖条件覆盖分支3,5,5 abe -T1,T2,-T3,T4 be 4,4,11 abe T1,-T2,T3,-T4 be 4.判定—条件覆盖 x,y,z 执行路径覆盖条件覆盖分支 1 4, 4, 5 ace T1,T2,T3,T4 ce 2 2, 6,11 abd -T1,-T2,-T3,-T4 bd 5.条件组合覆盖 1.X>3,Z<10,记为T1,T2 2.X>3,Z>=10,记为T1,-T2 3.X<=3,Z<10,记为–T1,T2 4.X<=3,Z>=10记为–T1,-T2 5.X=4,Y>5 记为T3,T4

实验六 组合逻辑电路的设计与测试

实验六组合逻辑电路的设计与测试 1.实验目的 (1)掌握组合逻辑电路的设计方法; (2)熟悉基本门电路的使用方法。 (3)通过实验,论证所设计的组合逻辑电路的正确性。 2.实验设备与器材 1)数字逻辑电路实验箱,2)万用表,3)集成芯片74LS00二片。 3.预习要求 (1)熟悉组合逻辑电路的设计方法; (2)根据具体实验任务,进行实验电路的设计,写出设计过程,并根据给定的标准器件画出逻辑电路图,准备实验; (3)使用器件的各管脚排列及使用方法。 4.实验原理 数字电路中,就其结构和工作原理而言可分为两大类,即组合逻辑电路和时序逻辑电路。组合逻辑电路输出状态只决定于同一时刻的各输入状态的组合,与先前状态无关,它的基本单元一般是逻辑门;时序逻辑电路输出状态不仅与输入变量的状态有关,而且还与系统原先的状态有关,它的基本单元一般是触发器。 (1)组合电路是最常用的逻辑电路,可以用一些常用的门电路来组合完成具有其他功能的门电路。设计组合逻辑电路的一般步骤是: 1)根据逻辑要求,列出真值表; 2)从真值表中写出逻辑表达式; 3)化简逻辑表达式至最简,并选用适当的器件; 4)根据选用的器件,画出逻辑电路图。 逻辑化简是组合逻辑设计的关键步骤之一。为了使电路结构简单和使用器件较少,往往要求逻辑表达式尽可能化简。由于实际使用时要考虑电路的工作速度和稳定可靠等因素,在较复杂的电路中,还要求逻辑清晰易懂,所以最简设计不一定是最佳的。但一般来说,在保证速度、稳定可靠与逻辑清楚的前提下,尽量使用最少的器件,以降低成本。 (2)与非门74LS00芯片介绍 与非门74LS00一块芯片内含有4个互相独立的与非门,每个与非门有二个输入端。其逻辑表达式为Y=AB,逻辑符号及引脚排列如图6-1(a)、(b)所示。 (a)逻辑符号(b)引脚排列 图6-1 74LS20逻辑符号及引脚排列 (3)异或运算的逻辑功能 当某种逻辑关系满足:输入相同输出为“0”,输入相异输出为“1”,这种逻辑关系称为“异或”逻辑关系。 (4)半加器的逻辑功能 在加法运算中,只考虑两个加数本身相加,不考虑由低位来的进位,这种加法器称为半加器。 5.实验内容 (1)用1片74LS00与非门芯片设计实现两输入变量异或运算的异或门电路 要求:设计逻辑电路,按设计电路连接后,接通电源,验证运算逻辑。输入端接逻辑开关输出插口,以提供“0”与“1”电平信号,开关向上,输出逻辑“1”,向下为逻辑“0”;电路的输出端接由LED发光二极管组成的0-1指示器的显示插口,LED亮红色为逻辑“1”,亮绿色为逻辑“0”。接线后检查无误,通电,用万用表直流电压20V档测量输入、输出的对地电压,并观察输出的LED颜色,填入表6-1。

实验1-白盒测试实验报告

实验1-白盒测试实验报告

第一章白盒测试 实验1 语句覆盖 【实验目的】 1、掌握测试用例的设计要素和关键组成部 分。 2、掌握语句覆盖标准,应用语句覆盖设计测 试用例。 3、掌握语句覆盖测试的优点和缺点。 【实验原理】 设计足够多的测试用例,使得程序中的每个语句至少执行一次。 【实验内容】 根据下面提供的程序,设计满足语句覆盖的测试用例。 1、程序1源代码如下所示: #include void main()

{ int b; int c; int a; if(a*b*c!=0&&(a+b>c&&b+c>a&&a+c>b)) { if(a==b&&b==c) { cout<<"您输入的是等边三角形!"; } else if((a+b>c&&a==b)||(b+c>a&&b==c)||(a+c> b&&a==c)) { cout<<"您输入的是等腰三角形!"; } else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a* a+c*c==b*b)) { cout<<您输入的是直角三角形"; }

else { cout <<”普通三角形”; } } else { cout<<"您输入的不能构成一个三角形!"; } } 输入数据预期输出 A=6,b=7,c=8普通三角形 A=3,b=4,c=5直角三角形 A=4,b=2,c=4等腰三角形 A=1,b=1,c=1等边三角形 A=20,b=10,c=1非三角形 2、程序2源代码如下所示: void DoWork(int x,int y,int z) {

组合逻辑电路实验

实验一基本门电路的功能和特性及组合逻辑电路实验(2学时) 实验目的及要求:掌握常用的集成门电路的逻辑功能与特性;掌握各种门电路的逻辑符号;了解集成电路的外引线排列及其使用方法;学习组合逻辑电路的设计及测试方法。 实验题目:部分TTL门电路逻辑功能验证及组合逻辑电路设计之全加器或全减器。 实验二数值比较器、数据选择器(3学时) 实验目的及要求:掌握数值比较器和数据选择器的逻辑功能;学习组合逻辑电路的设计及测试方法。用7486和7400、7404搭出一位数值比较器,画出其设计逻辑电路图,并验证它的运算;用74153选择器实现多数据表决器,要求3个输入中有2个或3个为1时,输出Y为高电平,否则Y为低电平。画出电路图并简述实现原理。用7400、7404、7432实现该多数表决器。 实验题目:组合逻辑电路设计之数值比较器和数据选择器 实验三计数器的应用(3学时) 实验目的及要求:掌握集成二进制同步计数器74161的逻辑功能;掌握任意进制计数器的构成方法;学习时序逻辑电路的设计及测试方法。用74161搭建一个60进制计数器电路,并将结果输出到7段数码管显示出来,画出其设计逻辑电路图并验证它的功能。 实验题目:时序逻辑电路设计之计数器的应用 74LS00: QUAD 2-INPUT NAND GATE

74LS04: HEX INVERTER 74LS32:Quad 2-Input OR Gates

74LS74: Dual Positive-Edge-Triggered D Flip-Flops with Preset, Clear and Complementary Outputs 74LS153: Dual 4-Input Multiplexer with common select inputs and individual enable inputs 74LS161: Synchronous 4-Bit Binary Counters

实验一组合逻辑电路设计

实验一 组合逻辑电路的设计 一、实验目的: 1、 掌握组合逻辑电路的设计方法。 2、 掌握组合逻辑电路的静态测试方法。 3、 加深FPGA 设计的过程,并比较原理图输入和文本输入的优劣。 4、 理解“毛刺”产生的原因及如何消除其影响。 5、 理解组合逻辑电路的特点。 二、实验的硬件要求: 1、 EDA/SOPC 实验箱。 2、 计算机。 三、实验原理 1、组合逻辑电路的定义 数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。 通常组合逻辑电路可以用图1.1所示结构来描述。其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。输入和输出之间的逻辑函数关系可用式1.1表示: 2、组合逻辑电路的设计方法 组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。 在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。组合电路的基本设计步骤可用图1.2来表示。 3、组合逻辑电路的特点及设计时的注意事项 ①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。(实际电路中 图 1.1 组合逻辑电路框图 L0=F0(X0,X1,···Xn) · · · Lm=F0(X0,X1,···Xn) (1.1) 图 1.2 组合电路设计步骤示意图图

数电实验报告 实验二 组合逻辑电路的设计

实验二组合逻辑电路的设计 一、实验目的 1.掌握组合逻辑电路的设计方法及功能测试方法。 2.熟悉组合电路的特点。 二、实验仪器及材料 a) TDS-4数电实验箱、双踪示波器、数字万用表。 b) 参考元件:74LS86、74LS00。 三、预习要求及思考题 1.预习要求: 1)所用中规模集成组件的功能、外部引线排列及使用方法。 2) 组合逻辑电路的功能特点和结构特点. 3) 中规模集成组件一般分析及设计方法. 4)用multisim软件对实验进行仿真并分析实验是否成功。 2.思考题 在进行组合逻辑电路设计时,什么是最佳设计方案? 四、实验原理 1.本实验所用到的集成电路的引脚功能图见附录 2.用集成电路进行组合逻辑电路设计的一般步骤是: 1)根据设计要求,定义输入逻辑变量和输出逻辑变量,然后列出真值表; 2)利用卡络图或公式法得出最简逻辑表达式,并根据设计要求所指定的门电路或选定的门电路,将最简逻辑表达式变换为与所指定门电路相应的形式; 3)画出逻辑图; 4)用逻辑门或组件构成实际电路,最后测试验证其逻辑功能。 五、实验内容 1.用四2输入异或门(74LS86)和四2输入与非门(74LS00)设计一个一位全加器。 1)列出真值表,如下表2-1。其中A i、B i、C i分别为一个加数、另一个加数、低位向本位的进位;S i、C i+1分别为本位和、本位向高位的进位。 2)由表2-1全加器真值表写出函数表达式。

3)将上面两逻辑表达式转换为能用四2输入异或门(74LS86)和四2输入与非门(74LS00)实现的表达式。 4)画出逻辑电路图如图2-1,并在图中标明芯片引脚号。按图选择需要的集成块及门电路连线,将A i、B i、C i接逻辑开关,输出Si、Ci+1接发光二极管。改变输入信 号的状态验证真值表。 2.在一个射击游戏中,每人可打三枪,一枪打鸟(A),一枪打鸡(B),一枪打兔子(C)。 规则是:打中两枪并且其中有一枪必须是打中鸟者得奖(Z)。试用与非门设计判断得奖的电路。(请按照设计步骤独立完成之) 五、实验报告要求: 1.画出实验电路连线示意图,整理实验数据,分析实验结果与理论值是否相等。 2.设计判断得奖电路时需写出真值表及得到相应输出表达式以及逻辑电路图。 3.总结中规模集成电路的使用方法及功能。

白盒测试实验报告-范例

实验报告书 实验一白盒测试 学生姓名:李庆忠 专业:计算机科学与技术学号:1341901317

白盒测试实验报告 一实验内容 1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法; 2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合 覆盖、路径覆盖进行测试。 3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力; 4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例, 测试报告等) 二实验原理 白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。其又称为结构测试。 流程图如下图所示 实验代码 #include"stdio.h"

int main() { int x,y,z; scanf("%d%d",&x,&y); if((x>0)&&(y>0)) { z=x+y+10; } else { z=x+y-10; } if(z<0) { z=0; printf("%d\n",z); } else { printf("%d\n",z); } return 0; } 语句覆盖是指选择足够的测试,使得程序中每个语句至少执行一次。如选择测试x=1,y=1和x=1,y=-1可覆盖所有语句。 判定覆盖是指选择足够的测试,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。选择测试x=1,y=1和x=1,y=-1可覆盖所有判定。 条件覆盖是指选择语句多数的测试,使得程序判定中的每个条件能获得各种不同的结果。选择测试x=1,y=1和x=-1,y=-1可覆盖所有条件。 判定/条件覆盖是指选择足够多的测试,使得程序判定中每个条件取得条件可能的值,并使每个判定取到各种可能的结果(每个分支都通过一次)。即满足条件覆盖,又满足判定覆盖。选择测试x=1,y=1和x=-1,y=-1可覆盖所有判定/条件。 条件组合覆盖是指选择足够的测试,使得每个判定中的条件的各种可能组合都至少出现一次(以判定为单位找条件组合)。 注:a,条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。 b,不同的判断语句内的条件取值之间无需组合。 c,对于但条件的判断语句,只需要满足自己的所有取值即可。 选择测试用例x=1,y=1;x=1,y=-1,x=-1,y=1和x=-1,y=-1可覆盖所有条件组合。 路径覆盖是分析软件过程流的通用工具,有助分离逻辑路径,进行逻辑覆盖的测试,所用的流程图就是讨论软件结构复杂度时所用的流程图。

组合逻辑电路设计实验报告

组合逻辑电路设计实验报告 1.实验题目 组合电路逻辑设计一: ①用卡诺图设计8421码转换为格雷码的转换电路。 ②用74LS197产生连续的8421码,并接入转换电路。 ③记录输入输出所有信号的波形。 组合电路逻辑设计二: ①用卡诺图设计BCD码转换为显示七段码的转换电路。 ②用74LS197产生连续的8421码,并接入转换电路。 ③把转换后的七段码送入共阴极数码管,记录显示的效果。 2.实验目的 (1)学习熟练运用卡诺图由真值表化简得出表达式 (2)熟悉了解74LS197元件的性质及其使用 3.程序设计 格雷码转化: 真值表如下:

卡诺图: 1 010100D D D D D D G ⊕=+= 2 121211D D D D D D G ⊕=+=

3232322D D D D D D G ⊕=+= 33D G = 电路原理图如下: 七段码显示: 真值表如下: 卡诺图:

2031020231a D D D D D D D D D D S ⊕++=+++= 10210102b D D D D D D D D S ⊕+=++= 201c D D D S ++= 2020101213d D D D D D D D D D D S ++++= 2001e D D D D S +=

2021013f D D D D D D D S +++= 2101213g D D D D D D D S +++= 01213g D D D D D S +⊕+= 电路原理图如下:

4.程序运行与测试 格雷码转化: 逻辑分析仪显示波形:

组合逻辑电路实验报告

组合逻辑电路实验报告

图6-1:O型静态险象 如图6-1所示电路 其输出函数Z=A+A,在电路达到稳定时,即静态时,输出F 总是1。然而在输入A变化时(动态时)从图6-1(b)可见,在输出Z的某些瞬间会出现O,即当A经历1→0的变化时,Z出现窄脉冲,即电路存在静态O型险象。 进一步研究得知,对于任何复杂的按“与或”或“或与”函数式构成的组合电路中,只要能成为A+A或AA的形式,必然存在险象。为了消除此险象,可以增加校正项,前者的校正项为被赋值各变量的“乘积项”,后者的校正项为被赋值各变量的“和项”。 还可以用卡诺图的方法来判断组合电路是否存在静态险象,以及找出校正项来消除静态险象。 实验设备与器件 1.+5V直流电源 2.双踪示波器 3.连续脉冲源 4.逻辑电平开关 5.0-1指示器

(3)根据真值表画出逻辑函数Si、Ci的卡诺图 (4)按图6-5要求,选择与非门并接线,进行测试,将测试结果填入下表,并与上面真值表进行比较逻辑功能是否一致。 4.分析、测试用异或门、或非门和非门组成的全加器逻辑电路。 根据全加器的逻辑表达式

全加和Di =(Ai⊕Bi)⊕Di-1 进位Gi =(Ai⊕Bi)·Di-1+Ai·Bi 可知一位全加器可以用两个异或门和两个与门一个或门组成。(1)画出用上述门电路实现的全加器逻辑电路。 (2)按所画的原理图,选择器件,并在实验箱上接线。(3)进行逻辑功能测试,将结果填入自拟表格中,判断测试是否正确。 5.观察冒险现象 按图6-6接线,当B=1,C=1时,A输入矩形波(f=1MHZ 以上),用示波器观察Z输出波形。并用添加校正项方法消除险象。

最新软件测试白盒测试实验报告

7.使用白盒测试用例设计方法为下面的程序设计测试用例: ·程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 ·程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,拿出其中4个称,两边分别放2个球;如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。 【源程序】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace Test3_7 { [TestFixture] public class TestGetMinValue { [Test] public void AddTwoNumbers() { Random r = new Random(); int n; int[] a=new int[10]; n = r.Next(0, 9); for (int i = 0; i < a.Length; i++) { if (i == n) a[i] = 5; else a[i] = 10; } GetMin gm = new GetMin(); Assert.AreEqual(n,gm.getMinvalue(a)); }

} public class GetMin { public int getMinvalue(int[] m) { double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++) { m1 = m1 + m[i]; } for (int i = 5; i < 10; i++) { m2 = m2 + m[i]; } if (m1 < m2) { m3 = m[1] + m[0]; m4 = m[3] + m[4]; if (m3 > m4) { if (m[3] > m[4]) return 4; else return 3; } else if (m3 < m4) { if (m[0] > m[1]) return 1; else return 0; } else return 2; } else { m3 = m[5] + m[6]; m4 = m[8] + m[9]; if (m3 < m4) { if (m[5] > m[6]) return 6;

实验一组合逻辑电路设计

电子信息工程晓旭 2011117147 实验一组合逻辑电路设计(含门电路功能测试) 一.实验目的 1掌握常用门电路的逻辑功能。 2掌握用小规模集成电路设计组合逻辑电路的方法。 3掌握组合逻辑电路的功能测试方法。 二.实验设备与器材 数字电路实验箱一个 双踪示波器一部 稳压电源一部 数字多用表一个 74LS20 二4 输入与非门一片 74LS00 四2 输入与非门一片 74LS10 三3 输入与非门一片 三 .实验任务 1对74LS00,74LS20逻辑门进行功能测试。静态测试列出真值表,动态测试画出波形图,并说明测试的门电路功能是否正常。 2分析测试1.7中各个电路逻辑功能并根据测试结果写出它们的逻辑表达式。 3设计控制楼梯电灯的开关控制器。设楼上,楼下各装一个开关,要求两个开关均可以控制楼梯电灯。 4某公司设计一个优先级区分器。该公司收到有A,B,C,三类,A,类的优先级最高,B 类次之,C类最低。到达时,其对应的指示灯亮起,提醒工作人员及时处理。当不同类的同时到达时,对优先级最高的先做处理,其对应的指示灯亮,优先级低的暂不理会。按组合逻辑电路的一般设计步骤设计电路完成此功能,输入输出高低电平代表到

实验一: (1)74LS00的静态逻辑功能测试 实验器材:直流电压源,电阻,发光二极管,74LS00,与非门,开关,三极管 实验目的:静态逻辑功能测试用来检查门电路的真值表,确认门电路的逻辑功能正确与否 实验过程:将74LS00中的一个与非门的输入端A,B分别作为输入逻辑变量,加高低电平,观测输出电平是否符合真值表描述功能。 电路如图1: 图1 真值表1.1: 实验问题:与非门的引脚要连接正确,注意接地线及直流电源 实验结果:由二极管的发光情况可判断出74LS00 实现二输入与非门的功能 (2)71LS00的动态逻辑功能测试 实验器材:函数发生器,示波器,74LS00,与非门,开关,直流电压源 实验目的:测试74LS00与非门的逻辑功能 实验容:动态测试适合用于数字系统中逻辑功能的检查,测试时,电路输入串行数字

数字电路组合逻辑电路设计实验报告

实验三组合逻辑电路设计(含门电路功能测试)

一、实验目的 1.掌握常用门电路的逻辑功能 2.掌握小规模集成电路设计组合逻辑电路的方法 3.掌握组合逻辑电路的功能测试方法 二、实验设备与器材 Multisim 、74LS00 四输入2与非门、示波器、导线 三、实验原理 TTL集成逻辑电路种类繁多,使用时应对选用的器件做简单逻辑功能检查,保证实验的顺利进行。 测试门电路逻辑功能有静态测试和动态测试两种方法。静态测试时,门电路输入端加固定的高(H)、低电平,用示波器、万用表、或发光二极管(LED)测出门电路的输出响应。动

态测试时,门电路的输入端加脉冲信号,用示波器观测输入波形与输出波形的同步关系。 下面以74LS00为例,简述集成逻辑门功能测试的方法。74LS00为四输入2与非门,电路图如3-1所示。74LS00是将四个二输入与非门封装在一个集成电路芯片中,共有14条外引线。使用时必须保证在第14脚上加+5V电压,第7脚与底线接好。 整个测试过程包括静态、动态和主要参数测试三部分。 表3-1 74LS00与非门真值表 1.门电路的静态逻辑功能测试 静态逻辑功能测试用来检查门电路的真值表,确认门电路的逻辑功能正确与否。实验时,可将74LS00中的一个与非门的输入端A、B分别作为输入逻辑变量,加高、低电平,观测输出电平是否符合74LS00的真值表(表3-1)描述功能。 测试电路如图3-2所示。试验中A、B输入高、低电平,由数字电路实验箱中逻辑电平产生电路产生,输入F可直接插至逻辑电平只是电路的某一路进行显示。

仿真示意 2.门电路的动态逻辑功能测试 动态测试用于数字系统运行中逻辑功能的检查,测试时,电路输入串行数字信号,用示波器比较输入与输出信号波形,以此来确定电路的功能。实验时,与非门输入端A加一频率为

实验三组合逻辑电路

实验三组合逻辑电路(常用门电路、译码器和数据选择器) 一、实验目的 1.掌握组合逻辑电路的设计方法 2.了解组合逻辑电路的冒险现象与消除方法 3.熟悉常用门电路逻辑器件的使用方法 4.熟悉用门电路、74LS138和74LS151进行综合性设计的方法 二、实验原理及实验资料 (一)组合电路的一般设计方法 1.设计步骤 根据给出的实际逻辑问题,求出实现这一逻辑功能的最简单逻辑电路,这就是设计组合逻辑电路时要完成的工作。组合逻辑电路的一般设计步骤如图所示。 图组合逻辑电路的一般设计步骤 设计组合逻辑电路时,通常先将实际问题进行逻辑抽象,然后根据具体的设计任务要求列出真值表,再根据器件的类型将函数式进行化简或变换,最后画出逻辑电路图。 2. 组合电路的竞争与冒险(旧实验指导书P17~20) (二)常用组合逻辑器件 1.四二输入与非门74LS00 74LS00为双列直插14脚塑料封装,外部引脚排列和内部逻辑结构如图所示。它共有四个独立的二输入“与非”门,每个门的构造和逻辑功能相同。 图 74LS00引脚排列及内部逻辑结构 2.二四输入与非门74LS20

74LS20为双列直插14脚塑料封装,外部引脚排列和内部逻辑结构如图所示。它共有两个独立的四输入“与非”门,每个门的构造和逻辑功能相同。 图 74LS20引脚排列及内部逻辑结构 3.四二输入异或门74LS86 74LS86为双列直插14脚塑料封装,外部引脚排列和内部逻辑结构如图所示。它共有四个独立的二输入“异或”门,每个门的构造和逻辑功能相同。 图 74LS86引脚排列及内部逻辑结构 3.3线-8线译码器74LS138 74LS138是集成3线-8线译码器,其功能表见表。它的输出表达式为 i A B i Y G G G m 122(i =0,1,…7;m i 是最小项),与基本门电路配合使用,它能够实现任何三变量的逻辑函数。74LS138为双列直插16脚塑料封装,外部引脚排列如图所示。

组合逻辑电路的设计实验报告

中国石油大学现代远程教育 电工电子学课程实验报告 所属教学站:青岛直属学习中心 姓名:杜广志学号: 年级专业层次:网络16秋专升本学期: 实验时间:2016-11-05实验名称:组合逻辑电路的设计 小组合作:是○否●小组成员:杜广志 1、实验目的: 学习用门电路实现组合逻辑电路的设计和调试方法。 2、实验设备及材料: 仪器:实验箱 元件:74LS00 74LS10 3、实验原理: 1.概述 组合逻辑电路又称组合电路,组合电路的输出只决定于当时的外部输入情况,与电路过去状态无关。因此,组合电路的特点是无“记忆性”。在组成上组合电路的特点是由各种门电路连接而成,而且连接中没有反馈线存在。所以各种功能的门电路就是简单的组合逻辑电路。 组合逻辑电路的输入信号和输出信号往往不止一个,其功能描述方法通常有函数表达式、真值表、卡诺图和逻辑图等几种。 组合逻辑电路的分析与设计方法,是立足于小规模集成电路分析和设计的基本方法之一。 2.组合逻辑电路的分析方法 分析的任务是:对给定的电路求解其逻辑功能,即求出该电路的输出与输入之间的逻辑关系,通常是用逻辑式或真值表来描述,有时也加上必须的文字说明。 分析的步骤: (1)逐级写出逻辑表达式,最后得到输出逻辑变量与输入逻辑变量之间的逻辑函数式。 (2)化简。 (3)列出真值表。 (4)文字说明 上述四个步骤不是一成不变的。除第一步外,其它三步根据实际情况的要求而采用。 3.组合逻辑电路的设计方法 设计的任务是:由给定的功能要求,设计出相应的逻辑电路。 设计的步骤; (1)通过对给定问题的分析,获得真值表。 在分析中要特别注意实际问题如何抽象为几个输入变量和几个输出变量之间的逻辑关系问题,其输出变量之间是否存在约束关系,从而获得真值表或简化

白盒测试实验报告

白盒测试实验报告 一实验内容 1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法; 2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合 覆盖、路径覆盖进行测试。 3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力; 4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例, 测试报告等) 二实验原理 白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。其又称为结构测试。 对于该实验的例子给出其流程图如下图所示,我们来了解白盒测试的基本技术和方法。 语句覆盖是指选择足够的测试用例,使得程序中每个语句至少执行一次。如上例选择测

试用例x=1,y=1和x=1,y=-1可覆盖所有语句。 判定覆盖是指选择足够的测试用例,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。选择测试用例x=1,y=1和x=1,y=-1可覆盖所有判定。 条件覆盖是指选择语句多数的测试用例,使得程序判定中的每个条件能获得各种不同的结果。选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有条件。 判定/条件覆盖是指选择足够多的测试用例,使得程序判定中每个条件取得条件可能的值,并使每个判定取到各种可能的结果(每个分支都通过一次)。即满足条件覆盖,又满足判定覆盖。选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有判定/条件。 条件组合覆盖是指选择足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次(以判定为单位找条件组合)。 注:a,条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。 b,不同的判断语句内的条件取值之间无需组合。 c,对于但条件的判断语句,只需要满足自己的所有取值即可。 选择测试用例x=1,y=1;x=1,y=-1,x=-1,y=1和x=-1,y=-1可覆盖所有条件组合。 路径覆盖是分析软件过程流的通用工具,有助分离逻辑路径,进行逻辑覆盖的测试,所用的流程图就是讨论软件结构复杂度时所用的流程图。 三实验方法 1、语句覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=1,y=-1 0 F T acdf 2、判定覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=1,y=-1 0 F T acdf 3、条件覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=-1,y=-1 0 T T acdf 4、判定/条件覆盖 测试用例输入输出magic 判定M的取值判定N的取值覆盖路径 x=1,y=1 12 T F abef x=-1,y=-1 0 T T acdf 5、条件组合覆盖

相关主题
文本预览
相关文档 最新文档