VHDL体会

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习心得

——《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 是由美国国防部为描述电子电路所开发的一种语言,其全称为(very high speed

integrated circuit) 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<=din when ce=’1’ and rd=’0’ else

② (others=>’z’);

③ dout<=datab when ce=’1’ and rd=’1’ else

④ ( others=>’1’ );

? ?

相关文档
最新文档