I used jmce for simulation - 8051s are all different enough that chances are you'll have to hack on you simulator (and configure sdcc) to match the memory layout and dptr/p2 weirdness of your particular variant
yes I think SDCC is the only real OS 8051 solution - I've been through this same process looking for tools for a cc2533 recently and this is what I've found works it's not gcc, and 8051 is a crap target, you have to code with all the memory hierarchies in mind.
let's not forget Richard Pearse too
OK - so if you in the US have to force your "3 strikes" baseball metaphors on the rest of the world it's only fair that we make you call this one "6 balls and it's over" using a similar cricket metaphor - despite the, um, unfortunate cultural double meaning of the expression in the US
well a cpu with a 1GHz clock has 1nS to process data between flops - yes it's a bit like laying out microwave stuff -but in the very small - what happens is that it all starts with some layout person/people creating a standard cell library, they'll use spice to simulate and characterise their results - they'll pass this to the synthesis/layout tool makes a good first guess, they'll add in some fudge factor - then a timing tool looks at the 3d layout and extracts real timing, including parasitics to everything in 3-space around a wire - they check - does the timing from every flop to every other flop through every possible path meet both setup and hold times for the destination flop - if it does you're golden, tape it out - if not tweak something or resynthsise a block with tighter constraints etc etc
There is very complex delay analysis done - in all corners of the underlying fab process - automated layouts seldom look "pretty" at least from the point of hand done boards
Looking closely I see a bunch of ram - probably half laid out by hand (caches) - and a many may small standard cell blocks almost certainly not laid out by hand - what I don't see is an obviously hand laid out datapath (the first part of your CPU you spend layout engineers on) - look for that diagonal where the barrel shifter(s) would be. There are some very regular structures (8 vertically) that I suspect are register blocks.
Still what I see is probably someone managing timing by synthesizing small std cell blocks (not by hand), laying those blocks out by hand then letting their router hook them up on a second pass - - it's probably a great way to spend a little extra time guiding your tools into doing a better job to squeeze that extra 20% out of your timing budget and give you a greater gate density (and lower resulting wire delays)
So - a little bit of stuff being done by hand but almost all the gates being lait out by machine
oh yeah, like having two people who think you're a dork is better than one
I've worked as a logic monkey building CPUs in the past - this is SOP in our world - we'd boot linux on our hardware on the verilog simulator as part of our QA - 2 hours is nothing
It's not even a new idea 20 years ago I used to port Unix for a living (no linux yet), when the early RISCs came out they came with architectural simulators, while waiting for real silicon we'd spend the time bringing the kernel (and compiler) up
IR chaff - IR LED throwies are cheap compared to these bullets and will be brighter than any IR laser (that you can't actually feel as 'hot')
Oh no - you should purchase them
Jan 1st the California Transparency in Supply Chains Act came into effect - Apple didn't do this because of This American Life, they've been brought kicking and screaming to this point by the politicians and public opinion in general
Don't forget you're paying for all the people trying to break into your household - a friend here in NZ noticed he kept going over his paltry 1/2Gb cap - turned out 1/3 of his traffic was from other machines (mostly on the same ISP) trying to break into his.
I used to regularly buy a CD or two a week, but all the good local music stores have closed leaving chain stores full of pap - if I don't regularly browse I'm just not going to buy.
Sure I could buy on line but I really don't get the opportunity to find new stuff that interests me Pandora doesn't stream outside the US and besides buying from Amazon from outside the US is really expensive - and of course one can't buy from iTunes from a linux box because of Apple's lousy support