Talk:Soft microprocessor

Core Comparison
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)


 * can i recommend a column that has the (supported / tested) compiler toolchains listed? User:lkcl  — Preceding unsigned comment added by 92.40.169.215 (talk) 14:36, 6 May 2021 (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 (talk • contribs) 00:54, 16 May 2014 (UTC)

Difference Between Soft and Hard Microprocessors
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)


 * Since it's hard to tell for ASIC CPUs whether they are purely synthesized, I'd like to propose that we limit the definition to non-ASIC processors. What do you all think? Digital27 (talk) 05:28, 19 November 2023 (UTC)

SoPC (System on Programmable Chip)
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)

Proposal new column for Core comparison table
Perhaps a 'year introduced' column would be a useful addition to this table, especially for those unfamiliar with the history.

Thoughts?

-- Jim Grisham (talk) 13:37, 14 April 2023 (UTC)