电子设计自动化课程总结
电子设计自动化课程总结
班级:自动化0901
姓名:石亚文
学号:201*020201*8
我对电子设计自动化比较感兴趣,所以在开学之初选了这门公选课,经过16周的学习和老师耐心的教导,我对电子设计自动化有了一定的了解与认识。下面我将对本门课程阐述几点:
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
《EDA技术》主要介绍EDA技术中最常用的两个工具软件Protel201*和Multisim7。Protel201*是Altium公司推出的第一套完整的板卡级设计系统,由于Protel进入我国较早,已成为国内电子设计者的首选软件。Multisim7是加拿大图像交互技术公司(IIT公司)推出的以Windows为基础的电子线路仿真工具,以其操作简单、实用性强的特点成为高校电子工程类专业学生的必修课程。
首先,熟悉了几种仿真工具:
1SPICE.SPICE可对电路进行非线性直流分析、非线性瞬态分析和线性交流分析。被分析的电路中的元件可包括电阻、电容、电感、互感、独立电压源、独立电流源、各种线性受控源、传输线以及有源半导体器件。SPICE内建半导体器件模型,用户只需选定模型级别并给出合适的参数。SPICE模型由两部分组成:模型方程式(ModelEquations)和模型参数(ModelParameters)。由于提供了模型方程式,因而可以把SPICE模型与仿真器的算法非常紧密地联接起来,可以获得更好的分析效率和分析结果。SPICE模型的分析精度主要取决于模型参数的来源(即数据的精确性),以及模型方程式的适用范围。而模型方程式与各种不同的数字仿真器相结合时也可能会影响分析的精度。除此之外,PCB板级的SPICE模型仿真计算量较大,分析比较费时。
2MultisimMultisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。工程师们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。
3MATLABMATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。对“Top-Down”设计方法也有了一定的了解:一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解.然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止。.
最后学习了VHDL,VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
相对其他语言,VHDL有一下几点优势(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
随着市场需求的增长,集成工艺水平也在不断提高,导致我们要把所学知识充分利用,不断创造,不断成熟:1.模拟集成电路设计:这块是前端中的前端,技术流中的技术流,模拟集成电路设计工程师需要掌握扎实的电路分析能力,需要掌握扎实的半导体器件物理知识以及集成电路生产工艺方面的知识,另外,还要学习信号与系统等,可谓面面俱到。另外,由于模拟集成电路设计具有前瞻性,目前国内很少有系统的学习资料,所以需要工程师有很强的分析问题、解决问题的能力,并且在工作中会不断给自己充电。2.数字集成电路设计:数字设计也是集成电路设计领域的前端技术,数字集成电路设计工程师要对电路的整体功耗、时序、面积有着很深刻的了解。数字电路的优劣通常是各公司竞争的筹码,所以数字前端的工作往往具有很强的挑战性。一个好的数字前端不但要具有一定的电路分析能力,还要有很强的编程、脚本构建能力,也是市面上稀缺的人才。
最后,感谢老师的辛勤教诲,希望以后还有机会与老师同在一个课堂。
扩展阅读:电子设计自动化课程设计报告
哈尔滨工业大学(威海)
电子设计自动化课程设计报告
学生姓名:学号:学院:专业:年级:指导教师:日期:
杨忠雷
080260215信息科学与工程学院电子科学与技术专业08级韩良201*年8月31日
摘要:VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。本设计
是基于GW48系统SOPC实验箱,依据VGA显示的原理,“抛弃”VGA显示专用芯片,利用FPGA(现场可编程门阵列)设计VGA接口对于更深入学习接口技术有很大的帮助,同时可以将要显示的数据直接送到显示器上显示,省去了计算机的处理过程,能加快数据的处理速度和节约硬件成本。
关键词:FPGA,VGA,显示接口电子设计自动化课程设计报告
201*级电子科学与技术
杨忠雷
一、FPGA的原理
CPLD、FPGA是在PAL、GAL等基础上发展起来的一种具有丰富的可编程I/O引脚、逻辑宏单元、门电路以及RAM空间的可编程逻辑器件,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。CPLD的设计是基于乘积项选择矩阵来实现的,而FPGA基于查找表来设计的。查找表就是实现将输入信号的各种组合功能以一定的次序写入RAM中,然后在输入信号的作用下,输出特定的函数运算结果。其结构图如图1所示:
图1.FPGA查找表单元
一个N输入查找表(LUT,LookUpTable)可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。
输入多于N个的函数、方程必须分开用几个查找表(LUT)实现(如图2
所示)。
图2FPGA查找表单元内部结构
该系统设计中,FPGA芯片用的是ALTERA公司的EP1K30QC208-2,它的系统结构如图3所示。它由若干个逻辑单元和中央布线池加I/O端口构成
图3EP1K30QC208内部结构
二、VGA接口
VGA的全称为VideoGraphicArray,即显示绘图阵列。在PC行业发展的初
期,VGA以其支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色的良好特性得到广泛支持。后来,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(VideoElectronicsStandardsAssociation,视频电子标准协会)的SuperVGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。
图4VGA接口
VGA接口就是显卡上输出模拟信号的接口,也叫D-Sub接口。VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。VGA接口是显卡上应用最为广泛的接口类型,绝大多数的显卡都带有此种接口。表1VGA管脚定义管脚123456789101112131415定义红基色red绿基色green蓝基色blue地址码IDBit自测试(各家定义不同)红地绿地蓝地保留(各家定义不同)数字地地址码地址码行同步场同步地址码(各家定义不同)通过模拟VGA接口和计算机连接的显示器的工作原理,是计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。CRT显示器因为设计制造上的原因,只能接受模拟信号输入,也就是我们为什么在CRT显示器上只看到VGA接口的原因。三、VGA显示接口原理
计算机显示器的显示有许多标准,常见的有VGA、SVGA等。本系统采用FPGA来实现图像显示控制器,这在产品开发设计中有许多实际应用。
常见的彩色显示器,一般由CRT(阴极射线管)构成,彩色是由G、R、B(绿:Green,红:Red,蓝:Blue)三基色组成。显示是用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB三基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。
对于普通的VGA显示器,其引出线共含5个信号:G、R、B:三基色信号;HS:行同步信号;VS:场同步信号。
对于5个信号的时序驱动,对于VGA显示器要严格遵循“VGA工业标准”,即640×480×60Hz模式。通常我们用的显示器都满足工业标准,因此我们设计VGA控制器时要参考显示器的技术规格。
图5是VGA行扫描、场扫描的时序图:
图5VGA行扫描、场扫描时序图
表2VGA参考时序设计
VGA工业标准所要求的频率:时钟频率(Clockfrequency):25.175MHz(像素输出的频率);行频(Linefrequency):31469Hz;场频(Fieldfrequency):59.94Hz(每秒图像刷新频率)。
四、FPGA的设计实现
设计VGA图像显示控制需要注意两个问题:一个是时序的驱动,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器;另一个是VGA信号的电平驱动。
显示控制器设计提示:显示器的技术规格提供的行频一般都满足在30-45KHz(保守数据),场频一般满足在50-75Hz(保守数据),针对以上保守数据,我们以30KHz的行频进行扫描时所需时钟频率为:30KHz×800(行周期)=24MHz,则场频为:30KHz÷525(场周期)=57.14Hz,针对实验箱的条件,可以用12MHz的信号经过倍频(EP1K30QC208-2芯片特有的功能,在MaxPlusII软件中调用参数可设置兆功能元件库mega_lpm的CLKLOCK元件来倍频)来产生24MHz的时钟频率,参考设计的顶层文件如下图所示:
图5.VGA接口实现顶视图
VGACORE模块包含了扫描时序产生模块、图像描述模块。时序产生模块的设计可参考图5所示来设计,图像描述模块主要通过640×480个像素点来描述图像。如本项设计的彩条信号发生器可通过图像描述模块产生如下表所示的3种显示模式,共6种显示变化的图像。
表3VGA图形编码1行彩条1:白黄青绿品红蓝黑2:黑蓝红品绿青黄白2竖彩条1:白黄青绿品红蓝黑2:黑蓝红品绿青黄白3棋盘格1:棋盘格显示模式12:棋盘格显示模式2上表颜色对应的编码为:表4VGA颜色编码颜色黑蓝红品绿青黄白G00001111R00110011B01010101在设计完彩条信号发生器的基础上很容易完成汉字/图像的设计。由于本设计是对视频数据进行处理,用普通的设计方法(不使用专用芯片),在单芯片上实现是不可思议的,而在此用FPGA设计,轻松地达到了面积和速度上的要求。
五、程序及仿真
(一)、管脚分配
本设计采用主板上的VGA接口实验模式:模式5时钟及控制
clk----->pin_29clock9实验要求采用12M的时钟rst----->pin_240键8,低电平有效,作为使能信号MD----->pin_233键1,模式选择信号,共有6种模式显示器输出
R----->pin_180PIO29G----->pin_181PIO30B----->pin_182PIO31HS----->pin_183PIO32VS----->pin_185PIO34
(二)、彩条发生器程序实现及仿真
1、主程序modulezui(clk_25m,rst_n,//系统控制hsync,vsync,vga_rgb,MD//VGA控制);
inputclk_25m;//25MHzinputrst_n;//低电平复位inputMD;
//FPGA与VGA接口信号outputhsync;//行同步信号outputvsync;//场同步信号output[2:0]vga_rgb;
//--------------------------------------------------//坐标计数reg[9:0]x_cnt;//行坐标reg[9:0]y_cnt;//列坐标
always@(posedgeclk_25mornegedgerst_n)if(!rst_n)x_cnt
wirevalid=valid_r;
wire[9:0]x_dis;//横坐标显示有效区域相对坐标值0-639wire[9:0]y_dis;//竖坐标显示有效区域相对坐标值0-479
assignx_dis=x_cnt-10"d142;assigny_dis=y_cnt-10"d33;
//--------------------------------------------------//---------------------------------------------reg[2:0]cnt;
always@(posedgeMDornegedgerst_n)beginif(!rst_n)cnt=10"d320&&x_dis<10"d400)vga_rgb=10"d480&&x_dis<10"d560)vga_rgbif(x_dis>=10"d0&&x_dis<10"d80)vga_rgb=10"d160&&x_dis<10"d240)vga_rgb=10"d320&&x_dis<10"d400)vga_rgb=10"d480&&x_dis<10"d560)vga_rgb=10"d60&&y_dis<10"d120)vga_rgb=10"d180&&y_dis<10"d240)vga_rgb=10"d300&&y_dis<10"d360)vga_rgb=10"d420&&y_dis<10"d480)vga_rgb=10"d0&&y_dis<10"d60)vga_rgb=10"d120&&y_dis<10"d180)vga_rgb=10"d240&&y_dis<10"d300)vga_rgb=10"d360&&y_dis<10"d420)vga_rgb=10"d0&&y_dis<10"d60)vga_rgb=10"d120&&y_dis<10"d180)vga_rgb=10"d240&&y_dis<10"d300)vga_rgb=10"d360&&y_dis<10"d420)vga_rgbdefault:;endcaseend
if(cnt==3"d5)begincase(x_dis)10"d0:begin//当x坐标回到0时,让显示色彩数据根据当前的y坐标值重新复位
if(y_dis>=10"d0&&y_dis<10"d60)vga_rgb=10"d120&&y_dis<10"d180)vga_rgb=10"d240&&y_dis<10"d300)vga_rgb=10"d360&&y_dis<10"d420)vga_rgb3、仿真波形(三)、字符显示程序及仿真
1、主程序
`timescale1ns/1psmodulevga_char(clk_25m,rst_n,//系统控制hsync,vsync,vga_rgb//VGA控制);
inputclk_25m;//25MHzinputrst_n;//低电平复位//FPGA与VGA接口信号outputhsync;//行同步信号outputvsync;//场同步信号output[2:0]vga_rgb;
//--------------------------------------------------//坐标计数reg[9:0]x_cnt;//行坐标reg[9:0]y_cnt;//列坐标
always@(posedgeclk_25mornegedgerst_n)if(!rst_n)x_cnt
assignhsync=hsync_r;assignvsync=vsync_r;
//--------------------------------------------------//有效显示标志位产生regvalid_yr;//行显示有效信号
always@(posedgeclk_25mornegedgerst_n)if(!rst_n)valid_yrchar_line5=24"h421010,char_line6=24"h421010,char_line7=24"h421010,char_line8=24"h7e1010,char_line9=24"h421010,char_linea=24"h421010,char_lineb=24"h421010,char_linec=24"h421010,char_lined=24"he77c38,char_linee=24"h000000,char_linef=24"h000000;
reg[4:0]char_bit;//显示位计算
always@(posedgeclk_25mornegedgerst_n)if(!rst_n)char_bitelsevga_rgbt_rst_n=1;$display("Runningtestbench");
#1000$stop;end
always#0.04t_clk_25m=~t_clk_25m;endmodule
3、仿真波形
六、总结
通过本次课程设计我对FPGA以及VGA接口显示有了进一步的了解,对我今后的学习有一定的启迪作用,使我对FPGA设计产生了新的认识,并产生了很浓厚的兴趣。并且通过这次设计我更加意识到团队的作用,收获了友谊。
友情提示:本文中关于《电子设计自动化课程总结》给出的范例仅供您参考拓展思维使用,电子设计自动化课程总结:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《电子设计自动化课程总结》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/708049.html
- 上一篇:注册自动化系统工程师
- 下一篇:八上地理知识点归纳