Talk:Soft microprocessor

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated Stub-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.
 
Note icon
This article has been automatically rated by a bot or other tool as Stub-Class because it uses a stub template. Please ensure the assessment is correct before removing the |auto= parameter.

Core Comparison[edit]

Notability: Please list cores that are synthesizable and have a compiler toolchain. Poppafuze (talk) —Preceding comment was added at 22:41, 9 June 2008 (UTC)

Should we break out the core comparison into 32/64 bit ones and 16/8 bit ones? It's not really relevant to compare say OpenSPARC with a 8051 for example... Nerd bzh (talk) 15:45, 5 August 2010 (UTC)

The Soft microprocessor web page is out of date. http://opencores.com/projects has several hundred processor cores, some of which are highly developed and tested http://opencores.com/project,up_core_list has an extensive listing of implementation data for both opencores and other public processor cores with http://opencores.com/project,up_core_list,downloads "sorted by KIPS/LUT metric" probably the most useful of the PDFs — Preceding unsigned comment added by Weigh2Sirus3rd (talkcontribs) 00:54, 16 May 2014 (UTC)

Difference Between Soft and Hard Microprocessors[edit]

What is it? 216.187.191.94 (talk) 20:03, 1 March 2009 (UTC)


Can this article say what is not a soft microprocessor, while still being a microprocessor? This article states that a soft microprocessor is a microprocessor "that can be wholly implemented using logic synthesis." (by logic synthesis, I think it means logic gates and associated circuitry) How can you implement a microprocessor using things other than logic gates? Are there microprocessors that require the use of circuitry that cannot be defined by a HDL? 205.155.141.9 (talk) 19:36, 21 October 2010 (UTC)

I agree that Wikipedia should clearly state the difference between a "soft microprocessor" and other kinds of microprocessors. Is this really the right article for that, or should that statement go in microprocessor?

The phrase "logic synthesis" in this article means what the Wikipedia logic synthesis article says it means. Logic synthesis is a fully automatic process to convert VHDL or Verilog (or some other HDL) into either a FPGA bitstream, or some full-custom ASIC process geometry. When you don't know what some blue words in a Wikipedia article mean, perhaps you could click on them to find out.

The distinction between the two is not "Would it have been possible to make this CPU using a HDL?". The distinction between the two is "Was this CPU entirely defined using a HDL?".

Allow me to draw an analogy between the relationship between a soft microprocessor and a hard core microprocessor, and the relationship between an assembly language program vs a program written entirely in some high-level language.

Looking at the final result -- the geometric patterns on the sliver of silicon that make up an integrated circuit, or the connection bitstream of a FPGA -- it is difficult to tell whether that CPU was directly designed that way as a hard core CPU, or more indirectly designed as a soft microprocessor. Historically, most CPUs have been designed as a hard-core CPU by people manually drawing and placing each part of the CPU. Re-implementing such a microprocessor to a slightly different full-custom ASIC processes or a slightly different FPGA required a lot of manual geometry tweaking. Soft microprocessors are written in VHDL or Verilog (or something similar). Then they are run through an automatic logic synthesis engine to produce either a FPGA bitstream, or some full-custom ASIC process geometry. Re-implementing such a microprocessor on a different FPGA or different full-custom ASIC process "merely" requires re-running the fully automated logic synthesis engine, at least in principle.

Looking at the final result -- a series of instructions stored in an executable file -- it is difficult to tell whether it was more-or-less directly written that way, in assembly language instructions, or more indirectly written in a high-level language. Early programs were all written by people manually specifying each assembly-language instruction. Porting an assembly-language program to a CPU with a slightly different machine language required a lot of manual tweaking. Programs written in a high-level language are run through a compiler to produce executable code for some particular CPU. Porting a high-level-language program to a different CPU "merely" require re-running the fully automated compiler, at least in principle.

Is there some way we could make this soft microprocessor article -- or perhaps the parent microprocessor article -- explain this distinction better? --68.0.124.33 (talk) 04:56, 15 January 2011 (UTC)

SoPC (System on Programmable Chip)[edit]

There is no site on Wikipedia for SoPC (System on Programmable Chip) or is the link wrong? Michilans (talk) 06:57, 21 April 2009 (UTC)