0 votes
in Verilog by (200 points)

What is inout in Verilog and how do I use it?

2 Answers

0 votes
by (240 points)

Inout is the type of a port connection to model a bidirectional port. Usually it is for tri-state bidirectional ports and is used in such a way:

inout sdata_io;

Let 'oe' be the output enable signal that enables the output to the stdata_io. Also it is valid to use a dedicated net for an internal use that is driven from that bidirectional port. So:

assign sdata_io = oe ? sdata_out : 1'bz; // if disable - high-impedance state (or will be drives the value of Z in other words).

This need to avoid conflicts at the bidirectional net:

assign sdata_in = sdata_io;

Also it will be valid if we add a pullup:

assign (pull1, pull0) sdata_io = 1'b1;

0 votes
by (240 points)

inout is a port type that is used when you want to use a signal both as an input and an output. But it is a wire and continious assignment must be used for it.

Hardware Coder Community

© 2022 by Hardware Coder. User contributions are licensed under cc by-sa 4.0 with attribution required. Attribution means a link to the question, answer, user, etc on this site.

This site is owned and operated by Hardware Coder in McKinney, Texas.

Send Us A Message
About Us

By using this site, you agree to the following:

Privacy Policy
Terms and Conditions
DMCA Policy
Earnings Disclaimer
Legal Disclaimer