EDA技术课程设计.docx
- 文档编号:14799791
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:18
- 大小:220.07KB
EDA技术课程设计.docx
《EDA技术课程设计.docx》由会员分享,可在线阅读,更多相关《EDA技术课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
EDA技术课程设计
目录
1、EDA技术的介绍2
1.1、EDA技术的简介2
1.2、EDA技术的发展阶段2
1.3、EDA技术的发展趋势3
2、总体方案设计4
2.1、设计内容4
2.2、设计方案比较4
2.3、设计方案论证5
2.4、设计方案选择6
3、单元模块设计6
3.1、IC191模块6
3.2、8位升降计数器的顶层电路9
3.3、D/A转换电路10
4、软件实现12
5、系统仿真及调试15
5.1、仿真15
5.2、调试16
6、总结17
6.1、设计小结17
6.2、设计收获17
6.3、致谢17
7、参考文献18
1、EDA技术的介绍
1.1、EDA技术的简介
EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术是以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。
硬件描述语言HDL是相对于一般的计算机软件语言,如:
C、PASCAL而言的。
HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。
设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。
目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。
1.2、EDA技术的发展阶段
EDA技术的发展分为三个阶段:
第一代EDA技术是电子图版时期,也就是CAD阶段,这一阶段人们开始用计算机辅助进行IC版图编辑和PCB布局布线,这取代了手工操作,产生了计算机辅助设计的概念。
第二代EDA技术的核心是电路辅助设计和仿真分析技术,这一时期分支软件迅速发展。
与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,以实现工程设计,这就是计算机辅助工程的概念。
第三代也是最新一代EDA技术是集成综合概念设计时期。
即ESDA阶段。
1.3、EDA技术的发展趋势
从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。
要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。
有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。
开展“数控化”工程和“数字化”工程。
自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。
在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展。
目前的EDA产业正处在一场大变革的前夕,对更低成本、更低功耗的无止境追求和越来越短的产品上市压力正迫使IC供应商提供采用0.13μm或以下的千万门级的系统芯片,而这些系统芯片的高复杂性设计更加依赖于EDA供应商提供全新的设计工具和方法以实现模拟前后端、混合信号和数字电路的完全整合。
然而,这些新的需求为当代EDA工具和设计方法带来了不少新的挑战与机会。
2、总体方案设计
2.1、设计内容
可逆计数器是这次设计的基础。
可逆计数器主要由CPLD\FPGA器件完成,通过硬件描述语言,在QuartusII中输入可逆计数器的程序,在编译成功后进行时序仿真,在仿真时可看到8位可逆计数器就是由0到255的升降计数。
再加在存有波形数据的ROM,将ROM的数字读出加到DAC0808进行数字信号到模拟信号的转换,这样从DAC0808就能输出一个稳定的信号波形。
2.2、设计方案比较
方案一:
由单片机来完成设计。
目前,单片机的功能已比较强大,集成度日益增高且其设计和控制比较容易。
利用AT89C51单片机外接数模转换器和运算放大电路,由用户通过按键选择输出实验室中经常使用到的几种基本波形:
方波、锯齿波、正弦波和三角波。
方波由AT89C51单片机将最大值和最小值输出给D/A进行转换,并由用户通过键盘选择波形周期。
与微处理器兼容的8位数模转换器DAC0808将数字量转换为模拟量电压信号,通过运放电路得到锯齿波、正弦波、三角波信号,波形保证了它的精度、平滑和稳定。
总体原理框图,如图2-1所示:
图2-1单片机实现原理框图
方案二:
利用FPGA来完成设计。
FPGA编程灵活,可以实现三角波和正弦波的数字化处理,将一个周期内的采样点存储起来,生成频率和幅值都可调的正弦波或者三角波,再通过D/A转换和滤波电路便可得到模拟波形。
总体原理框图,如图2-2所示:
图2-2FPGA实现原理框图
2.3、设计方案论证
通过方案一二的比较,可以看出方案一的设计使用分立元件电路较为多,因此会增加电路调试难度,且电路的不稳定性也会随之增加,而采用FPGA芯片实现的电路,由于在整体性上较好,在信号的处理和整个系统的控制中,FPGA的方案能大大缩减电路的体积,提高电路的稳定性。
此外其先进的开发工具使整个系统的设计调试周期大大缩短,一般来讲,同样的逻辑,基于FPGA要比基于单片机要快很多,因为它们工作的原理是完全不同的。
单片机是基于指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读取相应的指令,最后作出响应,这每一步都是需要在单片机的时钟驱动下一步步的进行。
而基于FPGA则是把相应的逻辑“暂时”固化为硬件电路了,它对激励作出的响应速度就是电信号从FPGA的一个管脚传播另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。
而且由于在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,因此整个系统显得十分复杂,随着正弦波或三角波采用数据的增加,需要占用系统很多存储资源,造成其抗干扰性差,在运行过程中容易死机或进入死循环,可靠性降低,而功耗费用增高。
2.4、设计方案选择
结合本设计的要求及综合以上比较的情况,我们选择了基于FPGA的波形发生器方案。
3、单元模块设计
本设计由现场可编程门矩阵(FPGA)作为控制芯片,通过VerilogHDL硬件描述语言设计,运用自顶而下的设计思想,按功能逐层分割实现层次化的设计。
完整的系统由4个部分组成:
波形发生控制电路,波形数据ROM,D/A转换和滤波电路。
波形发生控制电路由FPGA来完成,正弦波在一个周期内的波形可以通过数字采样,即用N个幅值离散的等间隔采样点表示。
FPGA波形发生控制电路通过外来控制信号和高速时钟信号,向波形数据ROM发出地址信号,ROM的大小由采样点的个数决定。
波形ROM中存有发生器的波形数据,如正弦波或三角波数据。
当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据。
取出采样点的幅值,这样就可以产生数字化的波形。
3.1、IC191模块
IC191模块,即一个单时钟输入的8位加/减同步计数器的模块电路,根据74LS191的功能表(74LS191是单时钟输入的4为同步加/减计数器)设计而成。
(1)74LS191管脚图,如图3-1所示:
RCO进位/借位输出端
E计数控制端
Q0-Q3计数输出端
D/U计数控制端
CLK时钟输入端
PL异步并行置入端(低电平有效)
TC进位/借位输出端
图3-174LS191管脚图
74LS191功能表,如表3-1所示:
表3-174LS191功能表
(2)IC191模块,如图3-2所示:
图3-2IC191模块
利用VerilogHDL语言完成IC191模块功能的程序设计,代码如下:
3.2、8位升降计数器的顶层电路
8位升降计数器由模块IC191、JK触发器和门电路组成。
模块IC191功能是当加减控制端UD=0时,计数器在时钟信号作用下完成8位二进制加法计数,当加计数加到255时,计数器发出一个进位脉冲信号CO;当UD=1时计数器在时钟信号作用下完成8位二进制减法计数,在减计数到0时,计数器发出一个借位脉冲信号BO。
JK触发器和门电路的功能是控制8位同步计数器加/减计数,JK触发器的输出端Q直接接入8位加/减同步计数器加减控制端UD,同时8位加/减同步计数器的进位脉冲信号CO或借位脉冲信号BO(作CLK)触发JK触发器(J=K=S=1)的输出Q,JK触发器输出端Q的翻转即可切换8位加/减同步计数器作加计数或作减法计数,从而实现升降计数器的功能。
其顶层电路,如图3-3所示:
图3-38位升降计数器的顶层电路
3.3、D/A转换电路
典型的D/A转换电路如图3-4所示。
DAC0808是8位并行D/A转换器,使用十分方便,只要给芯片提供Vcc(+5V)和Vss(-12V)电源、参考电压VREF(+5V),同时在芯片输入端加上8位二进制数字量,就可以在输出端获得相应的模拟量。
为了实现三角波/锯齿波发生器,可以将8位升降计数器顶层电路的8位输出端(LED8-LED1),即8位二进制数字量直接加上DAC0808转换器芯片输入端,就可以在DAC0808输出端获得相应的三角波/锯齿波。
图3-4D/A转换电路
DAC0808管脚图,如图3-5所示:
图3-5DAC0808管脚图
A1—A8:
8位并行数据输入端(A1为最高位,A8为最低位)
VREF(+):
正向参考电压(需要加电阻)
VREF(-):
负向参考电压,接地
IOUT:
电流输出端
VEE:
负电压输入端
COMP:
compensation(补偿),补偿端,与VEE之间接电容(R14=5kΩ时,(R14为14引脚的外接电阻),一般为0.1uF,电容必须随着R14的增加而适当增加)
GND:
接地端,
VCC:
电源端,在proteus中都已隐藏
4、软件实现
通过至顶向下(TOP--DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现方案的选择。
程序设计如下:
module boxing(fout,change,clk);
input clk;
input [1:
0] change; //定义输入变量,用来切换输出波形,一共4个档位
output[7:
0] fout; //输出8为rom的值,用来驱动DA转化芯片,输出波形
//地址累加器,实现地址的分段累加,从而实现四种不同波形的切换输出
reg [5:
0] addr;
always @(posedge clk)
begin
begin
if(change==0)
begin
if(addr>=0&&addr<15) //切换正弦波
addr=addr+1;
else
addr=0;
end
else if(change==1)
begin
if(addr>=16&&addr<31) //切换方波
addr=addr+1;
else
addr=16;
end
else if(change==2)
begin
if(addr>=32&&addr<47) //切换正三角波
addr=addr+1;
else addr=32;
end end end//制作rom的函数
function [7:
0] rom;
input [63:
0] address;
case(address)
0:
rom=120; //正弦波的rom值
1:
rom=165;
2:
rom=204;
3:
rom=230;
4:
rom=240;
5:
rom=230;
6:
rom=204;
7:
rom=165;
8:
rom=120;
9:
rom=74;
10:
rom=35;
11:
rom=9;
12:
rom=0;
13:
rom=9;
14:
rom=35;
15:
rom=74;
16:
rom=10; //方波的rom值
17:
rom=10;
18:
rom=10;
19:
rom=10;
20:
rom=10;
21:
rom=10;
22:
rom=10;
23:
rom=10;
24:
rom=250;
25:
rom=250;
26:
rom=250;
27:
rom=250;
28:
rom=250;
29:
rom=250;
30:
rom=250;
31:
rom=250;
32:
rom=30; //正三角波的rom值
33:
rom=60;
34:
rom=90;
35:
rom=120;
36:
rom=150;
37:
rom=180;
38:
rom=210;
39:
rom=240;
40:
rom=210;
41:
rom=180;
42:
rom=150;
43:
rom=120;
44:
rom=90;
45:
rom=60;
46:
rom=30;
47:
rom=0;
endcase endfunction
assign fout=rom(addr);// //把读到的rom的值赋给输出端口,输出驱动DA转换芯片
endmodule
5、系统仿真及调试
5.1、仿真
通过QuartusII软件仿真,仿真结果如下:
当change为00时,ROM读正弦波数据给ADC0808:
图5-1输出正弦波数据仿真图
当change为01时,读取ROM中的方波数据给DAC0808:
图5-2 输出方波数据仿真图
当change为10时,读取三角波数据给DAC0808:
图5-3 读取三角波时的输出数据
5.2、调试
在QuartusII软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。
在Assignments菜单下选中Devices,在Family栏选择ACEX1K,选中EP1K30TC144-2器件。
再在Assignments菜单下选中Pins按照相应要求对管脚进行锁定。
最后在Tools菜单下,选中Programmer,对配置方式进行设置,这里选择Passive Serial(PS)被动串行模式。
选择好要下载的硬件设备后点击Start即可开始编程下载了。
6、总结
6.1、设计小结
在本次设计中,我们完成本系统设计的要求及功能。
在设计开始前我们对各个模块进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。
本设计要求通过硬件描述语言,在QuartusII中输入可逆计数器的程序,在编译成功后进行时序仿真,在仿真时可看到8位可逆计数器就是由0到255的升降计数。
再加在存有波形数据的ROM,将ROM的数字读出加到DAC0808进行数字信号到模拟信号的转换,这样从DAC0808就能输出一个稳定的信号波形。
6.2、设计收获
通过本次设计,我们在对EDA这门技术上有了更深刻的认识,也从实践的例子中去感受到了EDA设计给我们设计带来的改变与进步。
我们不仅掌握QuartusII软件的使用,与此同时,我们还对电子设计的思路有了更多的认识。
通过对EDA设计中的TOP-DOWN设计方式的运用,体会到了对于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至底向上的设计方式有很大改进,且设计效率得到大大提高。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正提高自己的实际动手能力、独立思考的能力,以及与具体项目、课题相结合开发、设计产品的能力。
在本次课程设计过程中,我们遇到了这样或那样的问题。
通过查阅相关资料,我们解决了这些问题,在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。
我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益匪浅。
6.3、致谢
在老师们的辛勤指导下,我们小组同学积极讨论和思考,完成本此课程设计,此次设计,使我们受益匪浅。
在此我要感谢电气信息学院提供这次课程设计的机会;感谢电气信息学院各位老师的帮组。
在这里我要特别感谢xxx老师,在设计过程中,至始至终都得到了xxx老师的悉心指导,我们的设计才得以顺利完成。
7、参考文献
[1]陈赜.CPLD/FPGA与ASIC设计实践教程.北京:
科学出版社.2005
[2]陈云洽.CPLD应用技术与数字系统设计.北京:
电子工业出版社.2003
[3]黄智伟.FPGA系统设计与实践.北京:
电子工业出版社.2005
[4]李国丽.EDA与数字系统设计.北京:
机械工业出版社.2004
[5]张洪润等.电子线路及应用.北京.科学出版社.2002
[6]杨宝清.实用电路手册.北京.机械工业出版社.2002
[7]陈云洽.CPLD应用技术与数字系统设计.北京:
电子工业出版社.2003
[8]侯佰亨,顾新编著.VHDL硬件描述语言与实际应用[M].西安.西安电子科社.2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 课程设计