Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - help for a beginner

 
Thread Tools Search this Thread
Old 09-24-2006, 03:27 PM   #1
Default help for a beginner


Can anyone help me figure out how to connect these three ports.

I have a port - dataio : inout std_logic_vector (15 downto 0);
I would like to connect the following ports to it:

sdatao : out std_logic_vector (7 downto 0);
sdatai : in std_logic_vector (7 downto 0);


any help would be appreciated.



mike-t
  Reply With Quote
Old 09-24-2006, 04:08 PM   #2
Paul Uiterlinden
 
Posts: n/a
Default Re: help for a beginner

mike-t wrote:

> Can anyone help me figure out how to connect these three ports.
>
> I have a port - dataio : inout std_logic_vector (15 downto 0);
> I would like to connect the following ports to it:
>
> sdatao : out std_logic_vector (7 downto 0);
> sdatai : in std_logic_vector (7 downto 0);
>
>
> any help would be appreciated.


Just connect them together. Like in real hardware, the trick is of
course preventing two outputs driving (non-'Z') at the same time. So
you must have some direction/enable inputs on the blocks that have
the dataio and sdatao outputs.

--
Paul.

  Reply With Quote
Old 09-24-2006, 04:30 PM   #3
mike-t
 
Posts: n/a
Default Re: help for a beginner

Paul, thanks for the guidance..

I tryied the following port map:
sdatao <= dataio (7 downto 0)
sdatai <= dataio (15 downto

this didnt work....


Paul Uiterlinden wrote:
> mike-t wrote:
>
> > Can anyone help me figure out how to connect these three ports.
> >
> > I have a port - dataio : inout std_logic_vector (15 downto 0);
> > I would like to connect the following ports to it:
> >
> > sdatao : out std_logic_vector (7 downto 0);
> > sdatai : in std_logic_vector (7 downto 0);
> >
> >
> > any help would be appreciated.

>
> Just connect them together. Like in real hardware, the trick is of
> course preventing two outputs driving (non-'Z') at the same time. So
> you must have some direction/enable inputs on the blocks that have
> the dataio and sdatao outputs.
>
> --
> Paul.


  Reply With Quote
Old 09-24-2006, 04:30 PM   #4
mike-t
 
Posts: n/a
Default Re: help for a beginner

Paul, thanks for the guidance..

I tryied the following port map:
sdatao <= dataio (7 downto 0)
sdatai <= dataio (15 downto

this didnt work....


Paul Uiterlinden wrote:
> mike-t wrote:
>
> > Can anyone help me figure out how to connect these three ports.
> >
> > I have a port - dataio : inout std_logic_vector (15 downto 0);
> > I would like to connect the following ports to it:
> >
> > sdatao : out std_logic_vector (7 downto 0);
> > sdatai : in std_logic_vector (7 downto 0);
> >
> >
> > any help would be appreciated.

>
> Just connect them together. Like in real hardware, the trick is of
> course preventing two outputs driving (non-'Z') at the same time. So
> you must have some direction/enable inputs on the blocks that have
> the dataio and sdatao outputs.
>
> --
> Paul.


  Reply With Quote
Old 09-24-2006, 04:31 PM   #5
mike-t
 
Posts: n/a
Default Re: help for a beginner

Paul, thanks for the guidance..

I tryied the following port map:
sdatao <= dataio (7 downto 0)
sdatai <= dataio (15 downto

this didnt work....


Paul Uiterlinden wrote:
> mike-t wrote:
>
> > Can anyone help me figure out how to connect these three ports.
> >
> > I have a port - dataio : inout std_logic_vector (15 downto 0);
> > I would like to connect the following ports to it:
> >
> > sdatao : out std_logic_vector (7 downto 0);
> > sdatai : in std_logic_vector (7 downto 0);
> >
> >
> > any help would be appreciated.

>
> Just connect them together. Like in real hardware, the trick is of
> course preventing two outputs driving (non-'Z') at the same time. So
> you must have some direction/enable inputs on the blocks that have
> the dataio and sdatao outputs.
>
> --
> Paul.


  Reply With Quote
Old 09-24-2006, 10:36 PM   #6
Paul Uiterlinden
 
Posts: n/a
Default Re: help for a beginner

mike-t wrote:

> Paul, thanks for the guidance..
>
> I tryied the following port map:
> sdatao <= dataio (7 downto 0)
> sdatai <= dataio (15 downto


Why 15 downto 8? Oh wait, now I see. You wrote:

> I have a port - dataio : inout std_logic_vector (15 downto 0);
>*I*would*like*to*connect*the*following*ports*to*it:
>
> sdatao : out std_logic_vector (7 downto 0);
> sdatai : in std_logic_vector (7 downto 0);


I missed the point that the inout port is 16 bits wide and the two
other ports 8 bits.

So what exactly do you want to achieve? What are the requirements?
Does it involve three components, like this?:

component_1 dataio --<->--15:0--+---15:8--<-- sdatao component_2
|
+----7:0-->-- sdati component_3
> this didnt work....


That's not a very exact descriprion, is it? What did you do, what did
you see, what did you expect?

--
Paul.

  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump