首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog高阻抗inout合成

Verilog高阻抗inout合成
EN

Stack Overflow用户
提问于 2019-04-25 00:26:30
回答 1查看 1.2K关注 0票数 0

我通常不使用verilog中的inout或高阻抗状态进行合成(假设内部逻辑最终必须作为标准的CMOS 2状态逻辑来实现)。

但是,我发现了许多用于合成的verilog,如下所示:

代码语言:javascript
复制
module top(
    inout signal1,
    inout signal2
);

    submodule sub1 ( 
        //outputs from sub1
        signal1, 
        signal2
    );
    submodule sub2 ( 
        //outputs from sub2
        signal1, 
        signal2
    );

endmodule

其中,signal1和signal2只被驱动到1'b0或1'bz,并且它们在禁忌文件中被声明为开放的排水端口。

大多数合成工具都支持合成吗?我瞄准了一个格子CPLD,它似乎工作得很好,但我很好奇其他工具是否合成了这样的东西,好吗?

您通常需要显式地告诉工具来提取信号吗?或者这通常是不必要的(在我正在查看的代码中,我找不到任何关于拉动的地方)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-25 07:16:19

FPGA配备了可配置的IO库,取决于如何使用约束文件指导工具,您可以使用“enable”。为了驱动开路漏总线,通常使用三状态缓冲器,其中(1)输出信号(指向总线)与常数零相连接,(2)使能信号(连接到三状态缓冲器的启用)被认为是实际的控制逻辑,它提供高Z(由物理总线实现产生的拉出电阻)和强0(来自输出信号)之间的切换,(3)输入信号(指向我们的内部逻辑(用于数据采集和总线仲裁))。

在我参与过的任何商业项目中,我从未见过RTL代码中使用1‘bz驱动的信号,我的建议是避免它,因为我相信总是有更传统的方法来处理它(仅用逻辑1’b1和1‘b0与三状态缓冲区相结合)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55840231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档