Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > error with synthesis

Reply
Thread Tools

error with synthesis

 
 
Gandalf
Guest
Posts: n/a
 
      05-25-2006
this is my FSM:
http://pastebot.perl.it/cgi-bin/Past...owpaste;id=532
and this is the results of the synthesis:
http://pastebot.perl.it/cgi-bin/Past...owpaste;id=533

where i'm wrong?


 
Reply With Quote
 
 
 
 
Mike Treseler
Guest
Posts: n/a
 
      05-25-2006
Gandalf wrote:

> http://pastebot.perl.it/cgi-bin/Past...owpaste;id=532
> and this is the results of the synthesis:
> http://pastebot.perl.it/cgi-bin/Past...owpaste;id=533
> where i'm wrong?


Asynchronous feedback.
Synch it up. Run a sim.

-- Mike Treseler
 
Reply With Quote
 
 
 
 
Gandalf
Guest
Posts: n/a
 
      05-25-2006
http://pastebot.perl.it/cgi-bin/Past...owpaste;id=534

ERROR:Xst:827 - c:/Xilinx/bin/RFID/msf.vhd line 31: Signal min cannot be
synthesized, bad synchronous description.


 
Reply With Quote
 
Ralf Hildebrandt
Guest
Posts: n/a
 
      05-26-2006
Gandalf wrote:

> http://pastebot.perl.it/cgi-bin/Past...owpaste;id=534
>
> ERROR:Xst:827 - c:/Xilinx/bin/RFID/msf.vhd line 31: Signal min cannot be
> synthesized, bad synchronous description.


If you don't read my messages you will never get a solution. Again:

process(reset,clk)
begin
-- nothing here
if (reset='1') then
-- do some reset
elsif rising_edge(clk) then
-- do something
end if;
-- nothing here
end process;

Although it may be possible to put code into the locations that I have
marked with "nothing here", synthesis tools may refuse to work with it.


Mike Treseler often suggests a single process statement and variables as
a good syle of coding, but especially for a beginner it may be also a
good idea to separate the 3 basic pieces you have: combinational logic,
latches and flipflops. Make a single process for every piece you have.
This makes it more clear what you are modeling. This is very low-level
and hardware-oriented design. If you get more experienced, Mike's coding
style is an option to write clean and compressed code, which is helpful
for larger projects.

Ralf
 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      05-26-2006
Ralf Hildebrandt wrote:

> Mike Treseler often suggests a single process statement and variables as
> a good syle of coding, but especially for a beginner it may be also a
> good idea to separate the 3 basic pieces you have: combinational logic,
> latches and flipflops.


I see combinational processes as an advanced topic.

A beginner is just a likely to have success at writing
three procedures for a canned synchronous template,
and quickly seeing the results on an RTL viewer.
Since Gandalf is targeting an fpga rich in flops,
what is the advantage of purposely inferring latches?

> Make a single process for every piece you have.
> This makes it more clear what you are modeling.


Gandalf is modeling a controller, not gates and flops.
All that is needed is a clean logic description and simulation.

> This is very low-level
> and hardware-oriented design. If you get more experienced, Mike's coding
> style is an option to write clean and compressed code, which is helpful
> for larger projects.


And small ones too

-- Mike Treseler
 
Reply With Quote
 
Ralf Hildebrandt
Guest
Posts: n/a
 
      05-26-2006
Mike Treseler wrote:

>> Mike Treseler often suggests a single process statement and variables
>> as a good syle of coding, but especially for a beginner it may be also
>> a good idea to separate the 3 basic pieces you have: combinational
>> logic, latches and flipflops.

>
> I see combinational processes as an advanced topic.


I am surprised. For me it is something very obvious, if I have some
input signals ans some output signals and no storage elements between them.


> Since Gandalf is targeting an fpga rich in flops,
> what is the advantage of purposely inferring latches?


I never recommended to use latches for that example. I just wanted to
make it clear, what it means to model hardware. And as this result I
wanted to point out, that there are only these 3 pieces of hardware
available.


>> Make a single process for every piece you have. This makes it more
>> clear what you are modeling.

>
> Gandalf is modeling a controller, not gates and flops.
> All that is needed is a clean logic description and simulation.


For me hardware modeling means _everytime_ modeling gates and flops. I
can do it at a very low level (down to making synthesis for my own, what
is obviously not a good design practice) and if I know what I am doing I
can do it at higher level of abstraction.
I always (try to) have in mind, what kind of hardware I model, if I code
something.
Especially beginners tend to write VHDL like writing software if they do
it at a very high level of abstraction. For the first steps I think it
is a good idea make simple constructs, that easily show, what hardware
will be the result.


>> This is very low-level and hardware-oriented design. If you get more
>> experienced, Mike's coding style is an option to write clean and
>> compressed code, which is helpful for larger projects.

>
> And small ones too


Yes, you are right.

Ralf
 
Reply With Quote
 
 
 
Reply

Thread Tools

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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ModelSim Error : "Fatal error in Process determine_phase_shift" during post synthesis of Xilinx vhd fpgaengineer VHDL 7 03-12-2007 07:24 PM
Synthesis error: assignment outside of process using WHEN lomtik VHDL 5 12-20-2004 11:29 PM
synthesis error with DC rajan VHDL 3 09-01-2004 09:41 PM
SOS! newbie question about synthesizable VHDL : synthesis run successfully but post-synthesis failed... walala VHDL 4 09-09-2003 08:41 AM
what are the possible reasons that successful pre-synthesis simulation + successful synthesis = failed post-synthes walala VHDL 4 09-08-2003 01:51 PM



Advertisments