- 1、本文档共371页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务1.1VerilogHDL标准
任务1.2电路设计
任务1.3电路仿真;任务1.1VerilogHDL标准;VerilogHDL目前有三个标准:IEEE1364-1995、IEEE1364-2001和IEEE1364-2005。这三个标准分别发布于1995年、2001年、2005年,相应的标准可简称为Verilog-1995、Verilog-2001和Verilog-2005。
VerilogHDL语言最初是于1983年由GatewayDesignAutomation公司为其模拟器产品开发的硬件建模语言。由于该公司的模拟、仿真器产品广泛使用VerilogHDL,因此该语言作为一种便于使用且实用的语言逐渐为众多设计者所接受。开放Verilog国际组织是促进VerilogHDL发展的国际性组织。1992年OVI决定致力于推广Verilog标准成为IEEE标准并于1995年获得成功(称之为IEEE1364-1995)。;与Verilog-1995相比,Verilog-2001加入了很多有用的特性,这些特性可以提高设计的生产效率、综合能力和验证效率。新特性包括:增加generate语句,简化模块多次实例化或者选择实例化;增强对多维数组的支持;增强文件I/O的操作;增加对task和function重入的支持;增加always@(*);增加新的端口声明方式;等等。
与Verilog-2001相比,Verilog-2005增加了Verilog-AMS,支持对集成的模拟和混合信号系统的建模,把寄存器类型改名为变量类型。
2009年,IEEE1364-2005和IEEE1800-2005两个部分合并成IEEE1800-2009。IEEE1800-2005和IEEE1800-2009都是SystemVerilog语言标准。SystemVerilog是硬件描述验证语言,是硬件描述语言和硬件验证语言的一个集成。
本书所有代码均符合VerilogHDL的IEEE1364-2001标准。关于VerilogHDL标准更多的内容和细节,请读者自行查阅上述VerilogHDL标准。;任务1.2?电路设计;HDL,全称硬件描述语言,用来描述电路。采用HDL编写电路描述文件时,可用综合工具生成电路网表文件。电路设计完成后,通常需要查看综合后的电路。本书使用的综合工具软件是Vivado14。该版本支持VerilogHDL的IEEE1364-2001标准。另外,本书部分项目也用到了QuartusⅡ13软件。关于Vivado14和QuartusⅡ13软件的安装和详细使用说明,本书不展开介绍,感兴趣的读者可自行查阅相关资料。
在电路设计过程中,可能会结合使用
HDL和C语言。HDL与C语言两者有本质区
别,如图1-1所示。;C语言是软件语言,编译后生成机器语言程序(机器语言程序是一系列指令),并使CPU执行,并不生成硬件电路,CPU处理软件指令需要取址、译码、执行,代码是串行执行的。HDL是硬件描述语言,综合后生成硬件电路,代码是并行执行的。
在电路设计过程中,通常将C语言和HDL语言结合使用,具体表现在:
(1)在电路设计中,C语言可以进行先期的算法验证,待算法验证后再使用HDL语言来实现,也就是使用C语言辅助硬件设计。
(2)?C语言与VerilogHDL硬件描述语言相似,在完全理解了两种语言的语法和功能,并具备了软件思维和硬件思维之后,很容易将C语言的程序转成VerilogHDL语言的程序。;一、设计举例
【例1-1】使用HDL语言描述一个非门。
上述代码中,将输出Y描述为输入A取反,可以使用综合工具查看生成的电路。
综合的电路如图1-2所示。;【例1-2】使用HDL语言描述一个D触发器。
上述代码中,复位时将q的值赋为0,在clk上升沿将d赋值给q。
综合的电路如图1-3所示。
;上述电路设计涉及的知识点有:module结构及其相关知识点、assign连续赋值语句、always过程语句。
(1)?module结构。
module和endmodule是VerilogHDL的关键字,用来说明模块。每个模块都可以理解为一颗特定功能的芯片。VerilogHDL程序是由模块构成的,每个模块的内容都嵌在module和endmodule两个语句之间。
每个模块可实现特定的功能,且可进行层次嵌套。因此,可将大型的数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功能。
;(2)端口属性。
每个模块需进行端口列表声明,说明输入/输出端口属性,并对模块的功能进行描述。input和output是VerilogHDL的关键字,用来说明模块的端口属性。端口属
您可能关注的文档
- 心理成长与发展 课件 第2章 成为可能的自己.pptx
- 心理成长与发展 课件 第1章 心理健康与成长.pptx
- 心理成长与发展 课件 第3章 探索友谊的世界.pptx
- 心理成长与发展 课件 第4章 体会世间的爱意.pptx
- 心理成长与发展 课件 第5章 做积极的学习者.pptx
- 心理成长与发展 课件 第6章 解析情绪方程式.pptx
- 心理成长与发展 课件 第7章 化解压力的艺术.pptx
- 心理成长与发展 课件 第8章 成为一个幸福的人.pptx
- 心理成长与发展 课件全套 (王亚楠)第1--8章 心理健康与成长 ---成为一个幸福的人.pptx
- Verilog HDL项目式教程 课件 项目1 Verilog HDL综述.pptx
文档评论(0)