‵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语句取代欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |