). It is a 10-stage pipelined ARMv4T compatible soft processor core with cache and memory management support. I developed it during my final semester in university.
Would like your feedback/criticism of the project.
More test cases could be added to the core to thoroughly test it. See the sw/tests directory. Test cases may be easily added (the documentation describes how to add test cases).
One of the main things left to do is to build a basic Wishbone SoC around the core consisting of some simple peripherals (UARTs, GPIO, Interrupt Controller) etc.
email@example.com wrote on 5/28/2017 8:45 AM:
I am curious. Has this been up long? I remember some years ago, maybe as
far back as 2002 ballpark, someone wrote code for an ARM7 I think. He
posted the code on opencores if I recall correctly. It was only up a month
or so and he received an invitation from ARM to discuss his code. That
means he got a call from an ARM lawyer. Seems there are parts of the ARM
architecture that are patented. At that time it would have been very hard
to design around the patent. I think it was related to interrupt
Again, if I recall correctly, ARM asked him to remove his code, but included
a sweetener, they offered him a job! So the code is gone. I'm sorry I
never downloaded a copy, but it is unlikely I would have bothered to build
it, so no great loss.
That particular patent may have expired. But you can be sure there are
others that are still in force. Otherwise, what would stop companies from
writing their own ARM processors and not paying ARM a royalty?
I just looked up ARMv4T and that is the same instruction set as the ARM7T.
With a 10 stage pipeline I guess your design is more like the ARM9T. If
this is the same instruction set, it must have the same interrupt
acknowledge design, no? If the patent has expired you may be home free.
Hmmm, while researching my facts for this I found a reddit page where you
talk about patents and other things last December. So I guess none of this
is news to you. :) But that conversation was for the ARMv4 instruction
set, not the ARMv4T. Any patent surprises there? I guess the ARMv4T is
also beyond patent expiration dates, no?
The interrupt handling mechanism of ZAP is generic and the interrupt acknowledgement is implementation defined. Since Thumb has been around since at least 1994, I guess patents on it might have expired?
I would just like to state how damaging patents and intellectual property
rights are to the advancement of mankind. They are nice for the private
advancement of a few, but they do not serve mankind well in any way,
shape, or form. Even the incentive for profit they might bring for the
hard workers is not sufficient to override the loss to humanity when the
ability to learn and alter freely the cumulative knowledge of man is
suppressed by artificial means, such as by legal erections around otherwise
Patents, copyrights, and "intellectual property" rights are all evil,
of the devil, and serve to enslave us rather than free us.
Rick C. Hodgin
PS - Revanth, I only post this to address these systems. I think your
offering is not only fantastic, but exactly what we, as people,
should be doing. It is the best of us given over to others to
then use as raw materials for their creation atop your prior work.
Please allow me to say, "Thank you, Revanth," for your contribution
The project was done at my final semester in University (2016 MS(EE) grad). My intentions for ZAP are purely non commercial and academic. However, if this project might give me problems legally, is it wise to put it on Github as open source?
That's why I brought up the issue. I don't think ARM is malevolent. They
are only interested in protecting their intellectual property. As you point
out their work is over 22 years old it is unlikely they have any current
patents. Since these are CPU designs that have been superseded by a number
of newer designs, they likely have no more financial interest in them.
Wanna code up an ARM CM7? ;)
Rick, as I have said before, if you truly believe this then your only
real option is to cease IMMEDIATELY using anything covered by current IP
restrictions (and that would include any open source products with
restrictive licenses like the GNU licenses). Anything short is
hypocrisy, which is sinful.
I realize this is basically impossible.
One key factor you refuse to acknowledge is that most of the resources
you want to use only came about BECAUSE of the existing IP laws allow
companies to be willing to spend money on research and development
knowing that they will be able to earn money on the results.