ZAP : Open source ARM processor - Page 1
Forum section: electronics / projects

author: krevanth
author_rank: Newbie
timestamp: May 29, 2017, 01:25:04 am
content: Hi,Apologies if this is the wrong forum.I am working on an open source ARMv4T soft processor called ZAP ( Link:https://github.com/krevanth/ZAP). The processor has a 10-stage pipeline and has cache and MMU support.Any feedback/criticism of the project?Thanks,Revanth

author: ataradov
author_rank: Super Contributor
timestamp: May 29, 2017, 01:54:50 am
content: Expect a cease and desist notice from ARMOther than this, it is a lot of work. It would be interesting to go though the code.

author: ale500
author_rank: Frequent Contributor
timestamp: May 29, 2017, 05:20:48 am
content: Very nicely done. I think I'll re-re-write that one project I was going to put on github. Your naming convention is something to admire too !21k LEs on a MAX10, with so much functionality. I wonder if one could run RISC OS 3 on it (the one that is 32 bit safe). I want to try.

author: brucehoult
author_rank: Super Contributor
timestamp: May 29, 2017, 12:41:48 pm
content: Nice project!But expect legal problems. There are ARM versions that you can implement freely, but they don't (yet?) include anything with Thumb.You'd probably be better off switching to the RISC-V instruction set. There would be genuine interest from people in using your project, and no legal problems. Tools such as GCC support compiling for either a simple fixed-length 32 bit instruction RISC-V base instruction set, or adding Thumb2-like 16 bit instructions into the mix.

author: nctnico
author_rank: Super Contributor
timestamp: May 29, 2017, 10:28:00 pm
content: Quote from: ataradov on May 29, 2017, 01:54:50 amPerhaps but Intel never managed to shut down AMD, Cyrix, etc.

author: ataradov
author_rank: Super Contributor
timestamp: May 29, 2017, 10:30:54 pm
content: Quote from: nctnico on May 29, 2017, 10:28:00 pmAMD and Cyrix were official second source suppliers, back when people cared for such things. So they are legit.ARM is known to use legal action (or at least legal threats) to defend their IP. There were a couple of projects that got into trouble. As far as I know, anything after ARMv2 is covered by some patents, but I don't remember exact story, it was some time ago.And just looking at this project - it is way more advanced than some other things that got shut down.

author: ebclr
author_rank: Super Contributor
timestamp: May 29, 2017, 11:03:43 pm
content: Nice project, Does not let those " cease and desist" discourage you.Does not anticipate something that will never happen, since your work are open source and without huge money involved, nobody will put any money to stop an open source project outside the "Royal Imperium".Simply ignore those who are whiling to protect their imperial jobs .......

author: krevanth
author_rank: Newbie
timestamp: May 30, 2017, 12:24:24 am
content: I developed the code as a part of my final semester at University (Graduated in 2016) and open sourced it hoping that it may be useful to others. I was particularly inspired by the STORM core on OPENCORES. Although my implementation focuses on high performance and is almost entirely different from STORM, at the ISA level, only Thumb v1 is extra when compared to STORM. If the project is going to create any hurdles for me, I will take it down but I just need a serious response on how I should proceed.Thanks,Revanth

author: ataradov
author_rank: Super Contributor
timestamp: May 30, 2017, 12:29:33 am
content: Quote from: krevanth on May 30, 2017, 12:24:24 amAnd that's where the problem lies. No one will be crazy enough to use this in a commercial product, since it is pretty much guaranteed to attract ARM's attention. You personally are probably safe, especially now that ARM ownership changed. But if project gains traction, you will have problems, for sure. There are at least two project that got shutdown by ARM.So this is a very impressive body of work, which is practically useless, apart from learning something new. And core-independent parts are useful, of course.And regardless of your feelings towards copyright, you are violating it here. And also, if you have used ARM documents, you agreed to not use them for this sort of thing

author: krevanth
author_rank: Newbie
timestamp: May 30, 2017, 12:37:51 am
content: I was hoping that it might find some use in some FPGA based open source projects (GPL).

author: ebclr
author_rank: Super Contributor
timestamp: May 30, 2017, 12:51:54 am
content: You will never have any trouble with your project.Don't shut down anythingYou just made your own IP, for no profit at University, as soon you have no intent to sell license your IP you will not have any trouble including using your project in closed source commercial projects.Don't be afraid, you did a nice project, learned a lot and this will show community, future employers, future partners how capable you are, If you put your project on the shadow you will lose and everybody interested too.To shut down in a preemptive way is ridiculous. lets they at least call you ( I doubt they will )Keep walking..........

author: ataradov
author_rank: Super Contributor
timestamp: May 30, 2017, 12:56:57 am
content: Nobody is saying that is has to be shut down immediately, that's just stupid.But expecting a bright future,even in open-source project is also not realistic. Who would seriously want to commit a lot of time into something that CAN be shut down at any time, basically as soon as it becomes popular?The only hope for this to stay alive is to remain obscure and unpopular.PS: It is indeed, an excellent portfolio piece.

author: ebclr
author_rank: Super Contributor
timestamp: May 30, 2017, 01:50:18 am
content: You can shut down before the project. Stop criticizing nice things people did, just because you can't do something similar because you are so afraid of being sued

author: ebclr
author_rank: Super Contributor
timestamp: May 30, 2017, 02:07:03 am
content: Here we have a very big list of IP's in the same class, apparently, they are life for decadeshttps://opencores.org/projects

author: ataradov
author_rank: Super Contributor
timestamp: May 30, 2017, 02:11:31 am
content: Quote from: ebclr on May 30, 2017, 02:07:03 amNone of those projects (or at least cores) violate ARM IP. Amber is the most notable example here has this in its description:QuoteARM4U is implementing ARMv3, but only partially, and it is not as popular as Amber.Other ARM core implementation there are toys of any interest to their authors only.

author: Nauris
author_rank: Regular Contributor
timestamp: May 30, 2017, 11:51:42 am
content: Quote from: brucehoult on May 29, 2017, 12:41:48 pmI think Thumb is old enough that any patents covering it have expired.

author: amyk
author_rank: Super Contributor
timestamp: May 30, 2017, 11:57:27 am
content: Quote from: ataradov on May 30, 2017, 12:56:57 amLots of people make DRM strippers, reverse-engineer and mod games, write keygens,hack hardware, etc.@Nauris: Almost read that as "Trump".

author: brucehoult
author_rank: Super Contributor
timestamp: May 30, 2017, 12:31:43 pm
content: Quote from: Nauris on May 30, 2017, 11:51:42 amMaybe, just.Patents are supposedly 20 years from filing, but you'll notice that for example MP3, introduced in 1993 (a year before Thumb), has just a few weeks ago lost patent protection. Fraunhofer announced that "MP3 is dead". What they of course meant is that MP3 is now freed, and it is Fraunhofer's licensing business model is dead.ARM had to license some SuperH-related patents from HItachi for Thumb, Those will be expired now.MIPS16 from 1996 uses basically the same ideas as Thumb -- 16 bit instructions pretend to have odd addresses, switch on function call/return (or at least change of control flow), only 8 registers available out of 32. You'd imagine they probably had to pay money to ARM, but I don't know about it.RISC-V has an optional 16 bit instruction encoding, but they do it quite differently, using a scheme similar to that first used by the IBM 360 fifty years ago with a fixed two bits in the instruction indicating whether the instruction is 16, 32, or 48 bits long. So you can freely mix instructions of different lengths. Thumb2 of course does something similar.

author: mubes
author_rank: Regular Contributor
timestamp: May 30, 2017, 12:38:55 pm
content: Revanth,IANAL etc...and im not speaking for anyone other than myself here.This is a really interesting piece of work and I doubt anyone will bother you while it does not have any commercial traction (i.e. while it remains what it is now, a high quality academic endeavour). If, however, folks start using it in ways that impact core arm revenue streams (e.g. to displace a M1 licence) then you _will_ get attention from people who use these revenue streams to put food on the table. I would suggest that in the short term you explicitly mark the project as being for non-commercial use and beyond that you have a few options; you can sit back and wait to see if it stresses arm (in which case you will probably just get a letter saying oy, take it down) or you could be proactive and actually make contact with arm and ask them for their blessing as a research-focussed activity. I have no idea what their reaction would be and I have no connection to them but if the latter is interesting to you then feel free to pm me and I can give you the contact details for a couple of people there who might be able to help.Personally I wouldn't like to see this gather dust on a shelf....at the very least it's a great CV qual!Dave