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

Reply

VHDL - Style Question for Components

 
Thread Tools Search this Thread
Old 09-05-2007, 10:05 PM   #1
Default Style Question for Components


Finally I have a STYLE question rather than a how-to!

So I'm putting together the top level of my hierarchical design. I
have many individual entities in my 'work' directory that I want to
hook together.

What is the "standard" that you synthisis guys use?

Declare - Instantiate - Configure a-la VHDL '87
or
direct instantiation a-la VHDL '93?

or something else?

Shannon



Shannon
  Reply With Quote
Old 09-05-2007, 10:27 PM   #2
Mike Treseler
 
Posts: n/a
Default Re: Style Question for Components
Shannon wrote:

> What is the "standard" that you synthisis guys use?


This guy uses

---------> direct instantiation a-la VHDL '93?

Here's an example from a testbench, but it's
the same format in synthesis structures.

-- Mike Treseler

dut : entity work.uart
port map (
clock => clk_s, -- [in] -- by tb_clk
reset => rst_s, -- [in] -- by tb_clk
address => address_s, -- [in] -- by main
writeData => writeData_s, -- [in] -- by main
write_stb => write_stb_s, -- [in] -- by main
readData => readData_s, -- [out]-- by uut
read_stb => read_stb_s, -- [in] -- by main
serialIn => serialIn_s, -- [in] -- by main,loopback dest
serialOut => serialOut_s -- [out]-- by uut, loopback source
);


-- Mike Treseler


Mike Treseler
  Reply With Quote
Old 09-06-2007, 02:03 PM   #3
Martin Thompson
 
Posts: n/a
Default Re: Style Question for Components
Shannon <> writes:

> Finally I have a STYLE question rather than a how-to!
>
> So I'm putting together the top level of my hierarchical design. I
> have many individual entities in my 'work' directory that I want to
> hook together.
>
> What is the "standard" that you synthisis guys use?
>

Hi Shannon,

My answer would be direct instantiation (unless you have a really good
reason not to).

We had a thread about this a while ago: (sorry, long line!)
http://groups.google.co.uk/group/com...61479f1ba38b61

Cheers,
Martin

--

TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html


Martin Thompson
  Reply With Quote
Old 09-06-2007, 03:52 PM   #4
Andy
 
Posts: n/a
Default Re: Style Question for Components
I'm with Mike, except I also declare the architecture name, as
follows:

dut : entity work.uart(rtl)

where "rtl" is the name of an architecture for the entity uart.
Otherwise, the least recently analyzed architecture gets used, just
like with components and default bindings.

Note that direct instantiation requires strict order of compilation,
which with most tools is a very small price to pay for having no
configurations and no components to mess with (nor the uncertainties
of default bindings)*.

* the language is not uncertain WRT default bindings, but I usually
am!

Andy



Andy
  Reply With Quote
Old 09-06-2007, 04:03 PM   #5
Shannon
 
Posts: n/a
Default Re: Style Question for Components
Thanks for the replies all. Looks like direct instantiation is the
winner.

Andy, you mentioned strict order of compilation is required. Can you
elaborate?

Shannon



Shannon
  Reply With Quote
Old 09-06-2007, 11:00 PM   #6
Andy
 
Posts: n/a
Default Re: Style Question for Components
On Sep 6, 10:03 am, Shannon <sgo...@sbcglobal.net> wrote:
> Thanks for the replies all. Looks like direct instantiation is the
> winner.
>
> Andy, you mentioned strict order of compilation is required. Can you
> elaborate?
>
> Shannon


No, elaboration is different from compilation (analysis) ;^)

Oh, you want more information on order of compilation...

When you compile an architecture with component instantiations, only
the component definition needs to be previously compiled (either in a
package, or in the declarative region of the instantiating
architecture itself). Subsequently, only if the component later
changes does the instantiating architecture have to be recompiled.

When you compile an architecture with a direct entity and architecture
instantiation, both the architecture and its entity must already be
compiled (naturally, the entity before its architecture).
Subsequently, any change to the entity or architecture will force a
recompile on the instantiating architecture.

If the architecture is not indicated explicitly in an entity
instantiation, then only entity changes (which would likely have
caused the component to change also, had there been one) require the
instantiating architecture to be recompiled. But the entity must have
been compiled first before the instantiating architecture.

For most tools, this is not a big problem, since they tend to take
care of knowing when to compile what, once the design is compiled
correctly the first time. Some tools allow you to just throw a list of
files at them (in any order), and they will parse them and figure out
the correct order (you have to tell them the top level usually). They
can even correctly compile modules that occur out of order in the same
file.

Clear as mud?

Andy



Andy
  Reply With Quote
Old 09-07-2007, 07:36 AM   #7
ms_sarwar
Junior Member
 
Join Date: Sep 2007
Posts: 4
Default
Hi all..

I have to change the layout of a website built in ASP.NET. I have the HTML/CSS code for the design. All I need to do is to use this HTML/CSS design in the website i.e in aspx pages but without changing to code i.e cs files. Can anyone give me an idea how to do that...

thnx


ms_sarwar
ms_sarwar is offline   Reply With Quote
Old 09-07-2007, 03:07 PM   #8
scottcarl
Member
 
Join Date: May 2007
Location: USA
Posts: 51
Send a message via Yahoo to scottcarl
Default
The 'direct instantiation' takes a little less copying and pasting because the component doesn't need to be placed into the top of the code. However, you might find that when you need to refer back to that component, you'll have to go find that component code and reopen it. It's nice when the component is declared in the code already and you can simply scroll up the page to see which ports are in's, out's, or what their bit-widths are. You also don't have to comment every port since the component is already declared in the code. Just my 2 cents.

Scott


scottcarl
scottcarl is offline   Reply With Quote
Old 09-07-2007, 05:04 PM   #9
Shannon
 
Posts: n/a
Default Re: Style Question for Components
Um, what?

My spell checker says those were all english words but I don't think
I've ever seen them in that particular order before.

Shannon



Shannon
  Reply With Quote
Old 09-07-2007, 06:07 PM   #10
Mike Treseler
 
Posts: n/a
Default Re: Style Question for Components
Shannon wrote:
> Um, what?


Compile
my_entity
before compiling
my_instance: work.my_entity(synth)

"before" might mean in the file before
or in a line above.

-- Mike Treseler


Mike Treseler
  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
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Dial-up Modem Question w_tom A+ Certification 0 09-18-2005 09:12 PM
"Installing two drives" question - what next? Jim A+ Certification 12 08-07-2005 01:19 PM
Re: Good morning or good evening depending upon your location. I want to ask you the most important question of your life. Your joy or sorrow for all eternity depends upon your answer. The question is: Are you saved? It is not a question of how good God DVD Video 3 04-25-2005 04:19 PM
Re: Good morning or good evening depending upon your location. I want to ask you the most important question of your life. Your joy or sorrow for all eternity depends upon your answer. The question is: Are you saved? It is not a question of how good Filthy Mcnasty DVD Video 0 04-25-2005 04:29 AM
Re: Safe Mode Question (A+ question) Gordon Findlay A+ Certification 0 06-16-2004 10:48 AM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46