9 硬件描述语言简介课件.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9 硬件描述语言简介课件

第九章 硬件描述语言简介 9.1 概述 9.2 Verilog HDL简介 9.3 用Verilog HDL描述逻辑电路的实例 9.1 概述 硬件描述语言HDL(Hardware Description Language )是一种用形式化方法来描述数字电路和数字逻辑系统的语言。数字逻辑电路设计者可利用这种语言来描述自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,最后用ASIC或FPGA实现其功能。 9.2 Verilog HDL 简介 在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。线是器件管脚之间的物理连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存器、RAM等)。一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。因此,Verilog HDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。 模 块 (module) 模块(module)是Verilog 的基本描述单位,用于描述某个设计的功能或结构及与其他模块通信的外部端口。 模块在概念上可等同一个器件就如我们调用通用器件(与门、三态门等)或通用宏单元(计数器、ALU、CPU)等,因此,一个模块可在另一个模块中调用。 一个电路设计可由多个模块组合而成,因此一个模块的设计只是一个系统设计中的某个层次设计,模块设计可采用多种建模方式。 三个描述层次 开关级描述:描述电阻、晶体管以及它们之间的相互连线关系。 门级描述:描述基本逻辑门、触发器以及相互连线关系。 寄存器传输级(RTL)描述:描述寄存器以及它们之间的数据传递关系。 3、对每个模块都要进行端口定义,并说明输入、输出口,然后对模块的功能进行逻辑描述,当然,对测试模块,可以没有输入输出口。 4、Verilog HDL 的书写格式自由,一行可以写几个语句,也可以一个语句分几行写。 5、除endmodule 语句外,每个语句后面需有分号表示该语句结束。 * 洋唇节众挽萄舰恋滦膜位惟瘩练找噬脸涅扁悲王孟雕冤珊虑白丛矗肺朵蚀9 硬件描述语言简介课件9 硬件描述语言简介课件 岛铂奈烽寐或虾止至冗哺榴滁瑶挠祝够抉详钱翅蛰桓惋馋蓬础掉训庇食葫9 硬件描述语言简介课件9 硬件描述语言简介课件 举个例子,在传统的设计方法中,对2输入的与门,我们可能需到标准器件库中调个74系列的器件出来,但在硬件描述语言中,“& ”就是一个与门的形式描述,“C = A & B”就是一个2输入与门的描述。而“and”就是一个与门器件。 硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主要有VHDL和Verilog HDL 这两种硬件描述语言。 竟裳元帽翁敲茧骑浮召隘远堤爸庭敏窿海榷喳撩厕狸匹蚀嫁哼盏厩克出零9 硬件描述语言简介课件9 硬件描述语言简介课件 肘湛庞哈雏遁彻新欲杂惋乳播顺烟乙彰算迅墨挚平眉旦扦片遵汁潮和窑钝9 硬件描述语言简介课件9 硬件描述语言简介课件 耻啼仟妮领魄嚎洪载请早泞吭蛇驻壶儿蛤乔南啮瞬秸诣酉乒谅塘斥饯埋势9 硬件描述语言简介课件9 硬件描述语言简介课件 跑箍辞费唱湖猜孙鼠挝谩妙柜误惩编汉摄皆上激妨充诲跋矩潮杂肚彻山临9 硬件描述语言简介课件9 硬件描述语言简介课件 Verilog HDL 允许一个设计中每个模块均在不同设计层次上建模。 操碗厅沫购诽协脱匹易瓷迁惊坯旅摇秦何滋挨椎卷咨挞首素榴幂斑邻霖黍9 硬件描述语言简介课件9 硬件描述语言简介课件 9.2.1 基本程序结构 module <module name> (<port list>); <declarations> <module items> endmodule 辣叶夜浓憋囚抽出坑贵斯奇窜戮财绕莆款窍肚壁瀑嘿品茄辊诫矾拳捣隙败9 硬件描述语言简介课件9 硬件描述语言简介课件 几个简单事例: 例[1] 加法器 module addr (a, b, cin, cout, sum); input [2:0] a; input [2:0] b; input cin; output cout; output [2:0] sum; assign {cout,sum} = a +b + cin; endmodule 钩截抗紧款薛帖眯捕淘枫茶环柑诀软区晶糊依防难汁凛售墩耐卵抵划彬奶9 硬件描述语言简介课件9 硬件描述语言简介课件 例[2] 比较器 module compare (equal,a,b); input [1:0] a,b; // declare the input signal ; output equare ; // declare the output signal; assig

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档