vhdl编程的一些心得体会
篇一:VHDL学习心得
学习心得
――《EDA技术实用教程》
本学期对《EDA技术实用教程--VHDL版》的学习为我的专业知识学习打开了一个全新的窗口一一微电子技术领域。对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的强大之处,硬件电路的
优秀的地方,对硬件方面更感兴趣了。这门课程的学习,
为我以后的专业知识的学习打下了良好的基础。
篇二:VHDL体会
学习心得
――《eda技术实用教程》本学期对《eda技术实用教程--vhdl版》的学习为我的专业知识学习打开了一个全新的
窗口一一微电子技术领域。对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的强大之处,硬件电路的优秀
的地方,对硬件方面更感兴趣了。这门课程的学习,
为我以后的专业知识的学习打下了良好
的基础。篇二:vhdl编程的一些心得体会vhdl编程的一些心得体会vhdl是由美国国防部为描述电子电路所开发的一种语言,其全称为hardware description language 。与另外一门硬件描述语言verilog
hdl相比,vhdl更善于描述高层的一些设计,包括系统级(算法、数据通路、控制)和行为
级(寄存器传输级),而且vhdl具有设计重用、大型设计能力、可读性强、易于编译等优点
逐渐受到硬件设计者的青睐。但是,vhdl是一门语法
相当严格的语言,易学性差,特别是对
于刚开始接触vhdl的设计者而言,经常会因某些小细
节处理不当导致综合无法通过。为此
本文就其中一些比较典型的问题展开探讨,希望对初学者有所帮助,提高学习进度。
一. 关于端口
vhdl共定义了5种类型的端口,分别是in, out,inout, buffer 及linkage ,实际设
计时只会用到前四种。in和out端口的使用相对简
单。这里,我们主要讲述关于buffer
和inout 使用时的注意事项。与out端口比,buffer 端口具有回读功能,也即内部反馈,但在设计时最好不要使用buffer,因为buffer 类型的端口不能连接到其他类型
的端口上,无法把包含该类型端口的
设计作为子模块元件例化,不利于大型设计和程序的可读性。若设计时需要实现某个输出的
回读功能,可以通过增加中间信号作为缓冲,由该信号完成回读功能。双向端口inout 是四种端口类型中最为特
殊的一种,最难以学习和掌握,为此专门提供
一个简单程序进行阐述,部分程序如下:…
①datab 篇三:eda心得体会
EDA学习心得
班号:072093-05 学号:20XX1000880
课程刚开始的时候,对EDA技术很陌生,也感到很茫然,
也非常没有信心,当接触到可编程器件的时候,看到大家同样感
到很迷惘。或许,在学习EDA的时候,我应该比别人更
有些优势,在双学位计算机的课程里我已经学过《数字逻辑》,而EDA的一些内容也是和《数字逻辑》直接相关联的。
通过一学期的努力学习,查阅了一些相关技术的书籍,书中通过大量的图示对PLD硬件特性与编程技术进行了形象的讲解,不仅融合了之前学习的关于电路设计的知识还将EDA的技术加入其中。对VHDL语言的详尽讲解更是让我深刻理解了VHDL语言的编程原理。由于本门课程是一门硬件学习课程,所以实验必不可少。通过课程最后实验,我体会一些VHDL语言相对于其他编程语言的特点。
在接触VHDL语言之前,我已经学习了C语言,汇编语言,而相对于这些语言的学习,,VHDL具有明显的特点。
这不仅仅是由于VHDL作为一种硬件描述语言的学习需要了解较多的数字逻辑方面的硬件电路知识,包括目标芯片基本结构方面的知识更重要的是由于VHDL描述的对象始终是客
观的电路系统。由于电路系统内部的子系统乃至部分元器件的工作状态和工作方式可以是相互独立、互不相关的,也可以是互为因果的。这表明,在任一时刻,电路系统可以有许多相关和不相关的事件同时并行发生。例如可以在多个独立的模块中同时入行不同方式的数据交换和控制信号传输,这种并行工作方式是任何一种基于CPU的软件程序语言所无
法描绘和实现的。传统的软件编程语言只能根据CPU的工作方
式,以排队式指令的形式来对特定的事件和信息进行控制或接收。在CPU工作的任一时间段内只能完成一种操作。因此,任何复杂的程序在一个单CPU的计算机中的运行,永远是单向和一维的。因而程序设计者也几乎只需以一维的思维模式就可以编程和工作了。
在学习的过程中,我深深体会到,学习不单单要将理论知识学扎实了,更重要的是实际动手操作能力,学完了课本知识,我并没有觉得自己有多大的提高,相反的,每次做完实验之后,都会感觉自己收获不少,因此,我认为在老师今后的教学当中,应当更加注重动手实验,把理论与实践很好的结合起来,才能使同学融会贯通。