- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路-康华光-02逻辑代数与硬件描述语言
FPGA开发流程与软件 (1)设计定义 (2)HDL Code (3)功能仿真 (4)逻辑综合 (5)前仿真 (6)布局布线 (7)后仿真 (9)在系统测试 逻辑仿真器 逻辑综合器 FPGA厂家工具 逻辑仿真器 逻辑仿真器 (8)静态时序分析 FPGA厂家工具: Altera的Max+PlusII、QuartusII, Xilinx的Foundation、ISE4.1等 VHDL 和Verilog的功能较强属于行为描述语言。两种HDL均为IEEE标准。特别是Verilog由于其句法根源出自C语言,它相对VHDL好用 好学 2.几种硬件描述语言 ABEL (Advanced Bolean Equation Language) VHDL (V--Very High Speed Integrated Circuit) Verilog HDL (简称Verilog) 能力(capability) VHDL 结构建模 抽象能力强 系统级-算法级-RTL级-逻辑级-门级 Verilog 结构建模 具体物理建模能力强 算法级-RTL级-逻辑级-门级-版图级 3.常用VHDL与Verilog两种语言的比较 数据类型(data type) VHDL 是一种数据类型性极强的语言。支持用户定义的数据类型。严格规定只有类型、字位相同的数据才能进行转递和作用。能利用数据类型检查编程的错误。可以使用抽象(比如枚举)类型为系统建模。 Verilog 数据类型简单。只能由语言本身定义,不能由用户定义。适于硬件结构的建模,不适于抽象的硬件行为建模。 易学性(easiest to learn) VHDL 是一种数据类型很强的语言,欠直观。加之同一种电路有多种建模方法,通常需要一定的时间和经验,才能高效的完成设计。 Verilog 由于Verilog为直接仿真语言,数据类型较简单,语法很直观,故Verilog更易理解和好学。 Verilog更像C,约有50%的结构来自C,其余部分来自ADA。 2.3.1 Verilog语言的基本语法规则 为对数字电路进行描述,Verilog语言规定了一套完整的语法结构。 1.间隔符: Verilog 的间隔符主要起分隔文本的作用,可以使文本错落有致,便于阅读与修改。 间隔符包括空格符(\b)、TAB 键(\t)、换行符(\n)及换页符。 2.注释符:注释只是为了改善程序的可读性,在编译时不起作用。 多行注释符(用于写多行注释): /* --- */; 单行注释符 :以//开始到行尾结束为注释文字。 为了表示数字逻辑电路的逻辑状态,Verilog语言规定了 4种基本的逻辑值。 0 逻辑0、逻辑假 1 逻辑1、逻辑真 x或X 不确定的值(未知状态) z或Z 高阻态 标识符:给对象(如模块名、电路的输入与输出端口、变量等)取名所用的字符串。以英文字母或下划线开始 如,clk、counter8、_net、bus_A 。 关键词:用Verilog语言本身规定的特殊字符串定义语言的结构。例如,module、endmodule、input、output、wire、reg、and等都是关键词。关键词都是小写,关键词不能作为标识符使用 。 4.逻辑值集合 3.标识符和关键词 5.常量及其表示 实数型常量 ; 十进制记数法 如: 0.1、2.0、5.67 科学记数法 如: 23_5.1e2、5E-4 23510.0、 0.0005 Verilog允许用参数定义语句定义一个标识符来代表一个常量,称为符号常量。定义的格式为: parameter 参数名1=常量表达式1,参数名2=常量表达式2,……;如 parameter BIT=1, BYTE=8, PI=3.14; 6.字符串 字符串是双撇号内的字符序列 常量 十进制数的形式的表示方法:表示有符号常量 例如:30、-2 带基数的形式的表示方法: 表示常量 格式为:+/-位宽’基数符号数值 整数型 例如:3’b101、5’o37、8’he3,8’b1001_0011 2.3.2 变量的数据类型 变量的数据类型 寄存器型 网络型 网络类:是指输出始终根据输入的变化而更新其值的变量,它一般指的是硬件电路中的各种物理连接. 例:网络型变量L的值由与门的驱动信号a和b所决定,即L=ab。a、b的值发生变化,线网L的值会立即跟着变化。 例:wire L; //将上述电路的输出信号L声明为网络型变量 wire [7:0] data bus; //声明一个8-bit宽的网络型总线变量 常用的网络类型由关键词wire定义 wire型变量的定义格式如下: wire [n-1
文档评论(0)