电子线路EDA实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一五人表决器的设计

一、实验目的

1.了解和初步掌握ISPLENVER软件的基本操作方法,Abel语言的编写。

2.加深电路设计的概念以及了解计算机辅助设计分析的过程。

二、实验内容及步骤

本实验要求利用ISPLEVER软件完成对五人表决器的设计及仿真,表决的规则是:多数胜少数。

分析题意,我们可以知道此次仿真应有五个输入端口,一个输出端口。分别设置其A、B、C、D、E为输入端口,F为输出端口。可分析:五人中任意三人通过则表决通过,故得到其逻辑表达式为:

F=ABC+ABD+ABE+ACD+ACE+ADE+BCD+BCE+BDE+CDE

实验步骤

1、打开IPSPLEVER软件,新建一个项目,命名为vote.syn。

2、在新建项目的基础上新建一个原理图文件,命名为vote51.sch。运用软件按绘制原理图如下所示:

图1:五人表决器原理图

3、在顶层原理图的基础上,为模块编写ABEL语言程序,原理图中建立了V3模块,新建立一个

程序V3.abl文件。

MODULE V3

A,B,C,D,E PIN;

F PIN ISTYPE 'com';

EQUATIONS

F=A&B&C#A&B&D#A&B&E#A&C&D#A&C&E#A&D&E#B&C&D#B&C&E#B&D&E#C &D&E;

END

4、编写此项目的仿真文件程序vote50.abv得到:

MODULE vote50

A,B,C,D,E,F PIN;

X=.X.;

TEST_VECTORS

([A,B,C,D,E]->[F])

[1,1,1,1,1]->[X];

[1,1,0,1,1]->[X];

[1,1,0,0,1]->[X];

[1,1,0,0,0]->[X];

[0,0,0,0,1]->[X];

[0,0,0,0,0]->[X];

END

5、对此项目文件进行仿真,得到仿真结果如图:

图2:实验结果仿真分析

三、实验结果分析

本次实验为五人表决器的设计,要求A、B、C、D、E五个输入中不少于三个为1,那么实

验结果输出即为1。通过分析,我们得到了表决器输出的逻辑表达式,然后根据表达式完成了VOTE项目的设计,项目设计后进行仿真得到:A、B、C、D、E全为1时则为全票通过;A、B、D、E为1,C为0时F为1;A、B、E为1,C、D为0时输出F为1;当A、B为1,C、D、E

为0时F为0;A、B、C、D为0,E为1时输出F为0;当A、B、C、D、E全为0时,则F=0;经过TEST文件来对程序检测,发现设计基本可以完成表决任务。

四、实验小结

EDA实验的第一个实验,在完成的过程中存在着操作不熟练,操作中有失误等问题。通过这

次的实验,已基本了解了ISPLEVER的操作方法,掌握了运用此软件完成电子设计的基本流程,

并且能够运用ABEL语言完成对芯片模块的程序设计。

实验二九九乘法表的设计

一、实验目的

1、了解和掌握ISPlever 软件的基本操作方法以及电子线路的程序编写和abel语言的编写。

2、通过实验,加深对电路设计概念以及计算机辅助设计分析的过程。

3、通过计算机辅助设计软件完成乘法器的设计,以此培养学生的创新能力及理论知识的应用能力。

二、实验内容及步骤

本次实验要求完成九九乘法表的设计,即要求输入0-9之间的数字相乘能够得到相应的乘积

的结果。听过分析可知要完成此项功能需要8位输入来送入乘数与被乘数,并且需要7位输出来

输出积的结果。若要明显的显示出此次的设计,还要对积进行BCD的编码转换(输入0-9时,二进制码与BCD码保持一致,故乘数不需要译码即可输出),即在乘法器的基础上再设计一个译

码转换模块完成二进制向BCD码的转换。

在实验中,可以设计A3、A2、A1、A0为被乘数的四位二进制码,B3、B2、B1、B0为乘数的四位二进制码,J7、J0为乘积的八位BCD输出码,C3、C0为乘数的BCD输出码,D3、D0

为被乘数的BCD输出码。

我们可得到乘积的各位逻辑表达式为:

S0=A0*B0

S1=A1*B0+A0*B1

S2= A2*B0 A1*B1 A0*B2

S3= A3*B0 A2*B1 A1*B2 A0*B3 S4= A3*B1 A2*B2 A1*B3 S5= A3*B2 A2*B3 S6= A3*B3

在译码的模块,需要将乘积结果的二进制码转换为BCD码,故通过分析可知在0-9内,数字的二进制码等于其BCD码;当其10-19内时,数字的BCD码等于其二进制码加上6;当其在

20-29内时,数字的BCD码则等于其二进制码加上12;并以此类推可得译码的相关逻辑表达式。实验步骤:

1、打开ISPLEVER软件,新建一个项目,并命名为mul.syn。

2、在新建的项目基础上新建一个原理图文件,并为之命名为multi.sch。用软件绘制原理图如下

所示:

图1 :九九乘法器的原理图

3、在顶层原理图的基础上,编写ABEL语言程序,在原理图中设计了两个模块,即MUL模块和TRA模块。故应对这两模块进行逻辑功能设定,则可得如下程序:

乘法器编程MUL.abl。

MODULE MUL

A0,A1,A2,A3,B0,B1,B2,B3 PIN;

S0,S1,S2,S3,S4,S5,S6 PIN ISTYPE 'COM';

S=[S6..S0];

P3=[0,0,0,A3*B0,A2*B0,A1*B0,A0*B0];

P2=[0,0,A3*B1,A2*B1,A1*B1,A0*B1,0];

P1=[0,A3*B2,A2*B2,A1*B2,A0*B2,0,0];

P0=[A3*B3,A2*B3,A1*B3,A0*B3,0,0,0];

EQUATIONS

S=P3+P2+P1+P0;

END

译码器输出部分编程TRA.abl。

MODULE TRA

A0,A1,A2,A3,A4,A5,A6 PIN;

Q7..Q0 PIN ISTYPE 'COM';

A=[0,A6..A0];

Q=[Q7..Q0];

EQUATIONS

WHEN (A>=0)&(A<=9) THEN Q=A;

WHEN (A>=10)&(A<=19) THEN Q=A+6;

WHEN (A>=20)&(A<=29) THEN Q=A+12;

WHEN (A>=30)&(A<=39) THEN Q=A+18;

WHEN (A>=40)&(A<=49) THEN Q=A+24;

WHEN (A>=50)&(A<=59) THEN Q=A+30;

WHEN (A>=60)&(A<=69) THEN Q=A+36;

WHEN (A>=70)&(A<=79) THEN Q=A+42;

WHEN (A>=80)&(A<=89) THEN Q=A+48;

END

4、在完成功能设计和编程的基础上,编写仿真文件Untitled2.abv 来对程序进行检测。MODULE Untitled2

A3..A0,B3..B0,C3..C0,BC3..BC0,J7..J0 PIN;

X=.X.;

A=[A3..A0];

B=[B3..B0];

J=[J7..J0];

TEST_VECTORS

相关文档
最新文档