学习日记——Verilog语法简介

一、HDL语言简介

  • FPGA开发所使用的代码 ,我们通常称之为硬件描述语言( Hardware Description Language) 目前最主流的是VHDL和Verilog
  • VHDL发展较早 ,语法严谨;
  • Verilog类似C语言,语法风格比较自由

二、HDL语言学习方法

(此经验是从被人那里学来的,一起跟着方法去做)

1、需要同时掌握VHDL和Verilog

  • 建议初学者先掌握其中一门 ,至于到底先下手哪-一门,则需要读者根据自身的情况做考量
  • 也别忘了兼故另一门,无论哪一种语言,至少咱也要能看懂别人的设计

2、代码和电路的关系

  • 不要抛开实际电路而研究语法 ,多花些精力比对实际逻辑电路和代码的映射关系,必要时做做仿真,最好能再找些直观的外设在实验板上看看结果
  • 若能达到代码和电路都心中有数 ,那才证明真真正正掌握HDL语言的精髓了

3、可综合的语法与 行为级语法

  • 可综合的语法是一 一个很小的子集, 对于初学者,建议先重点掌握好这个子集
  • 做仿真验证需要用到更高级的行为级语法 ,后续也必须掌握
  • 所谓可综合的语法 ,是指硬件能够实现的一-些语法,这些语法能够被EDAI具所支持,能够通过编译最终生成用于烧录到FPGA器件中的配置数据流
  • 无论是Verilog语言还是VHDL语言 ,可综合的子集都很小

4、HDL语言学习经验

  • 手中需要准备一 本比较完整的语法书籍,认真看过、理解过,做到相关语法心中有数
  • 参考一些简单的例程 ,并且自己动手写写代码实现相同或相近的电路功能
  • 总结下来, 就是多看、多写、多思考、多比对

三、什么是Verilog HDL?

  • Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。
  • Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
  • Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用 Ve r i l o g仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。 Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然 ,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述

四、历史

  • Verilog HDL语言最初是于1 9 8 3年由Gateway Design Automation 公司为其模拟器产品开发的硬件建模语言。那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL作为一种便于使用且实用的语言逐渐为众多设计者所接受。在一次努力增加语言普及性的活动中, Verilog HDL语言于1990年被推向公众领域。 Open Verilog International(OVI)是促进Verilog发展的国际性组织。1992年, O V I决定致力于推广Verilog OVI标准成为I E E E标准。这一努力最后获得成功, Verilog 语言于1995年成为I EEE标准,称为 IEEE Std1364-1995。

五、主要能力

下面列出的是Ve r i l o g硬件描述语言的主要能力:
• 基本逻辑门,例如and、o r和nand等都内置在语言中。
• 用户定义原语(U D P)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。
• 开关级基本结构模型,例如 p m o s 和n m o s等也被内置在语言中。
Gateway Design Automation公司后来被Cadence Design Systems公司收购。
• 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。
• 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模。
• Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
• 能够描述层次设计,可使用模块实例结构描述任何层次。
• 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。
• Verilog HDL不再是某些公司的专有语言而是 IEEE标准。
• 人和机器都可阅读 Verilog 语言,因此它可作为 EDA的工具和设计者之间的交互语言。
• Verilog HDL语言的描述能力能够通过使用编程语言接口( PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。
• 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RTL)到算法级,包括进程和队列级。
• 能够使用内置开关级原语在开关级对设计完整建模。
• 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。
• Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。
• 在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。
• 能够使用门和模块实例化语句在结构级进行结构描述。
• 图中显示了Verilog HDL 的混合方式建
模能力,即在一个设计中每个模块均可
以在不同设计层次上建模。
在这里插入图片描述
• Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。
• 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使
用。
• 可以显式地对并发和定时进行建模。
• 提供强有力的文件读写能力。
• 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱生活的fuyao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值