个库之中,然后再使用。
使用的过程,则是利用Library,Use等关键字来import这些内容。而要提醒的是,当前编译代码都是被认为是缺省的编入到了work库当中,所以如果需要引用代码中定义的某个包内容,应该用 work.
(packet_name).all之类的path来声明。 操作
1. 强类型语言:
VHDL是强类型语言,对类型要求非常严,一个对象只能有一种数据类型,而且不同类型数据间赋值是严格禁止的,这点Verilog用户应当注意。 2. Procedure和Function:
很好理解,直接对应Verilog的Task和Function,需要注意的就是在VHDL中还可以对Function进行重载,这个,也许有用吧。 3. 属性:
VHDL针对不同的对象,都具有不同的属性,这些属性不妨理解成Verilog当中的Predefined tasks or methods,但是似乎更加的丰富和多样,相信能够有效的减少代码量。 小结
本文目的不在于语法的教程或者指导(本来我也刚看VHDL
不过一个下午而已……),更希望能够迅速、扼要的抽出VHDL和Verilog的一些区别和共性,加速学习的过程。不过,我相信,一个熟悉Verilog的工程师,在吃透了上面这些不同点后,至少可以跌跌撞撞的开始写VHDL代码了,更多的东西,自然需要在实践中去体会和学习。 接下来,我的计划是结合Cadence的IUS工具,写一写最基本的SystemVerilog对于VHDL的验证的QuickStart了。[5. 从目前了解的来看,VHDL对于验证方面的支持还真是有限,比起Verilog都有所不及,在最基本的打印,仿真控制上都要麻烦一些,所以,这种情况下,干脆一律交给SystemVerilog/Vera/E/去做,可能还更直接一些]