首先,ASIC的类型主要分为全定制ASIC 以及半定制ASIC。那么半定制又可以分为基于标准单元的ASIC和基于门阵列的ASIC。那么全定制的ASIC,它的优点主要是体现在大批量的生产上,可以提供更低的功耗,更高的速度以及最少的逻辑门数,但是它的缺点就是设计周期比较长。那么基于标准单元的ASIC,它的优点是设计周期更短。基于门阵列的ASIC又分为通道门阵列,无通道门阵列以及结构化门阵列三种。
按照抽象层次可以讲设计分为功能设计 、逻辑设计 、门级设计 以及开关级设计。那么逻辑设计一般就是使用设计,那么门级设计一般就是将RTL转换为门级网表。开关级设计主要是采用CMOS单元和开关实现设计。
在ASIC研制周期中,我们需要关注面积、速度、功耗等方面的要求。对于面积而言,影响面积主要有以下几个方面:架构调整、RTL、使用综合的命令,物理设计时使用专用的单元,功耗主要分为静态功耗和动态功耗。为了降低功耗,我们可以使用低功耗架构、低功耗单元、调整以减少动态功耗、使用低功耗格式文件。
使用异或逻辑实现二进制码和格雷码之间的转换。
二进制码转格雷码
module (
input a0,a1,a2,a3,
output g0,g1,g2,g3,
)
assign g3= a3 ;
assign g2= a3 ^ a2;
assign g1= a2 ^ a1;
assign g0= a1 ^ a0;
endmodule
格雷码转二进制
module (
input a0,a1,a2,a3,//格雷码
output g0,g1,g2,g3,//二进制码
)
assign g3= a3 ;
assign g2= a3 ^ a2;
assign g1= a3 ^ a2 ^ a1; // a2 ^ a1
assign g0= a3 ^ a2 ^ a1 ^ a0; // a1 ^ a0
endmodule