可移植性编码 1.只使用IEEE标准类型(VHDL):(1)使用STD_LOGIC类型,而不是STD_ULOGIC类型;(2)设计中不要创建过多的的子类型;(3)不要使用BIT和BIT_VECTOR类型。 2.不使用立即数:在设计中,不要使用立即数(但作为例外,可使用0和1),推荐使用常量。使用常量有以下优点:(1)常量对于一个设计具有更多的灵活性;(2)常量值只需要在一个地方修改;(3)编译器可能只支持常量类型,不支持立即数。 3.对于VHDL程序,把常数和参数定义在由1个或多个文件组成的程序包中。 4.
对于Verilog程序,把常数和参数定义在1个或多个小文件中。例如,文件名称为DesignName_Constant.V或DesignName_Parameters.v。 5.避免在代码中嵌入综合命令。 6.使用工艺无关库:(1)对于算法元件,使用Designware
Foundation
Library;(2)设计中应避免使用实体化的门设计;(3)如果设计中必须使用某些特殊工艺门,那么你可以将它隔离在某个单独模块中;(4)如果必须实例化门电路,可以使用SYNOPSYS通用工艺库GTECH。 7.注意Verilog程序和VHDL程序的差异性,保证编码的可转换性:(1)Verilog程序转换到VHDL程序:在Verilog程序设计中,元件端口映射时,不要使用任何逻辑表达式;不同的状态机之间,使用惟一状态名命名;函数在调用时,只能传递函数名、函数参数和局部寄存器变量;任务在调用时,只能传递任务参数和任务内部寄存器变量。(2)VHDL程序转换到Verilog程序:在VHDL程序设计中,不要使用GENERATE声明;不要使用BLOCK块;不要用代码修改CONSTANT声明的变量。
|