f8 - a new 8-bit processor designed for sdcc - Page 1
Forum section: electronics / general

author: woofy
author_rank: Frequent Contributor
timestamp: February 12, 2025, 09:28:03 am
content: https://fosdem.org/2025/schedule/event/fosdem-2025-4902-f8-an-8-bit-architecture-designed-for-c-and-memory-efficiency/This popped up recently on the retro computing forum.Have to say, I don't see it going anywhere. If I wanted a processor on an FPGA, I'd drop a RISCV and use gcc.But maybe there's a use?

author: voltsandjolts
author_rank: Unknown
timestamp: February 12, 2025, 09:56:06 am
content: 8-bit still has it's uses and may save quite some fpga resources. As the linked page says...QuoteA comparison of fpga resources required between this f8, 8051 and riscv would be interesting.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 12, 2025, 10:07:58 am
content: OpenCores was/is full of projects like that. They are not supposed to "go anywhere", they are either hobby projects or university research projects / student course work.

author: tggzzz
author_rank: Super Contributor
timestamp: February 12, 2025, 10:44:09 am
content: TheF8was an 8 bit processor shipped in 1975, i.e.half a centuryago.The hardware realisation had some truly awful features, e.g. "...the program counter and other pointers are maintained separately in all of these chips by reading the same control lines"

author: bigendian
author_rank: Regular Contributor
timestamp: February 12, 2025, 10:47:52 am
content: if i understand, this f8 is fpga only,probably a whatever 8 bit (avr/pic/..) can cost less than an fpga ?

author: voltsandjolts
author_rank: Unknown
timestamp: February 12, 2025, 11:58:53 am
content: Quote from: bigendian on February 12, 2025, 10:47:52 amAn fpga is never used to replace just an mcu. It'll also have a plethora other other system logic which would have required an fpga anyway.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 12, 2025, 12:11:26 pm
content: Quote from: voltsandjolts on February 12, 2025, 11:58:53 amYes, and of course soft core processor makes a lot of sense on FPGA. But no one would choose some weird toy project for that, instead they use what is provided by FPGA vendor, or what they are already familiar with, or some other popular choice.Tooling (compilers etc.) for the processor and bus interfaces / synthesization-time configurability of IO, are much more important than the metrics of the core (size, performance).

author: voltsandjolts
author_rank: Unknown
timestamp: February 12, 2025, 01:50:00 pm
content: Quote from: Siwastaja on February 12, 2025, 12:11:26 pmWell, yeh, mostly true.But there are always curve balls being thrown, like the gpl licensedor1kcpu which started as a one man project and developed through opencores toactualhardsilicon.

author: prosper
author_rank: Regular Contributor
timestamp: February 12, 2025, 06:25:18 pm
content: Quote from: voltsandjolts on February 12, 2025, 09:56:06 amCheck out SERV:https://github.com/olofk/servApparently it can be implemented on about 2100 gates or ~200 LUT.I can't find many comparable sources for an 8051, but it seems that the smaller ones are also about 2-3000 gates.https://www.electronicsweekly.com/news/design/eda-and-ip/8051-core-squeezed-into-2700-gates-2009-03/The M0+ I think is about 12000

author: coppice
author_rank: Super Contributor
timestamp: February 12, 2025, 06:46:08 pm
content: Quote from: tggzzz on February 12, 2025, 10:44:09 amThe F8 wasn't too bad compared to other micros of its day. The goal was always fewer transistors back then, and I think its transistor count was very competitive. You could make a working machine with a few GPIOs from 2 chips before anyone else got that close to an 8 bit MCU chip.

author: benseno
author_rank: Regular Contributor
timestamp: February 12, 2025, 06:54:51 pm
content: Who is going to invest money into legacy code porting and personnel training just because of this mcu is a bit better than others?May be one day AI machines will do that seamlessly, but today it is not feasible.

author: coppice
author_rank: Super Contributor
timestamp: February 12, 2025, 06:58:19 pm
content: Quote from: benseno on February 12, 2025, 06:54:51 pmWhat code porting and training? Its designed to run C well. Nobody is expected to write in any other language.

