从VLSI棒图自动生成Verilog:NMOS/PMOS双向模拟方案问询
解决方案:用组合逻辑建模晶体管的双向电平传输特性
直接使用Verilog连续赋值语句(assign)建模,完全规避原语的单向性和电平传输缺陷,同时满足自动代码生成的通用性需求,仅保证逻辑输出正确。
NMOS晶体管建模
NMOS导通条件为栅极高电平(1),导通时仅双向传输低电平(0)——任意一端为0时,另一端被拉至0;两端为1时保持原值。
针对连接节点node_a、node_b,栅极gate的NMOS,生成如下代码:
// NMOS: node_a <-> node_b, controlled by gate assign node_a = (gate == 1'b1) ? (node_b == 1'b0 ? 1'b0 : node_a) : node_a; assign node_b = (gate == 1'b1) ? (node_a == 1'b0 ? 1'b0 : node_b) : node_b;
PMOS晶体管建模
PMOS导通条件为栅极低电平(0),导通时仅双向传输高电平(1)——任意一端为1时,另一端被拉至1;两端为0时保持原值。
针对连接节点node_x、node_y,栅极gate的PMOS,生成如下代码:
// PMOS: node_x <-> node_y, controlled by gate assign node_x = (gate == 1'b0) ? (node_y == 1'b1 ? 1'b1 : node_x) : node_x; assign node_y = (gate == 1'b0) ? (node_x == 1'b1 ? 1'b1 : node_y) : node_y;
方案优势
- 双向特性:无需区分源极/漏极,节点间自动处理任意方向的电平传输,匹配实际晶体管对称性
- 电平正确性:严格遵循NMOS传0、PMOS传1的逻辑特性,避免
tranif系列原语的电平漏洞 - 自动生成友好:每个晶体管对应固定格式的代码片段,棒图解析后可直接批量生成,无需额外逻辑判断
- 纯逻辑建模:完全忽略模拟效应,仅保证逻辑输出正确,适配验证需求
内容的提问来源于stack exchange,提问作者Nick O.
相关产品推荐
相关产品推荐

