我用下面两种方法实现74244,可是仿真结果,当gn是高电平时: 第一个b[7:0]输出可以实现高阻态,而第二个程序,b[7:0]输出不出现高阻态,是零。 这是为什么?这两种方法都可以综合吗?
我是在MaxPlusII下仿真的。
还有当我用第一个程序,用三态门接负载时,报错,错误提示为: TRI or OPNDRN buffer 'h74244.h1' can only drive logic if connected to a BIDIR pin. 当我使用第二个程序时,不抱错误。但第二个程序可以放心使用吗,不影响总线信号吗?
第一个程序: module h74244 (a,b,gn); input gn; input [7:0]a; output [7:0]b;
bufif0 buf7 (b[7],a[7],gn), buf6 (b[6],a[6],gn), buf5 (b[5],a[5],gn), buf4 (b[4],a[4],gn), buf3 (b[3],a[3],gn), buf2 (b[2],a[2],gn), buf1 (b[1],a[1],gn), buf0 (b[0],a[0],gn); endmodule
第二个程序: module h74244 (a,b,gn); input gn; input [7:0]a; output [7:0]b; reg [7:0]b;
always @ (gn or a) if (gn) b = 8'bZ; else b = a; endmodule