author: benseno
author_rank: Regular Contributor
timestamp: February 12, 2025, 07:32:27 pm
content: Quote from: coppice on February 12, 2025, 06:58:19 pmI assumed the subject is about embedded design, ports, devices, registers, buffers, interrupts, timings ... which are very mcu specific.C is just a language. The same C is used for other mcu's too. and it is not a linux to wait hours for building to finish.

author: edavid
author_rank: Super Contributor
timestamp: February 12, 2025, 07:52:14 pm
content: Why did they choose a name that was already used for an 8 bit CPU? Won't that cause endless confusion?(Not to mention that it's hard to do a web search for it.)

author: tggzzz
author_rank: Super Contributor
timestamp: February 12, 2025, 07:53:17 pm
content: Quote from: benseno on February 12, 2025, 07:32:27 pmPlus C does have to be ported, to take account of "implementation defined" behaviour. Porting also has a history of flushing out "undefined behaviour".

author: tggzzz
author_rank: Super Contributor
timestamp: February 12, 2025, 07:56:56 pm
content: Quote from: edavid on February 12, 2025, 07:52:14 pmPresumably the usual ignorance of youth.The Fairchild F8 is long dead; it had no significant benefits in the short/medium term, and the only interesting features are bizarre/nasty.Back in the mid 70s I looked at many processors before designing my first computer. I looked at the F8 and others and said "ugh". The only ones I seriously considered were the 8085, 6800, and 1802.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 13, 2025, 06:56:01 am
content: Quote from: edavid on February 12, 2025, 07:52:14 pmPoor naming is an endless problem, so can't blame only them. One of my pet peeves is naming like "CAN". Itcannot be Googled. Or choosing the generic upper-level term as your project name, like HAL which now means both the concept and ST's specific library. Fuck them.Arbitrary long otherwise meaningless acronyms like SCART are the best. With 5 letters, you have 26^5 = 11881376 viable names for your project. Probably less than 0.1% of them are already in use, confusing, or already existing English words.But choosing the name "F8" for a new type of CPUwithout firstGoogling "F8 CPU"is just inexcusable. I mean, Googling for existing use seems like #1 prerequisite for choosing a name for anything.

author: m k
author_rank: Super Contributor
timestamp: February 13, 2025, 07:06:13 am
content: Quote from: tggzzz on February 12, 2025, 07:56:56 pmMostek's "F8" has still its places.

author: tggzzz
author_rank: Super Contributor
timestamp: February 13, 2025, 10:16:26 am
content: Quote from: m k on February 13, 2025, 07:06:13 amReally?! Where?

author: radiolistener
author_rank: Super Contributor
timestamp: February 13, 2025, 10:35:35 am
content: I think it is more interesting to see verilog code for 4-bit processors core which was used in programmable calculators in 1980 era.Regarding to FPGA CPU to replace FSM, I think 32-bit core is more useful, because 8-bit is very limited.If you're still want 8-bit, I think Z80 core is more suitable.

author: woofy
author_rank: Frequent Contributor
timestamp: February 13, 2025, 10:47:11 am
content: Quote from: radiolistener on February 13, 2025, 10:35:35 amFollow my signature link, its verilog code for the intel 4004.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 13, 2025, 12:47:16 pm
content: For simple tasks a 8 bit CPU is perfectly OK. An example are small side tasks for a soft core - usually only little code. Looking for a small (as FPGA implementation) core that has compiler support is a valid target. Some old 8 bit CPUs could be sensible as they were made for small size, though with external relatively slow memory in mind. The Z80 may already be on the complex side - maybe more an 6502 or 6800. In principle even a 4004 soft core could be Ok, though there could be more sensible µC cores.There is still the alternative to have an FPGA that comes with an integrated 32 bit core - here 32 bit makes sense as the transistor count for a direct implementation is quite a bit lower than via FPGA fabric.

author: coppice
author_rank: Super Contributor
timestamp: February 13, 2025, 01:15:44 pm
content: Quote from: tggzzz on February 12, 2025, 07:53:17 pmIf you are moving existing code into a new hardware environment, reworking the implementation dependent parts of the code is a given, whatever core you use.

