第一篇:007的EDA学习心得
E D A 技 术 学习心 得
专业:通信技术
姓名:焦亚锋 学号:200925101
1EDA技术学习心得
本学期对EDA技术的学习为我的专业知识学习打开了一个全新的窗口——微电子技术领域。对EDA技术,我更是有了全新的认识。
微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了纳米级。所以,集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展。
而现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。
EDA技术在进入21世纪后,得到了更大的发展。嵌入式处理器软核的成熟,使得SOPC步入大规模应用阶段。电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化。同时,EDA使得电子领域各学科的界限更加模糊,更加互为包容。这些都利于设计人员利用EDA技术进行电子系统设计,如全定制或半定制ASIC设计,FPGA/CPLD开发应用和印制电路板。
从EDA技术的特点不难看出,相比于传统的数字电子系统或IC设计,EDA技术拥有独特的优势。在传统的数字电子系统或IC设计中,手工设计占了较大的比例。因此,也存在很多缺点。例如:复杂电路的设计、调试十分困难;由于无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便;设计过程中产生大量文档,不易管理;可移植性差等。相比之下,EDA技术有很大不同。它运用HDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。由于有各类库的支持,能够完成各种自动设计过程。它极大地简化了设计文档的管理,逻辑设计仿真测试技术也日益强大。
VHDL在现在的EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持。VHDL作为一个规范语言和建模语言,不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。这种方法显然对于电路自动设计是一个极大的推进。它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。EDA技术良好的可移植性与可
测试性,将所有设计环节纳入统一的自顶向下的设计方案中。它不但在整个设计流程上充分利用计算机的自动设计能力、在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。
书中通过大量的图示对PLD硬件特性与编程技术进行了形象的讲解,不仅融合了之前学习的关于电路设计的知识还将EDA的技术加入其中。对VHDL语言的详尽讲解更是让我深刻理解了VHDL语言的编程原理。由于本门课程是一门硬件学习课程,所以实验必不可少。通过课程最后实验,我体会一些VHDL语言相对于其他编程语言的特点。
相对于其它计算机语言的学习,如C 或汇编语言,VHDL 具有明显的特点。这不仅仅是由于VHDL 作为一种硬件描述语言的学习需要了解较多的数字逻辑方面的硬件电路知识,包括目标芯片基本结构方面的知识更重要的是由于VHDL 描述的对象始终是客观的电路系统。由于电路系统内部的子系统乃至部分元器件的工作状态和工作方式可以是相互独立、互不相关的,也可以是互为因果的。这表明,在任一时刻,电路系统可以有许多相关和不相关的事件同时并行发生。例如可以在多个独立的模块中同时入行不同方式的数据交换和控制信号传输,这种并行工作方式是任何一种基于CPU 的软件程序语言所无法描绘和实现的。传统的软件编程语言只能根据CPU 的工作方式,以排队式指令的形式来对特定的事件和信息进行控制或接收。在CPU 工作的任一时间段内只能完成一种操作。因此,任何复杂的程序在一个单CPU 的计算机中的运行,永远是单向和一维的。因而程序设计者也几乎只需以一维的思维模式就可以编程和工作了。
VHDL 虽然也含有类似于软件编程语言的顺序描述语句结构,但其工作方式是完全不同的。软件语言的语句是根据CPU 的顺序控制信号,按时钟节拍对应的指令周期节拍逐条运行的,每运行一条指令都有确定的执行周期。但VHDL 则不同,从表面上观,VHDL 的顺序语句与软件语句有相同的行为描述方式,但在标准的仿真执行中有很大的区别。VHDL 的语言描述只是综合器赖以构成硬件结构的一种依据,但进程语句结构中的顺序语句的执行方式决非是按时钟节拍运行的。实际情况是其中的每一条语句的执行时间几乎是0(但该语句的运行时间却不一定为0),即1000 条顺序语句与10 条顺序语句的执行时间是相同的。在此,语句的运行和执行具有不同的概念(在软件语言中,它们的概念是相同),的执行是指启动一条语句,允许它运行一次,而运行就是指该语句完成其设定的功能。
通过实验,我认识到理论要与实际结合,培养动手动脑能力的重要性,做事情要抱着一丝不苟的态度,这样才能做好事情。同时也入一步了解到EDA的强大之处,硬
件电路的优秀的地方,对硬件方面更感兴趣了。这门课程的学习,为我以后的专业知识的学习打下了良好的基础。
第二篇:EDA学习心得
EDA
专业;姓名;学号;学习心 得
刘华
201530220109
电气自动化技术
本学期对EDA技术的学习为我的专业知识学习打开了一个全新的窗口——微电子技术领域。对EDA技术,我更是有了全新的认识。
微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了纳米级。所以,集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展。
而现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。EDA技术在进入21世纪后,得到了更大的发展。嵌入式处理器软核的成熟,使得SOPC步入大规模应用阶段。电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化。同时,EDA使得电子领域各学科的界限更加模糊,更加互为包容。这些都利于设计人员利用EDA技术进行电子系统设计,如全定制或半定制ASIC设计,FPGA/CPLD开发应用和印制电路板 从EDA技术的特点不难看出,相比于传统的数字电子系统或IC设计,EDA技术拥有独特的优势。在传统的数字电子系统或IC设计中,手工设计占了较大的比例。因此,也存在很多缺点。例如:复杂电路的设计、调试十分困难;由于无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便;设计过程中产生大量文档,不易管理;可移植性差等。相比之下,EDA技术有很大不同。它运用HDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。由于有各类库的支持,能够完成各种自动设计过程。它极大地简化了设计文档的管理,逻辑设计仿真测试技术也日益强大。VHDL在现在的EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持。VHDL作为一个规范语言和建模语言,不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。这种方法显然对于电路自动设计是一个极大的推进。它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。EDA技术良好的可移植性与可 测试性,将所有设计环节纳入统一的自顶向下的设计方案中。它不但在整个设计流程上充分利用计算机的自动设计能力、在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试
书中通过大量的图示对PLD硬件特性与编程技术进行了形象的讲解,不仅融合了之前学习的关于电路设计的知识还将EDA的技术加入其中。对VHDL语言的详尽讲解更是让我深刻理解了VHDL语言的编程原理。由于本门课程是一门硬件学习课程,所以实验必不可少。通过课程最后实验,我体会一些VHDL语言相对于其他编程语言的特点。
相对于其它计算机语言的学习,如C 或汇编语言,VHDL 具有明显的特点。这不仅仅是由于VHDL 作为一种硬件描述语言的学习需要了解较多的数字逻辑方面的硬件电路知识,包括目标芯片基本结构方面的知识更重要的是由于VHDL 描述的对象始终是客观的电路系统。由于电路系统内部的子系统乃至部分元器件的工作状态和工作方式可以是相互独立、互不相关的,也可以是互为因果的。这表明,在任一时刻,电路系统可以有许多相关和不相关的事件同时并行发生。例如可以在多个独立的模块中同时入行不同方式的数据交换和控制信号传输,这种并行工作方式是任何一种基于CPU 的软件程序语言所无法描绘和实现的。传统的软件编程语言只能根据CPU 的工作方式,以排队式指令的形式来对特定的事件和信息进行控制或接收。在CPU 工作的任一时间段内只能完成一种操作。因此,任何复杂的程序在一个单CPU 的计算机中的运行,永远是单向和一维的。因而程序设计者也几乎只需以一维的思维模式就可以编程和工作了。
VHDL 虽然也含有类似于软件编程语言的顺序描述语句结构,但其工作方式是完全不同的。软件语言的语句是根据CPU 的顺序控制信号,按时钟节拍对应的指令周期节拍逐条运行的,每运行一条指令都有确定的执行周期。但VHDL 则不同,从表面上观,VHDL 的顺序语句与软件语句有相同的行为描述方式,但在标准的仿真执行中有很大的区别。VHDL 的语言描述只是综合器赖以构成硬件结构的一种依据,但进程语句结构中的顺序语句的执行方式决非是按时钟节拍运行的。实际情况是其中的每一条语句的执行时间几乎是0(但该语句的运行时间却不一定为0),即1000 条顺序语句与10 条顺序语句的执行时间是相同的。在此,语句的运行和执行具有不同的概念(在软件语言中,它们的概念是相同),的执行是指启动一条语句,允许它运行一次,而运行就是指该语句完成其设定的功能。通过实验,我认识到理论要与实际结合,培养动手动脑能力的重要性,做事情要抱着一丝不苟的态度,这样才能做好事情。同时也入一步了解到EDA的强大之处,硬件电路的优秀的地方,对硬件方面更感兴趣了。这门课程的学习,为我以后的专业知识的学习打下了良好的基础。
第三篇:EDA学习心得
EDA 学习心得
姓名:贺鑫
学号:20081001164 班号:072085-10 在本学期短短5周的EDA学习中,我初步对这一新的领域有了一个较为系统的理解,也为我的专业学习打开了一个新的思路,那就是电子设计自动化(EDA)技术。
首先,通过对这门课程相关理论的学习,我掌握了EDA的一些基本的的知识,现代电子产品的性能越来越高,复杂度越来越大,更新步伐也越来越快。实现这种进步的主要原因就是微电子技术和电子技术的发展。前者以微细加工技术为代表,目前已进入超深亚微米阶段,可以在几平方厘米的芯片上集成几千万个晶体管;后者的核心就是电子设计自动化EDA(Electronic Design Automatic)技术。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言HDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
其次,通过对课程的实验的学习,我对EDA的学习和理解有了更深刻的认识和体会。我们团队共四个人,做的是两层电梯控制器,作为这个实验的一员与负责人,我感到很有压力。因为只对课本知识的学习,我对实验做成功的把握不是很大。因为我们是机械专业,学习电的知识也主要是通过大二学的《电工学》,因此只能对数字逻辑与数字电路有初步的了解,而EDA是在数字电路发展到一定阶段的产物,因此学习起来也很费力。
然而,在我们团队的共同努力下,我们最终成功地完成了这个实验,包括时序仿真和硬件测试仿真,都取得了非常成功地效果。
在上实验课的时候,那个周六下午,整个实验室只有那寥寥几人,我很庆幸我是其中的一人,因为在那里我学习到了很多,我完成了上次实验没有完成的扫描显示的实验,也完成了步进电机控制器的实验,还在老师的指导下完成了梁祝音乐演示实验,最后在晚上我也去了实验室,和我们团队成员开始进行两层电梯控制器的设计,通过一个晚上的努力,我们最终把它给调试了出来。
通过实验,我激发了EDA学习的兴趣,也对这门课程有了更深的理解,对EDA设计软件Quarter Ⅱ的使用也更加熟练。老师给我们的材料中,用的是GAL器件,我们最终用的是FPGA器件,也就是EP1K10TC100—3芯片,我们分析了电梯在整个运行过程中的状态,并参考资料写出了状态图,然后根据状态图用有限状态机来实现了各个状态之间的转换,进而实现了对电梯的控制。
在设计过程中,我们遇到了很多困难,尤其是在电梯开门于关门那个自动控制方面,起初我想用一个延迟信号赋值语句解决这个问题,但是由于这个延迟在综合器里面不能得到体现,综合器在综合是会忽略after之后的延迟,因此我该用了一个计数器溢出的底层元件。通过元件例化语句实现在顶层文件中对其的调用。
在完成VHDL的编辑以后,进行编译,结果出现了很多错误,在我们细心的检查和排
查之下,最终将VHDL描述修改成功并且通过了编译。在编译过程中我了解到很多在书本上没有理解的知识。比如信号不能在多个并行进程中赋值,顺序语句必须在进程中才能描述等等。在时序仿真这一块我们也遇到了问题,起初我们没有考虑到信号赋值的延迟,也没有考虑到仿真延迟δ,取时钟周期为默认值10ns,这样仿真得到的结果就与预期的结果不符合,找到问题后我们采用了1us的始终周期,最终得到了想要的波形。
对这门课程的最大收获除了学习到了知识以外,更重要的是让我明白了一个道理:只要全身心的投入到一件事中,并且要有持之以恒的决心,就一定会有收获。有的人觉得自己做不出来,就网上搜一个了事,但是,放弃一次黑暗中摸索的经历,就放弃了一次成长的机会!如果你付出了,没有收获。那只能说,是付出的还不够多。
我想我对EDA的学习只能算是个入门,这个领域的发展空间非常大,应用范围也非常广泛,而且我相信在将来还会有更加广阔的应用前景。因此在以后的学习过程中,我不能因为课程学习的结束而结束了我对这个领域的探索,相反我会更加努力的去学习它。感谢老师孜孜不倦的教诲,让我不仅学到了知识,也学到了做人做事的一些道理,为我提供了很多帮助。在接下来的学习生涯中,我会继续努力,努力扎实地学习专业知识,实现自己的理想。
第四篇:EDA实验报告
EDA课程实验报告
----移位相加8位硬件乘法器电路计
ou 1
移位相加硬件乘法器设计
一.实验目的
1、学习移位相加8 位硬件乘法器电路设计;
2、学习应用EDA 技术进行项目设计的能力
二.实验原理
该乘法器是由8位加法器构成的以时序方式设计的8位乘法器。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若
为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。
实验箱内部结构图
:
三.实验设备
1.安装QUARTUS II 软件的PC一台;
2.实验箱一个 四.实验步骤
1.输入下列VHDL程序:
2.编译程序,并连接实验箱并下载 3.在实验箱上按下列要求进行设置:
①选择模式1 ②CLKK控制移位相加速度,接clock0=4Hz ③A[7..0]、B[7..0]输入数据 显示于此4个数码管上
④DOUT[15..0]接数码管8/7/6/5,显示16位乘积:PIO31—PIO16 ⑤接键8(PIO49):高电平清0,低电平计算允许
⑥A[7..0]接键2/1,输入8位乘数 PIO7—PIO0(模式1)⑦B[7..0]接键2/1,输入8位被乘数 PIO7—PIO0(模式1)
五.实验结果
实验程序编译运行后RTL电路图
ou 1)2
(模式
实验RTL电路
A[7..0]接键2/1,输入8位乘数:A2(十六进制)B[7..0]接键4/3,输入8位被乘数:33(十六进制)可得结果DOUT[15..0]:2046(十六进制)六:心得体会
通过电子设计的数字部分EDA设计,我们掌握了系统的数字电子设计的方法,也知道了实验调试适配的具体操作方法。
通过实验,进一步加深了对EDA的了解,让我对它有了浓厚的兴趣。但是在调试程序时,遇到了不少问题,编译下载程序时,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。
ou 3
第五篇:EDA实验报告
EDA 实验报告
张佳兴 2220131738 电气工程及其自动化1班
一、Verilog语言反应硬件特性举例
1.module cc(clk,en,cout)、input、output,这三个语句用Verilog语言定义了一个逻辑器件,module后边括号内为端口名称,每个端口都对应硬件的一个引脚,引脚的输入输出性质都由input、output所定义,C语言中对变量的定义,都是int等反应数据大小的数据类型,不能反映硬件特性。
2.reg寄存器类型,表示一个具有保持作用的数据储存单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。这种类型就和实际芯片中的寄存器作用一样,可以将其中数据状态保存一定时间,C语言中没有这一类型。
3.always语句当其检测到适当状态时,执行其中内容。Always @(posedge clk)语句就表明,检测到高电平执行,和实际芯片引脚状态变化引起内部变化原理一致,C语言中没有过程赋值这种语句,C中也没有对高低电平、上升下降沿的判断条件。
4.Verilog语言中的模块例化,将各个模块程序在例化程序里结合起来,在硬件层面就相当于将各个小的模块互相连接,构成一个大的模块,C语言中类似的形式是函数,一个函数可以有子函数,但是C中的函数不能反应硬件特性。
二、数字频率计设计与调试总结
在进行课程设计的过程中我遇到了以下几点困难:
1.在最初设计时,没能利用硬件的思想来设计这个题目,导致频率频率计数的逻辑控制部分设计不清。在参考老师所提供的框图后了解应将逻辑控制部分单独设计成一个模块,通过en和clr来控制计数,这样技术部分就可以将之前的实验内容移植过来,十分简便。
2.在设计过程中的,锁存部分原理没有搞懂。按照老师的框图,从前向后分析,发现锁存的时钟clk是之前逻辑控制部分的lock引脚所提供,这样就将每个周期所计得的频率结果在同一个时序通过锁存器向后传输。
3.配置引脚时出错,将数码管的位选引脚顺序弄反,导致数码管显示错误。仔细检查,发现错误,改正后正常运行。4.在拓展功能一的设计中,将十分频部分弄错,最后出来的结果和预期差了一些。在当堂实验课中,这个错误我没能及时纠正,回来之后,我对应程序认真检查,发现我的十分频,被我设计成了逢9进1,导致最后结果错误。
5.发现了自己很多语法问题,比如在过程赋值中对wire类型数据进行赋值导致错误,module定义的模块名称没有和文件名称对应导致错误等,最终我通过PPT及网络途径解决了这些问题。
在这次实验中,基本功能全部实现,并且是我自行制作,拓展功能一,同样是我自行完成,不过我当时得到的结果有误差,实验后我已经发现了问题,改正了错误。拓展功能二没有实现。
三、对课程的建议
1.我希望老师以后的实验过程中能够有一个答疑环节,在实验前,我们可以对预习中不懂的部分进行提问。
2..希望老师能增加一些课时,或者给我们一些课外时间去到实验室,我们的实验我自我感觉相对别的实验来说难度还是比较大的,我觉得如果有充足的时间,洒家可以将拓展部分做出来,为自己争取更好的分数。