- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用最广泛的一种硬件描述语言。据有关文献报道,目前在美国使用Verilog HDL进行设计的工程师大约有10多万人,全美国有200多所大学教授用Verilog硬件描述语言的设计方法。在我国台湾地区几乎所有著名大学的电子和计算机工程系都讲授Verilog有关的课程。 * Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用最广泛的一种硬件描述语言。据有关文献报道,目前在美国使用Verilog HDL进行设计的工程师大约有10多万人,全美国有200多所大学教授用Verilog硬件描述语言的设计方法。在我国台湾地区几乎所有著名大学的电子和计算机工程系都讲授Verilog有关的课程。 * 它们都可以借助类似高级语言的特性来抽象描述数字电路的结构和功能,都可以对设计出来的电路进行验证和仿真,以确保电路的正确性,以及都可以实现电路描述与工艺实现的分离。简单地说,它们都可以帮助工程师完成复杂数字电路系统的设计。但它们又各自有着不同的特点: Verilog其架构同VHDL相似,但主要被用来进行硬件仿真。或许私人公司更注重实用,Verilog要比VHDL(来自官方)简洁得多。 * 一般来说,设计的抽象程度越高,灵活性就越好,和工艺的无关性就越高。 * 程序包首与程序包体的关系: 程序包体并非必须,只有在程序包中要说明 子程序时,程序包体才是必须的。 * 基本标识符中的英文字母不分大小写; VHDL的保留字不能作为标识符使用。 * 三种对象的特点及说明场合: 信号:全局量, 用于architecture、 package、entitiy。 变量:局部量,用于process、function、 procedure。 常量:全局量,可用于上面两种场合。 * EDA课的核心内容Verilog硬件描述语言。但新的教学大纲取消了EDA课程。如果没有fpga/cpld硬件结构知识作为支撑,那么你所学的语言也就想当然的认为是类似与c的一门语言罢了。不能深刻理解他的硬件描述语言的真正含义。不能将语句和硬件结构相对应起来。如果让没有学过模数电的人学习HDL,那是一个很痛苦的事情。他不知道什么时候语句是串行处理的,什么时候是并行处理的。所以学习硬件描述语言,时刻要牢记你输入的语句与具体硬件电路的对应关系。 * * * 大型的系统分解为多个小型模块的设计 * 上次课我们学习了Verilog的运算符和语句。Verilog运算符与C语言比较类似,但有它的特别之处。这里提醒一下,要慎用乘除和求余运算,能尽量用移位代替的用左移和右移代替,为什么? 因为Verilog的乘除法运算是基于FPGA芯片内部有限的硬件乘法器来做支撑的。另外,注意一下位操作运算、缩位运算、逻辑运算的区别AB、AB、A;还要注意一下运算是有优先级的。 在语句里面,学习了过程语句:always;块语句:begin end;赋值语句:持续赋值assign和过程赋值(阻塞和非阻塞);条件语句:if else和case endcase Always:敏感信号两种类型(电平敏感和边沿敏感),always之间是并行执行的 Begin end 里面是顺序执行的 Assign是wire数据类型的 过程赋值分两步:右式计算和左式更新。特别注意阻塞和非阻塞赋值,阻塞是右式计算和左式更新是同时进行的;非阻塞是先右式计算,左式更新在always最后一起更新。 应用场合:非阻塞用在边沿触发的进程里面;阻塞用于电平触发的进程里面。 if else和case endcase强调一下,必须写完整 * for循环的用法是软件人员的思维, 作为一个硬件工程师,写每一条语句必须能够想象综合出来之后的样子,而不能为了所谓的简便来推荐使用for语句,只会给综合器带来麻烦。所以不推荐使用。 * 一个时钟周期内计算完整个乘法是不可能的。 * 若在代码中写下C=A/B,你将会发现只有一些模拟软件在前仿真中能正确执行这句代码,但几乎任何软件都不能将其综合成硬件。不要怪软件太笨。试想一下,如果我们自己笔算除法是怎么做的?从高位到低位逐次试除、求余、移位。试除和求余需要减法器,商数和余数的中间结果必须有寄存器存储;而此运算显然不能在一个时钟周期里完成,还需要一个状态机来控制时序。一句简单的C=A/B同所有这些相比显得太抽象,对于只能接受RTL或更低层次描述的EDA软件来说确实太难
您可能关注的文档
最近下载
- 医药代表拜访技巧大揭秘:如何与医生进行有意义的对话.pptx VIP
- 2026年湖南中医药高等专科学校单招职业技能考试题库附答案.docx VIP
- 中国的世界文化遗产-英文版.ppt VIP
- 大连海事大学《思想道德与法治》课件-绪论、第一章-E.pptx VIP
- 医疗数据跨境传输2025年隐私保护技术路径研究.docx
- IEC62446-2:2020并网光伏系统运维标准解读.pptx VIP
- 《行政执法证据搜集与运用》课件.ppt VIP
- 供水管网施工组织设计(完整版).docx VIP
- 教学课件:高中化学 第四章 非金属及其化合物 4.3 硫和氮的氧化物(第2课时)课件 新人教版必修1.ppt VIP
- 《误差的来源与分类》课件.ppt VIP
文档评论(0)