EDA实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 PROTEL 99原理图的绘制
一、实验目的
(1)熟练掌握PROTEL99的基本操作。
(2)学会绘制电路原理图。
(3)掌握电路图的ERC校验、电路错误修改和网络表的生成。
二、实验内容
(1)新建文档,设置参数的基本操作。
进入ADVANCED SCHEMATIC,新建一张原理图,并设置它的工作空间参数和文档参数。
其中,电路图大小设置为A4,横向放置,标题栏选择标准标题栏,栅格大小均选为20mil。
(2)装入元器件库。
执行相关命令,
(3)放置元器件。
按照如图3-1所示,从元器件库中放置相应的元器件到电路图中,并对元器件做移动,旋转等操作,同时进行属性设置。
其中电容的封装采用RAD0.2,电阻的封装采用AXIAL0.4,各元器件的元器件标号及标称值均采用小四号宋体,完成后将文件存盘。
(4)全局修改。
利用SCH的全局修改功能,将图3-1中电阻的标号和标称值均由小四号宋体改为五号黑体,并将电阻的编号R*由大写改为小写r*,完成后将文件改名存盘。
(5)绘制电源电路图。
按照如图3-1所示,绘制电源电路的原理图,并填上正确的封装,完成后将文件存盘。
(6)对完成的电路图进行ERC校验,若有错误,则加以改正,直到校验无误
(1)为什么要给元器件定义封装形式?是否所有原理图中的元器件都要定义封装形式?
(2)放置元器件时系统提示没有打开元器件库,应如何解决?
(3)使用网络标号时应注意哪些问题?
(4)总线和一般连线有何区别?使用中应注意哪些问题?
实验二单面板的制作
一、实验目的
(1)熟练掌握PCB 的基本操作。
(2)基本掌握PCB元器件库的编辑方法。
(3)掌握单面板的制作。
(4)绘制出电源PCB图(单面板)
二、实验内容
(1) 进入SCH ,打开在实验一中己完成的电源电路的原理图(图1-1),设置好电路图中各元器件的封装,执行相关菜单命令,生成此电路图的网络表。
(2) 新建一个PCB文件,打开标准元器件库,设置好工作空间参数和文档参数,其中信号层选择底层,将此文件更名为dydl.PCB保存.
(3) 在禁止布线层上绘制电路版图的边框,给边框加上尺寸标注.
(4) 调入电源电路的网络表,若网络表中存在错误,则加以修改,完全正确后,按下EXECUTE按钮确定.
(5) 通过自动布局以及人工调整的方法,合理布局元器件,布局调整时应尽量减少飞线交叉。
(6) 设置设计规则,如图 2-1所示。
其中,电源以及接地线要求的铜膜线宽最小为30mil,最大为40mil,其余的线宽均为10mil.
图2-1 设置设计规则
(7) 执行手动布线,并参考自动布线。
(8) 在PCB 中,生成此电路板图的网络表,重新回到SCH 中,与原理图的网络表进行比较,若发现不符,寻找原因,加以改正。
(9) 进行DRC检查,生成报告文件,若有错误,则加以修改。
(10)给电路板图加上铺铜,铺铜与地相连,并且去除死铜,最后完成电源电路印制电路图,将文件存盘退出.
(11)打印电路图
三、思考题
(1)简述自动布局的步骤。
(2)自动布线前,要进行哪些设置?
(3)何种类型的电路,在设计印制板时要使用铺铜?
四、作业要求:
1.要求制作直流稳压电源系统实物,能输出+5V、-5V、+12V、-12V、+3.3V
2.要求在实物上敷铜表示出班级、姓名、学号、制作日期(没有者不计成绩)。
图3-2 调出元件
74390
图3-3 从Help中了解74390的详
细功能
实验三有时钟使能的两位十进制计数器原理图输入设计
一、实验目的
1、掌握带有时钟输入的数字电路原理图输入设计方法;
2、进一步掌握时序波形的真;
3、了解VHDL初步的基本知识。
二、实验原理与步骤
1、实验步骤见第五章第一节介绍的方法。
2、电路设计原理如下:
频率计设计的基本步骤与上一个实验介绍的完全一样,只是需要考虑从哪一个电路模块开始。
图3-1 用74390设计一个有时钟使能的两位十进制计数器原理
1、设计电路原理图,频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。
为此这里拟用一个双十进制计数74390和其它一些辅助元件来完成。
电路原理图如图2-1所示。
图中,74390连接成两个独立的十进制计数器,待测频率信号clk通过一个与门进入74390的计数器1的时钟输入端
1CLKA,与门的另一端由计数使能信号enb控制:当enb = '1' 时允许计数;enb = '0' 时禁止计数。
计数器1的4位输出q[3]、q[2]、q[1]和q[0]并成总
线表达方式即q[3..0],由图2-1左下角的OUTPUT输出端口向外输出计数值,
同时由一个4输入与门和两个反相器构成进位信号进入第2个计数器的时钟输
入端2CLKA。
第2个计数器的4位计数输出是q[7]、q[6]、q[5]和q[4],总线输出信号是
q[7..4]。
这两个计数器的总的进位信号,即可用于扩展输出的进位信号由一个
6输入与门和两个反相器产生,由cout输出。
clr是计数器的清零信号。
2、计数器电路实现,在此首先从实现图3-1所示的电路的绘制和测试开
始,用鼠标双击“Enter Symbol”窗中Symbol Libraries栏的
e:\maxplus2\max2lib\mf的宏功能元件库,于是可以在Symbol Files栏中看
到绝大多数74系列的元件(图3-2)。
这些器件的详细功能及其它们的逻辑真
值表可以通过查阅“Help”选项来获得。
为了查阅74390的功能,可如图3-3
所示,在Help菜单中选Old-Style Macrofunctions项,然后选Counters项。
图3-4 两位十进制计数器工作波形
向原理图编辑窗中调入宏功能元件如图3-2所示,直接在上端的Symbol
Name栏中键入器件的名称,如74390等,然后点击OK键即可。
如果要了解
74390内部的情况,可以用鼠标在其上双击。
最后根据图2-1在原理图编辑窗
中完成该电路的全部绘制。
绘制过程中应特别注意图形设计规则中信号标号和
总线的表达方式:
若将一根细线变成以粗线显示的总线,可以先将其点击使其变成红色,再
选Option选项中的Line Style ;若在某线上加信号标号,也应该在该线某处
点击使其变成红色,然后键入标号名称,标有相同标号的线段可视作连接线
段,但可不必直接连接。
对于以标号方式进行总线连接可以如图3-1那样。
例
如一根8位的总线bus1(7..0)欲与另3根分别为1、3、4位的连线相接,它们
的标号可分别表示为bus1(0),bus1(3..1),bus1(7..4)。
3、波形仿真,按照第一章介绍的流程能够很容易地得到图2-1电路的仿真波
形(图3-4)。
由波形图3-4可见,图2-1电路的功能完全符合原设计要求:
当clk输入时钟信号时,clr信号具有清0功能,当enb为高电平时允许计
数,低电平时禁止计数;当低4位计数器计到9的向高4位计数器进位,另外由于图3-4中没有显示高4位计数器计到9,故看不到count的进位信号。
如果本设计电路的存盘文件名为conter8.gdf ,则按照步骤5的第9段介绍的方法,将此项设计包装成一个元件存入库中以备后用,该电路对应的元件名是conter8 。
三、实验注意事项
1、输入文件名不能用汉字或关键字、非法字符;
2、注意文件在编译连接时的路径;
3、注意引脚分配与对应的FPGA芯片相匹配;
4、注意信号标号与总路线的表达方式。
四、实验设备
GW48EDA系统,计算机一台,打印机一台
五、实验思考
1、用VHDL编写有时钟输入的两位十进制计数器源程序。
2、对仿真波形结果进行分析。
3、写出验证性实验报告.
实验四 7段数码显示译码器的设计
一、设计目的
1、学习7段数码显示译码器的设计方法;
2、掌握多层次的VHDL程序设计方法。
二、设计要求
1、编写7段数码显示译码器的VHDL源程序;
2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;
3、进行仿真波形的测试;
4、写出设计性实验报告。
三、设计提示
1、实验原理提示:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
本项实验很容易实现这一目的。
例6-21作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如图6-21数码管的7个段,高位在左,低位在右。
例如当LED7S输出为 "1101101" 时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1,接有高电平的段发亮,于是数码管显示“5”。
2、引脚锁定以及硬件下载测试提示:建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
四、实验报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。
五、实验思考和总结
1、讨论语句WHEN OTHERS=>NULL的作用。
对于不同的VHDL综合器,此句是否
具有相同含义和功能?
2、用VHDL例化语句(参考实验2)按图3-25的方式,以本章第一节实验三和
本节实验一为底层元件,完成顶层文件设计,并重复以上实验过程。
注意图3-25中的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。
图4-1 计数器和译码器连接电路的顶层文件原理图
3、对实验思考2进行分析和总结。
实验五数控分频器的设计
一、设计目的
1、学习数控分频器的设计、分析、测试方法;
2、牢固掌握用VHDL语言编写程序的方法和技巧。
二、设计要求
1、编写数控分频器的VHDL源程序;
2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;
3、输入不同的CLK和预置值进行仿真波形的测试;
4、写出设计性实验报告。
三、设计提示
1、实验原理提示:数控分频器的功能就是当在输入端给定不同输入数据时,将
对输入的时钟信号有不同的分频比,可用计数值可并行预置的加法计数器设计完成,方法是将计数溢出位与预置数加载输入信号相接即可。
2、引脚锁定及下载测试提示:如果目标器件是EPF10K10,建议选实验电路模式1,键2 / 键1(PIO7-PIO0)负责输入8位预置数D;CLK由clock0输入,频率可选65536Hz或更高(确保分频后落在音频范围);输出FOUT接扬声器(SPKER:PIN3)。
编译下载后进行硬件测试:改变键2 / 键1的输入值,可听到不同音调的声音。
四、实验报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其项目分析。
五、实验思考和总结
1、阐述程序设计中进程的作用。
2、对所完成的实验进行总结和分析。
3、写出完成时钟上升沿的语句。
附:数控分频器的设计程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY PULSE IS
PORT ( CLK : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
FOUT : OUT STD_LOGIC );
END;
ARCHITECTURE one OF PULSE IS
SIGNAL FULL : STD_LOGIC;
BEGIN
P_REG: PROCESS(CLK)
VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
IF CLK'EVENT AND CLK = '1' THEN
IF CNT8 = "11111111" THEN
CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8
FULL <= '1'; --同时使溢出标志信号FULL输出为高电平
ELSE CNT8 := CNT8 + 1; --否则继续作加1计数
FULL <= '0'; --且输出溢出标志信号FULL为低电平 END IF;
END IF;
END PROCESS P_REG ;
P_DIV: PROCESS(FULL)
VARIABLE CNT2 : STD_LOGIC;
BEGIN
IF FULL'EVENT AND FULL = '1'
THEN CNT2 := NOT CNT2;--如果溢出标志信号FULL为高电平,D触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1';
ELSE FOUT <= '0';
END IF;
END IF;
END PROCESS P_DIV ; END;
实验六循环彩灯控制器的设计
一、设计目的
1、学习用状态机设计特色电路;
2、牢固掌握用VHDL语言编写状态机程序的方法和技巧。
二、设计要求
1、编写循环彩灯控制器的VHDL源程序;
2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;
3、在MAX+PLUSII上进行波形仿真的测试;
4、写出设计性实验报告。
三、设计提示
1、设计一种楼梯照明控制器,该控制器控制红、绿、黄三个发光管循环发光,要求红灯亮2秒,绿灯亮3秒,黄灯亮1秒。
2、引脚锁定及下载测试提示:如果目标器件是EPF10K10,自行锁定引脚。
3、设计的VHDL程序所用时钟频率为1HZ。
四、实验报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其项目分析。
实验七数字频率计的综合设计
一、设计任务和要求
1、设计一个4位十进制数字显示的数字频率计,其频率测量范围为10-
9999KHZ,测量单位为KHZ;
2、要求是量程能自动转换;
3、当输入信号频率小于10KHZ,输出显示全为0,当输入信号频率大于
9999KHZ时,输出显示全H;
4、设计硬件电路,编写相应的VHDL程序;
6、写出写出综合性设计报告实验报告并进行实物制作;
二、设计提示
1、选用器件可用EPM7128S、共阴数码管、发光二极管、开关、电阻和电容;
2、设计总体框图如图所示
三、实验分析与研究
1、试设计一个能测量频率和相位的仪器,相位测量用DDS技术实现,拟出设计方案,并进行方案比较;
2、试用单片机和数字电路分别实现数字频率计,自行设定参数与要求。
实验八步进电机细分驱动控制器综合设计
一、实验目的
学习用FPGA实现步进电机的驱动和细分控制
二、实验内容与要求
1、采用PWM方法,用FPGA对步进电机转角进行八级细分控制
2、用FPGA实验步进电机的匀加速和匀减速控制
3、为使步进电机能平稳地运行,并尽快从起点到达终点,步进电机应按如下控制方式运行:启动匀加速匀速匀减速停止。
当给定终点位置(转角)以后,试用FPGA实现此控制。
4、步进电机在八细分的基础上,试通过修改控制电路对步距角进一步细分
三、实验分析及报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其项目分析。
四、实验思考和总结
1、简述步进电机转角的细分的工作原理,有哪些方法可以实现步进转角细分控制?
2、步进电机相电流的细分与步进转角细分是一回事吗?有何区别?要提高步进电机转角细分的控制精度,可以采取哪些方法?
3、要使步进电机按预先设定的角度转动,控制电路应如何设计?。