Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > The definition of combinatorial process?

Reply
Thread Tools

The definition of combinatorial process?

 
 
Andy
Guest
Posts: n/a
 
      07-02-2012

Weng, That is a copyrighted standard, for which you must pay IEEE or
one of their distributors (IHS, et al).

Jim, I was not aware that 1076.6 was deprecated. When/why did that
happen? Did/will something else replace it? The 2004 edition is quite
good at describing the coded behavior necessary to infer a register
and/or latch. Combinatorial processes are assumed to be everything
else.

Andy
 
Reply With Quote
 
 
 
 
Gabor
Guest
Posts: n/a
 
      07-02-2012
Weng Tianxiang wrote:
> The following topic may be one of the longest debate in vhdl group:
> http://groups.google.com/group/comp....torial&lnk=ol&
>
> The debute focus later turns to which is best way to use one
> sequential process or two combinarotial process and sequential
> process.
>
> The most important and strange thing is that I cannot even find the
> word "combinarotial" in VHDL-2002 specification.
>
> I want to grammarly define a combinatorial process which cannot have a
> clock statement in one of my thinking.
>
> process_statement_part ::=
> { sequential_statement }
>
> sequential_statement ::=
> wait_statement
> | assertion_statement
> | report_statement
> | signal_assignment_statement
> | variable_assignment_statement
> | procedure_call_statement
> | if_statement
> | case_statement
> | loop_statement
> | next_statement
> | exit_statement
> | return_statement
> | null_statement
>
> combinatorial_process_statement_part ::=
> { combinatorial_sequential_statement }
>
> combinatorial_sequential_statement ::=
> assertion_statement -- wait_statement is deleted here !!!
> | report_statement
> | signal_assignment_statement
> | variable_assignment_statement
> | procedure_call_statement
> | if_statement
> | case_statement
> | loop_statement
> | next_statement
> | exit_statement
> | return_statement
> | null_statement
>
> Weng


The traditional meaning of "combinatorial" is that the outputs only
depend on the current state of the inputs. i.e. there can be no
saved state within the process. This not only includes constructs
such as edge dependencies or waits, but also any sort of feedback
from the process outputs or internal signals / variables.

-- Gabor
 
Reply With Quote
 
 
 
 
Gabor
Guest
Posts: n/a
 
      07-02-2012
Gabor wrote:
> Weng Tianxiang wrote:
>> The following topic may be one of the longest debate in vhdl group:
>> http://groups.google.com/group/comp....torial&lnk=ol&
>>
>> The debute focus later turns to which is best way to use one
>> sequential process or two combinarotial process and sequential process.
>> The most important and strange thing is that I cannot even find the
>> word "combinarotial" in VHDL-2002 specification.
>> I want to grammarly define a combinatorial process which cannot have a
>> clock statement in one of my thinking.
>> process_statement_part ::= { sequential_statement }
>> sequential_statement ::= wait_statement | assertion_statement |
>> report_statement | signal_assignment_statement |
>> variable_assignment_statement | procedure_call_statement |
>> if_statement | case_statement | loop_statement | next_statement |
>> exit_statement | return_statement | null_statement
>> combinatorial_process_statement_part ::= {
>> combinatorial_sequential_statement }
>> combinatorial_sequential_statement ::= assertion_statement --
>> wait_statement is deleted here !!! | report_statement |
>> signal_assignment_statement | variable_assignment_statement |
>> procedure_call_statement | if_statement | case_statement |
>> loop_statement | next_statement | exit_statement | return_statement |
>> null_statement
>> Weng

>
> The traditional meaning of "combinatorial" is that the outputs only
> depend on the current state of the inputs. i.e. there can be no
> saved state within the process. This not only includes constructs
> such as edge dependencies or waits, but also any sort of feedback
> from the process outputs or internal signals / variables.
>
> -- Gabor


I forgot to add that feedback in the process isn't always obvious
just by looking at the RHS of the equations. Implicit feedback
occurs when you have incomplete state coverage, as in the latch
example. This makes it a bit tougher to prevent sequential logic
from being inferred just by excluding certain types of statements.

-- Gabor
 
Reply With Quote
 
Jim@synthworks.com
Guest
Posts: n/a
 
      07-04-2012
Hi Weng,
You can buy a copy here:
http://www.techstreet.com/standards/...uct_id=1270145

Best,
Jim
 
Reply With Quote
 
Jim@synthworks.com
Guest
Posts: n/a
 
      07-04-2012
> Jim, I was not aware that 1076.6 was deprecated.
It was due for revision in 2009. Since no one stepped up to lead the group, DASC deprecated both it and the corresponding Verilog one.

Largely users did not pay any attention to it and as a result vendors did not completely implement it. It would be nice to reform a group and revise it, however, someone would need to be willing to do the work. They would also need to get the vendors involved. With FPGAs a diverse set of tools inthe FPGA market, perhaps it can get done. At least for attributes, it really needs to get done.
 
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
C++ for combinatorial optimization problems N4M C++ 4 09-18-2004 08:50 PM
Re: C++ for combinatorial optimization problems Dietmar Kuehl C++ 1 09-16-2004 01:25 PM
C++ program for generating combinatorial objects Alex Vinokur C++ 0 08-28-2004 08:40 AM
flags in combinatorial processes Gunit VHDL 2 06-28-2004 03:33 PM
Simple combinatorial logic consuming major resources? RZ VHDL 2 09-03-2003 12:38 AM



Advertisments
 



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 47 48 49 50 51 52 53 54 55 56 57