log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- RISC OS London Show Report 2024 (News:1)
- Announcing the TIB 2024 Advent Calendar (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- RISCOSbits releases a new laptop solution (News:)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
Acorn Arcade forums: Programming: Logic synthesis tools
 
  Logic synthesis tools
  adrianl (19:33 1/2/2008)
 
Adrian Lees Message #106283, posted by adrianl at 19:33, 1/2/2008
Member
Posts: 1637
Barely programming (yet!) I know, but logic synth tools suck as much as compilers, despite the stupendous prices that EDA vendors charge for them.

Case in point.... someone (mistakenly/stupidly) wrote:

data_out = (data_in < 'h7F) ? data_in : 'h7F

and instead of spotting that in the case data_in == 'h7F, it doesn't matter which fork is chosen, and thus simplifying to:

data_out = (data_in < 'h80) ? data_in : 'h7F

which is a mere sprinkle of OR gates, it went ahead and built in effect:

data_out = (data_in > 'h7F || data_in == 'h7F) ? 'h7F : data_in;

ie. it explicitly included AND gates to check for the case data_in[6:0] == 'h7F. Rage I suppose I should be grateful that it didn't check the higher bits of data_in are zero too!
  ^[ Log in to reply ]
 

Acorn Arcade forums: Programming: Logic synthesis tools