author: coppice
author_rank: Super Contributor
timestamp: February 13, 2025, 01:19:37 pm
content: Quote from: Kleinstein on February 13, 2025, 12:47:16 pmIts more than enough in most cases. When we did customer surveys of MCU users a few years ago, trying to see just how many needed the sophistication and speed of an ARM over an 8051, we found an immense number of users who were not even running their low end MCUs at the rated clock speed, as they didn't need the full speed of even a low end MCU. They chose to cut the power consumption, maybe letting them use a cheaper power source, like an RC supply.

author: radiolistener
author_rank: Super Contributor
timestamp: February 13, 2025, 03:29:08 pm
content: The main limitations of an 8-bit core for modern tasks are its low register resolution, which is insufficient for efficient data processing and bit-banging in modern algorithms. Another significant drawback is its limited address space, requiring the use of segmented memory - a major challenge when working with modern compilers and libraries. This is why 32-bit ARM cores have become so popular these days

author: Siwastaja
author_rank: Super Contributor
timestamp: February 13, 2025, 03:31:07 pm
content: Quote from: radiolistener on February 13, 2025, 03:29:08 pmAnd you think that choosing a fast number-crunching CPU core for "bit-banging" is relevant...on an FPGA?

author: tggzzz
author_rank: Super Contributor
timestamp: February 13, 2025, 03:52:26 pm
content: Quote from: Siwastaja on February 13, 2025, 03:31:07 pmDamn. Beat me to it.When I think of the hard realtime control systems we managed to do 40 years ago, with Z80+C, comments like radiolistener's make me smile.

author: pardo-bsso
author_rank: Frequent Contributor
timestamp: February 13, 2025, 03:55:22 pm
content: Quote from: Siwastaja on February 13, 2025, 06:56:01 amEtherNet/IPI'll never know why they used that name.

author: m k
author_rank: Super Contributor
timestamp: February 13, 2025, 04:00:34 pm
content: Quote from: tggzzz on February 13, 2025, 10:16:26 amInside old TELike Fluke 8860A.(MK3870)

author: Siwastaja
author_rank: Super Contributor
timestamp: February 13, 2025, 05:00:23 pm
content: Quote from: pardo-bsso on February 13, 2025, 03:55:22 pmExemplary name. Not in use before, makes no sense whatsoever. Easy to refer to. Clearly invented by some non-technical management person I would ignore for any other thing than coming up names and securing funding. Maybe induced by alcohol/drugs?I think engineers choose horrible names. They are "afraid" of letting their creativity flow. They aretoohumble, and do not understand they are creating something; they don't think their products as their children. They don't understand they are creating something unique which needs a name. Which is super weird because same engineer typescanunderstand why stuff like UUIDs are needed!Clearly the name choosing process for engineer-minded goes like this:"Oh, we need to create a HAL for STM32 that our customers can use""Under what name we publish it?""Hmmm.... how about... ... ... (long silence)... HAL?"Instead, they should name it TGHALMASTE or The Greatest HAL Made At ST Ever, and now it is googlable and distinguishable.Linux was named by a random guy who hosted it on their FTP server. A good name as a result.

author: iMo
author_rank: Super Contributor
timestamp: February 13, 2025, 05:54:16 pm
content: Creating names for products is a multi $billion biz.For example in the pharmaceutical industry - creating new names for 100 years old substances is their daily job..

author: Siwastaja
author_rank: Super Contributor
timestamp: February 13, 2025, 06:04:07 pm
content: Quote from: iMo on February 13, 2025, 05:54:16 pmYeah, it's polar opposite to what we see in software/electronics engineering. They invent nothing but new fancy names. We invent fancy new cool stuff and are afraid of naming them at all. Then we discuss about them like "here is this... thing".

author: tggzzz
author_rank: Super Contributor
timestamp: February 13, 2025, 06:46:04 pm
content: Quote from: Siwastaja on February 13, 2025, 06:04:07 pmToo often an old idea is triumphantly rediscovered, and given a new name.Sometimes that is due to ignorance of technical history. Sometimes it is due to marketing people wanting it to appear new, shiny and better, and to disguise its fundamental limitations.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: February 13, 2025, 07:23:37 pm
content: Quote from: radiolistener on February 13, 2025, 03:29:08 pmNope.The 8051 has boolean opcodes, which make pin and logic handling a breeze.Many 'modern tasks' are exactly the same as they were 20 years ago, they do not need 32 bit cores.What has happened, is the very small 1-2k 8 bitters have quietly gone away, and 8-16k are now common entry level.That allows any lazy C programmer to get stuff done, easily.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: February 13, 2025, 08:11:58 pm
content: Quote from: coppice on February 13, 2025, 01:19:37 pmSome smaller MCUs are starting to specify the current consumption before reset exit.For such current feed operation, some have too-high startup power.A recent example I saw, intended for stylus pens, is the 8-bitNuvoton MUG51 series supports enhanced low current consumption at 200 μA while CPU Power-on before Flash memory is initialized.Another solution is to use a UVLO regulator, that has a snap-action power up, but that can add to the price.

