On Mon, Jun 20, 2016, Ian Finder wrote: > The hardest part of the process is distilling the functional specification > of the part you are trying to replace. This is the heart of the topic. Some > ways this can be done: > > If adequate documentation exists, use it. > > Observe the part's behavior in-system > > Build a test bench to observe behavior of part outside of system > > General leetness > > There is no one approach, it is more art than science. > > For going from a functional specification to a synthesizable model, this is > simply writing HDL. > I suggest this book, which covers the basics of this process. > https://www.amazon.com/Verilog-Digital-System-Design-Verification/dp/0071445641 > > If you have no 100-level understanding of digital logic, start here: > https://www.amazon.com/Contemporary-Logic-Design-Randy-Katz/dp/0201308576 > > Thanks, > > - Ian
For learning, I really recommend this Coursera MOOC: https://www.coursera.org/learn/build-a-computer/home/welcome It has a part 2, which covers writing programs from machine language up; I haven't taken that one yet. Part 1 talks about logic gates, boolean logic, etc. (like in the web book Swift posted the URL of), but it also lets you dip your toes in an HDL/Verilog-like toy language, and has simulators (note: they require Java) to run the circuits you design. > On Mon, Jun 20, 2016 at 1:02 PM, Toby Thain <t...@telegraphics.com.au> > wrote: > > > On 2016-06-20 3:35 PM, Swift Griggs wrote: > > > >> > >> In my recent studies of electronics (I'm a noob for all practical > >> purposes) I keep seeing folks refer to Verilog almost as a verb. I read > >> about it in Wikipedia and it sounds pretty interesting. It's basically > >> described as a coding scheme for electronics, similar to programming but > >> with extras like signal strength and propagation included. Hey, cool! > >> > >> Why are folks referring to "Verilogging" and "doing a verilog" on older > >> chips. Is there some way you can stuff an IC into a socket or alligator > >> clip a bunch of tiny leads onto it and then "map" it somehow into Verilog? > >> Is that what folks who write emulators do? > >> > > > > They firstly go by documentation, and if that fails, reverse engineer, > > painfully. This is why preserving, archiving, publishing documentation is > > so incredibly important! > > > > > Ie.. they exhaustively dump > > > >> Verilog code for all the chips then figure out how to implement that in > >> > > > > You can't in general get Verilog *out* of a chip. It goes the other way. > > You can compile Verilog into gates and netlists etc. > > > > some computer programming language like C ? What do folks do for ROM chips > >> and PLCs? I'd think they must dump the code and disassemble it. No? > >> > > > > Yes, they do that where possible. > > > > > >> I'm just curious and this is a tough question to answer with Google since > >> I'm pretty clueless and don't know the right words to search for. I notice > >> > > > > You can google "EDA tools". You can also grab toolchains from major > > vendors like Altera and play with Verilog/VHDL and simulate the results, > > too. > > > > people talk about correcting their Verilog code, so it must be somewhat of > >> a manual process. I'm just wondering how someone even gets started with a > >> process like that. > >> > > > > I'd suggest hitting some textbooks, not Google. > > > > Niklaus Wirth's book is fantastic, for people more comfortable in > > software, if you take it step by step: > > > > > > https://www.amazon.ca/Digital-Circuit-Computer-Science-Students/dp/354058577X -- Eric Christopherson