‵include语句的优点: 避免程序设计人员的重复劳动!不必将源代码复制到自己的另一源文件中,使源文件显得简洁。 (1)可以将一些常用的宏定义命令或任务(task)组成一个文件,然后用‵include语句将该文件包含到自己的另一源文件中,相当于将工业上的标准元件拿来使用。 (2)当某几个源文件经常需要被其他源文件调用时,则在其他源文件中用‵include语句将所需源文件包含进来。 ‵timescale语句: Ø
在‵timescale语句中,用来说明时间单位和时间精度参量值的数字必须是整数。 Ø
其有效数字为1、10、100; Ø
单位为秒(s)、毫秒(ms)、微秒(us)、纳秒(ns)、皮秒(ps)、毫皮秒(fs)。 在同一个Verilog HDL模块中可有多种级别的描述。 Ø
系统级(system level): 用高级语言结构(如case语句)实现的设计模块外部性能的模型; Ø
算法级(algorithmic level): 用高级语言结构实现的设计算法模型(写出逻辑表达式); Ø
RTL级(register transfer level): 描述数据在寄存器之间流动和如何处理这些数据的模型; Ø
门级(gate level): 描述逻辑门(如与门、非门、或门、与非门、三态门等)以及逻辑门之间连接的模型; Ø
开关级(switch level): 描述器件中三极管和储存节点及其之间连接的模型。 总结: Ø
采用的描述级别越高,设计越容易,程序代码越简单;但耗用器件资源更多。对特定综合器,可能无法将某些抽象级别高的描述转化为电路! Ø
基于门级描述的硬件模型不仅可以仿真,而且可综合,且系统速度快。 Ø
所有Verilog HDL编译软件只是支持该语言的一个子集。 Ø
尽量采用编译软件支持的语句来描述设计;或多个软件配合使用。 Ø
一般用算法级(写出逻辑表达式)或RTL级来描述逻辑功能,尽量避免用门级描述,除非对系统速度要求比较高的场合才采用门级描述。 (1)采用什么描述级别更合适? 系统级描述太抽象,有时无法综合成具体的物理电路;门级描述要求根据逻辑功能画出逻辑电路图,对于复杂的数字系统很难做到;而算法级和RTL级描述级别适中,代码不是很复杂,且一般容易综合成具体的物理电路,故建议尽量采用算法级和RTL级来描述。 (2)怎样减少器件逻辑资源的耗用? 当器件容量有限时,为减少器件逻辑资源的耗用,建议少用if-else语句和case语句,尽量直接使用逻辑表达式来描述系统的逻辑功能;或者用case语句取代 |