author: radiolistener
author_rank: Super Contributor
timestamp: February 14, 2025, 10:12:05 am
content: Quote from: Siwastaja on February 13, 2025, 03:31:07 pmYes, it's much more easy to implement single clock transfer for 32-bit word from FPGA circuit to soft core and back. With 8-bit core you will need to implement some serial 8-bit interface which will require many clocks for transfer and implementing FSM, which devalues ​​the use of soft core, because you will have to suffer building complex schemes with many states, trying to transfer data from FPGA to the soft core and get it back.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 14, 2025, 10:20:15 am
content: Quote from: radiolistener on February 14, 2025, 10:12:05 amWas this vomit of text generated by some 2015 pre-release version of ChatGPT?

author: coppice
author_rank: Super Contributor
timestamp: February 14, 2025, 01:03:40 pm
content: Quote from: Siwastaja on February 13, 2025, 05:00:23 pmThe name ethernet is said to have been chosen by Robert Metcalfe, who was one of the engineers working on it at the time. Its VERY much the kind of whimsical name that engineers chose for things, and which goes over the heads of the people in marketing. Even misspelling aether fits with its being from an engineer, playing into the old meme about engineer's bad English.

author: tggzzz
author_rank: Super Contributor
timestamp: February 14, 2025, 01:17:51 pm
content: Quote from: coppice on February 14, 2025, 01:03:40 pmÆther, surely. Sorry, couldn't resist; eschew neologisms.Ethernet was, of course, inspired by AlohaNet, the radio based links between Hawaiian islands. AlohaNet used CSMA, but Ethernet added CD. Collision detection is impractical in a radio based system due to the "hidden terminal" problem.

author: pardo-bsso
author_rank: Frequent Contributor
timestamp: February 16, 2025, 09:29:57 pm
content: Quote from: pardo-bsso on February 13, 2025, 03:55:22 pmTalking with myself, I meant this other one:https://en.wikipedia.org/wiki/EtherNet/IP"EtherNet/IP (IP = Industrial Protocol) is an industrial network protocol that adapts the Common Industrial Protocol (CIP) to standard Ethernet."I had to explain this at least 10 times every meeting.

author: Siwastaja
author_rank: Super Contributor
timestamp: February 17, 2025, 09:41:08 am
content: Quote from: pardo-bsso on February 16, 2025, 09:29:57 pmOh f***! And you needed to explain it the 11th time just now. Now this is some crazy shit.And looking at the article they did that in 1990's, when IP (Internet Protocol) was already widely known, so that can't be used an excuse.Those people should be shot.

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 17, 2025, 11:52:05 am
content: Quote from: radiolistener on February 14, 2025, 10:12:05 am

author: tggzzz
author_rank: Super Contributor
timestamp: February 17, 2025, 12:24:06 pm
content: Quote from: SiliconWizard on February 17, 2025, 11:52:05 amJust so.Be aware radiolistener has posted two "AI answers" to another thread:https://www.eevblog.com/forum/programming/algorithm-to-quickly-find-a-pattern-in-a-block/msg5819379/#msg5819379Draw your own conclusions.

author: spth
author_rank: Regular Contributor
timestamp: May 27, 2025, 10:05:31 am
content: Quote from: radiolistener on February 13, 2025, 03:29:08 pm32-bit ARM and RISC-V are sure popular. But 8-Bit µC are used in large number, today, just like in the past. It doesn't look like they are going away anytime soon.Unfortunately, they often don't have particularly efficient or nice architecture (see MCS-51, Padauk, etc). I hope the f8 can be an alternative there.