EDA实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:0120704180215 课程成绩:
武汉理工大学
学生实验报告书
实验课程名称:电子设计EDA
开课学院:信息工程学院
指导老师姓名:华剑
学生姓名:朱晋洸
学生班级专业:信息0701
五人表决器的设计
实验目的:(1)熟悉ISP EXPERT的设计界面和设计的一般步骤
(2)了解ABEL语言的设计语法和测试向量的编写
(3)用可编程逻辑器件实现5人表决器
设计要求:在5人同时输入的情况下,当有三个或三个以上的人同意时,方案通过,反之不通过;
实验内容及步骤:
(1)运行isplever 项目管理器新建一个工程命名为VOTE.syn;
(2)建立顶层原理图文件(VOTE.sch),设计底层原理图
①添加元件
②移动并摆放整齐,然后连接导线
③为输入/输出信号命名
④为输入/输出信号添加I/O标志
⑤为输入/输出信号设置I/O端口号
⑥存盘退出图形编辑器
(3)建立ABEL源程序,并依据芯片功能编写程序(V5.abl)
(4)建立测试向量源程序,进行编译仿真,观察结果(V5.abv)
底层原理图:
五人表决器五个输入,一个输出,原理图如下所示:
ABEL源程序:
源程序的设计思路主要有两种:真值表和逻辑表达式
(1)五输入的真值表一共有32种可能,需要全部列出,较为繁琐。
(2)逻辑函数表达式相对简单:
Y=ABC+ABD+ABE+ACD+ACE+ADE+CBD+CBE+DBE+CDE
(3)程序如下:
MODULE VOTE5
A,B,C,D,E PIN;
Y PIN ISTYPE 'COM';
EQUATIONS
Y=A&B&C#A&B&D#A&B&E#A&C&D#A&C&E#A&D&E#C&B&D#C&B&E# D&B&E#C&D&E;
END
测试向量(V5.abv):
(1)测试向量的名称必须与工程(project)的名称保持一致;
(2)测试向量模块的输入输出不需要分开定义,测试时必须重复3~5个周期;(3)测试源程序:
MODULE VOTE5
A,B,C,D,E,Y PIN;
x=.X.;
TEST_VECTORS ([A,B,C,D,E]->[Y])
@repeat 69
{[1,1,0,1,1]->[x];
[0,0,1,1,1]->[x];
[0,1,0,0,1]->[x];
[0,1,0,1,1]->[x];
[0,1,1,0,0]->[x];}
END
仿真结果:
结果说明:从结果可以看出,只有当至少3个人投票(A,B,C,D,E中有三个为高电平1)时,结果才为赞成(输出Y为高电平1)
小结与建议:
通过本次实验,学习熟悉了ISP EXPERT的设计界面和设计的一般步骤,了解了ABEL语言的设计语法和测试向量的编写,并且练习用来设计五人表决器,对软件及理论知识有了实践和更深的理解。
实验中碰到了一些问题,比如命名等的要求,芯片编程的框架等,通过问题的解决,让自己获得了新的知识。
。
九九乘法表的设计
实验目的:(1)学习用isp软件设计组合逻辑电路的方法和过程
(2)学习在isp中设计多个芯片的级联
(3)用可编程逻辑器件实现九九乘法表
设计要求:输入0~9内的任意两个数,用数码管显示两个数相乘后的十进制结果
实验过程及步骤:
(1)运行isplever 项目管理器,新建一个工程,命名为CHENG.syn;
(2)建立顶层原理图文件(99tu.sch),设计底层原理图:
1)9*9 最多为1001*1001 即为四进制乘法器,输出结果最大为81=01010001B 八位二进制数,所以CFB9-1为8输入,8输出芯片;
2)由于输出结果数码显示必须为8421BCD码,所以必须对输出结果进行译码输出,81=10000001BCD 所以输出为8位,设计译码芯片TRNF为输入,8输出;
(3)模块芯片的程序设计:
MODULE CHENGFA
A3..A0,B3..B0 PIN;
S6..S0 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
2)译码电路:
算法:225的译码问题,前面已经知道100以内的译码规律:
S 当0≤S≤9时
S+6 当10≤S≤19时
S+12 当20≤S≤29时
S+18 当30≤S≤39时
S+24 当40≤S≤49时
S+30 当50≤S≤59时
S+36 当60≤S≤69时
S+40 当70≤S≤79时
S+48 当80≤S≤81时
程序:
MODULE YM
S6,S5,S4,S3,S2,S1,S0 PIN;
M7,M6,M5,M4,M3,M2,M1,M0 PIN ISTYPE 'COM'; S=[0,S6..S0];
M=[M7..M0];
EQUATIONS
WHEN (S>=0)&(S<=9) THEN M=S;
WHEN (S>=10)&(S<=19) THEN M=S+6; WHEN (S>=20)&(S<=29) THEN M=S+12; WHEN (S>=30)&(S<=39) THEN M=S+18; WHEN (S>=40)&(S<=49) THEN M=S+24; WHEN (S>=50)&(S<=59) THEN M=S+30; WHEN (S>=60)&(S<=69) THEN M=S+36; WHEN (S>=70)&(S<=79) THEN M=S+42; WHEN (S>=80)&(S<=89) THEN M=S+48;
END
测试向量的编写:
MODULE cheng
A3..A0,B3..B0,M7..M0 PIN;
A=[A3..A0];
B=[B3..B0];
M=[M7..M0];
X=.X.;
TEST_VECTORS
([A,B]->[M])
[8,9]->[X];
[8,7]->[X];
[3,2]->[X];
[1,6]->[X];
[5,4]->[X];
[6,9]->[X];
END