Hacker News new | past | comments | ask | show | jobs | submit login
XiangShan open-source 64-bit RISC-V processor to rival Arm Cortex-A76 (cnx-software.com)
358 points by watchdogtimer 83 days ago | hide | past | favorite | 76 comments

Very cool to see a team of 25 students put this together and get prototypes made. I wish opportunities like these were available back in my college days.

The headline is getting slightly ahead of the actual performance. Reaching Cortex-A76 performance is their goal after many more iterations. Their current implementation is not there yet, but that shouldn't detract from the magnitude of their achievement and their contribution to the open-source world:

> This culminated with an 8-core prototype built based on Yanqihu (雁栖湖) architecture using TSMC’s 28nm process with the processor running up to 1.2 or 1.3 GHz that should be taped out this month. But plans have been made to tape out a new prototype based on Nanhu (南湖) by the end of the year, using SMIC’s 14nm process allowing up to 2 GHz frequency, and further iterations of the architecture will aim at rivaling Arm’s Cortex-A76 processor.

RISC-V is an exciting development in the SoC world. We're starting to see some of HiFive's boards trickle out into the wild. The performance is good, but it's not quite as groundbreaking as many of the headlines make it out to be. The most exciting part of all of this is that ARM has more competition and we get to see some open-source contributions like this.

Are there higher level abstraction efforts in the linux kernel to prevent a hypothetical custom RISC-V diversity explosion from ending up quite as messily as custom ARM did?

Afaict, most of the ARM ugliness was around non-"CPU" SoC components. But it definitely seemed like kernel code organization wasn't ready for a 10x (or 100x) explosion of popular SoCs.

And the entire point of open sourced RISC-V cores is that they would enable even more chip diversity, no?

The riscv kernel maintainer is not interested in maintaining many different configs for many different SoC. So that is one effort to avoid fragmentation. If you look at the riscv config tree we can see about 5 configs:


Compare this to the ARM tree there are a few more:


Source: https://github.com/esmil/linux/pull/6#issuecomment-844135991

There have been discussions about this, and my conclusion is that there definitely could be a problem on the order of ARM’s. With luck, RISC-V will learn from history and not doom itself to repeat the same mistakes.

Is there an existing standard that board implementations can rally around? Something like OpenBoot? Make it a defacto standard.

We have device tree. The problem on ARM is

1) Qualcomm and other SoC vendors fighting interoperability


2) Users not understanding device tree.

The RISC-V ISA specifically allows for custom extensions.

Unfortunately, the licensing model does require the implementations to be FLOSS. This encourages creating a lot of closed stuff with different and incompatible extensions.

It doesn't matter. As long as they implement the core RV64GC instruction set correctly, standard software will run, and if they implement privileged architecture 1.10 or later correctly then the standard Linux kernel will run.

Vendors are free to use custom extensions to implement the bootloader and SBI. Normal code and even the OS won't see that. They can also use custom extensions in hardware drivers. Even in libc, if they want, though that gives more maintenance work.

Whether RISC-V ISA extensions are allowed or not is unrelated to the problems seen with ARM SoCs putting peripheral devices at different addresses.

Could a device table [for on-chip peripherals] be put right on chip?

Yes, that's a devicetree. Those can be tacked onto the kernel image or dynamically loaded from the chip's firmware (which most likely gets it from the firmware flash).

Sure, but the question was about diversity explosion in general.

> I wish opportunities like these were available back in my college days.

I'm forgetting the source, but some book I read discussed some period of silicon valley as a place where colleges quite routinely exposed students to chip-making. It sounded like the fabs of the area greatly supported these efforts. I'm not sure where I read it but it's stuck with me across many years, always strongly affirming my belief that people, when given exposure to how & means to do, begin many great things.

I'm sure students in the valley have been routinely exposed to VLSI chip-making, and actually making ICs, since at least the early 90s. I know I was.

The main problem is there are only so many universities with so many sections therefore quite a lot of students don't get exposure, even within a given EE department. And even if they could offer it to all students, many wouldn't enroll, as you're basically doing this class constantly for like a year, for not that many credits relative to the time spent, as it sucks down just tons of hours as one gets familiar with all the nitpicky details that one needs to know. And as one learns to deal with the joy that is CAD tooling.

However, in my opinion, the experience in invaluable. And students that can pass that course, with a successful chip in hand, are hand picked by employers. We sure do.

EE272 at Stanford actually started to post their flow. Another benefit of the open source PDKs.


There are actually many interesting student designs out there. For example this OoO RV64GC RISC-V core from Berkeley: https://chipyard.readthedocs.io/en/latest/Generators/BOOM.ht...

This was kicked off by Lynn Conway's famous VLSI design course at MIT [1], which began the Mead & Conway revolution.

You can find a more detailed write-up of that course and other courses it inspired (as well as some of the practical challenges involved) in her retrospective in IEEE Solid-State Circuits Magazine [2].

An excerpt:

> "Importantly, these weren’t just any designs, for many pushed the envelope of system architecture. Jim Clark, for instance, prototyped the Geometry Engine and went on to launch Silicon Graphics Incorporated based on that work (see Fig. 16). Guy Steele, Gerry Sussman, Jack Holloway and Alan Bell created the follow-on ‘Scheme’ (a dialect of LISP) microprocessor, another stunning design."

[1] https://ai.eecs.umich.edu/people/conway/VLSI/MIT78/MIT78.htm...

[2] https://ieeexplore.ieee.org/document/6393023

Wow that second link ("Reminiscences of the VLSI Revolution") turned out to be a 29 page rabbit hole providing a fantastic glimpse into the history and early days of chip design and engineering, thanks a lot for posting that! Here's a direct link to the PDF: https://citeseerx.ist.psu.edu/viewdoc/download?doi=

ARPA (and later DARPA) had a deal with MOSIS back in the late 70s and early 80s to fab chips for projects they funded (I remember this being used at MIT and Stanford at least, and surely others I wasn’t exposed to).

Not sure when GP went to college, but Caltech students were able to submit projects to MOSIS shuttle runs for a chip design class over 25 years ago.

i love these names: they are very intel-like

雁栖湖 → yangqi lake 南湖 → south lake

For someone unfamiliar with how the overall process works, what’s the road from this design to seeing this power laptops or desktops available to consumers? It isn’t clear to me, for example, what else needs to be designed around this - a motherboard? Will software “just works” since it is using a known instruction set architecture?

> Very cool to see a team of 25 students [in China] put this together

There will be many more stories about Chinese "Open Source" CPUs, because the USA has declared a strategy for this decade to control and limit the flow of advanced semiconductor tech to China. China would love to have bright minds from the West contribute to "Chinese Open Source" CPUs. Western contributors will find that these "Open Source" designs can only be economically fabricated in China, though, creating dependence on China.

It is a good strategy that has worked historically. Sugarcoat your real goal with some humanitarian bs and then have the best talent of the world working for you.

Chinese companies have focused on RISC-V as an alternative to ARM since the export controls. The thing with their chips is that SDK support is somewhat lacking? This is my conclusion after working with the extremely popular ESP devices.

Are you talking about the riscv esp32-3c SDK? Because I think the Espressif SDK has really matured over time for their other cores.

The documentation is far from top notch. Compare it with Zephyr OS documentation and you'll see quite a difference.

MicroMagic is pretty interesting to me in the RISC-V space: https://arstechnica.com/gadgets/2020/12/new-risc-v-cpu-claim...

They are getting perf-per-watt numbers that are ahead of everyone...albeit with a single core and no real 3rd party verification.

Some of the group had worked on Sparc at Sun, and they had previously sold themselves to Juniper for $260M, then regrouped some time afterwards.

It's worth noting that Micro Magic's design tools are likely what allowed them to claim these numbers. Some of the claims they make about their software are pretty impressive, but it mainly boils down to intelligent placing/routing techniques that mirror fully custom hand-made silicon designs but are actually designed by the computer: http://www.micromagic.com/datasheets/PDFs/DPC_3page_Layout.p...

It seems like their design workflow is ahead of the rest of the field.

AI models are also conducting placement of components now.

The previous discussion of that article on HN seemed to point to those numbers being totally unsuported. https://news.ycombinator.com/item?id=25262834

Obviously I would love those perf-per-watt numbers to be correct, but it doesn't seem like they have shown it yet.

I don't know whether it is possible with chip development or not. But I really hope that this project will enable numerous amount of derivative chips just as Linux kernel allows multiple distro. That means IoT/GPU/CPU/etc chips need not to start from scratch. In addition, having similar foundations might help fabs manufacture those chips swiftly.

That's the whole point of open source hardware.

Unfortunately most of the licenses used are not reciprocal and this does not encourage building ecosystems.

In the readme, they list three components that were sourced from other open-source projects: https://github.com/OpenXiangShan/XiangShan/blob/master/READM...

So it seems like there already is a little bit of an ecosystem.

I think the hardest problem is contributing changes back upstream. With hardware, people are a lot more paranoid about introducing new bugs and I feel like that sometimes makes collaboration a lot more difficult.

In a writeup on WeChat https://mp.weixin.qq.com/s/MAkxKZ1eS4UwBkvgD91Xng , Prof. Bao Yungang mentioned that one reason for starting the project was that they felt the barrier of contributing to Berkeley's BOOM https://boom-core.org/ was too high, pointing out that only 8 people contributed more than 100 lines.

So at least they're aware of the problem, although that doesn't guarantee that they'll fare better in terms of attracting outside contributions.

Oh man it’s starting, we will have to learn Chinese to get access to the whole picture of all the information out there. Some weeks ago I already heard that there are really good VUE.js sources in the Chinese web. This is quite terrifying, it seems like it is only a matter of time until state of the art scientific papers will only be available in Chinese :(

I think you have already been underestimating the quality of resources available in French, Russian, German, and others, that do not exist in English. Just as a single example, the math section of the French Wikipedia was distinctly superior to the English one when I was in college (2012).

If you're into OCaml, French is a very handy language to know in my experience

I can testify to the superiority of the math sections in French Wikipedia. They were so good I lost many hours just wandering.

France's #1 export product us culture so I am not at all surprised. They also invest lots of money in this. French cultural centeres abroad are more funded and in many ways better than any other embassy operation.

When I was into university, lots of great 3D papers were available in German.

So many of us speakers of other languages had to learn English. Now you’ll just have to join us in learning Chinese. It’s not that hard, just very different.

See it on the other way around. The fact that there are more Chinese science/tech folks understanding English than non Chinese understanding Mandarin means that there will be massive information asymmetry.

I guess I view it as democratizing rather than terrifying, particularly when there is broader acceptance of research and papers in non-STEM areas from outside the western sphere. For instance, psychology, history, linguistics, social fields (sociology, gender studies, etc) are all heavily tainted by a Western worldview/ideology bias due to the immense dominance of Western universities and academic spheres. Having a competing ecosystem is going to improve the diversity of thought we see.

> I view it as democratizing

Quite the opposite. Requiring most people in the world to learn a second and a third language to access science, technology and international job markets creates a higher barrier and increases inequality.

Though is that not already the case wrt. English?

The idea is that everyone learns english as their second language so there is no need for a third language.

I suppose the author Jean-Luc Aufranc can access Chinese because he linked to a most fascinating account of the development process https://www.zhihu.com/question/466393646/answer/1955410750 The key to getting where they are is commitment to developing design flow and tools that allow for fast iteration to explore and verify design changes.

TFA links an article in the German c't magazine as the source, which also links to the Zhihu thread: https://www.heise.de/news/Offengelegter-RISC-V-Chip-aus-Chin...

Bit fascinating that there have been more information of Chinese tech in German than English. German's wikipedia entry for Chinese space program has more information than the English one.

Well, the good part is that more people speaks Chinese than English. Less people will suffer with language barriers to knowledge.

> Well, the good part is that more people speaks Chinese than English. Less people will suffer with language barriers to knowledge.

That's actually not true. More people speak Mandarin as a first language than English (which is third, behind Spanish as well). However, far more people speak English as a second (or third) language than do as a first language, so that English is actually the most widely spoken language.

The relevant in my comment is the first language.

English is popular as second language just because english is at the present moment the language with more access to documentation and resources, so more people needed to learn it to defeat language barriers. If in the future the language with more resources became Mandarin, more people will learn it as a second language.

1) Speakers of Chinese are definitely not as equally distributed among global places with the need to access that knowledge as speakers of English.

2) Even if they were as equally distributed, you'd still be wrong about the number of speakers.

For those like me that thought this is wrong because of how big India is: according to the last census, only around 15% speak English as first/second/third language.

Though your intuition is correct: the amount of English speakers outnumbers that of Mandarin, but Mandarin significantly outnumbers English in terms of native-language speakers

The number of English speakers (in correct English).

Amount is for uncountable nouns, like butter, sugar etc.

Like in computing, be a polyglot, embrace the world, and yes I do speak a few human languages fluently (6 + a couple of dialects).

Both Vue and React have amazing Chinese language resources; I've been very lucky that my coworkers are fluent!

> But I really hope that this project will enable numerous amount of derivative chips just as Linux kernel allows multiple distro. That means IoT/GPU/CPU/etc chips need not to start from scratch

I feel this has been already happening with ARM.

Impressive work by an university group.

Perhaps also a testament to what you get in terms of productivity, if you use a more modern platform / language (Chisel/Scala).

It's not yet in computers, let's see if they dont face real world struggle in actual industrialization for the mass market first (or if they even manage to reach this point).

Productivity goes from design to client satisfaction :) A very productive team is not a team who prints an open source document nobody can use !

This is a university project. It will never be in "real" computers. At least not as a result of the doing of the university. Someone else could take this design and put it into "real" computers.

"""The RISC-V core has been developed with Chisel language ... released under a Mulan PSL v2 license"""


Which apparently grants a patent license.

It's the first OSI approved open source license written in two languages

Only for the patents owned by the contributors.

Sounds similar to Apache 2.0 License.

For those who don't know, Xiang Shan is a famous hill in Beijing, best known for red leaves in autumn.

In Taipei (Taiwan), it is the name of a mountain where most of the photos shots are taken.

It's a great small hike you should do if you visit the city. Start the hike around 4.30pm to catch the sunset. https://taiwangoldcard.com/images/taiwan-unsplash.jpeg

It is written 象山, which means elephant mountain. There are elephant statues on the hike.

The one in Beijing is 香山, Fragrant Hill. This project is the same.

Yes but the Chinese characters make it clear that it’s not a reference to Taiwan. That mountain trail in Taiwan is breathtakingly awesome though.

The confusion over Chinese names and logograms is pretty funny considering that in Chinese, western names are written with a set of phonetic logograms and losing that spelling information with latin/cyrillic characters makes it hard to tell if the name was English, Italian, German, or Russian.

Personally, it would be great if names on western websites are written with logograms in parenthesis and names on Chinese websites are written with spelled characters in parenthesis. Just another one of those weird cross-cultural areas of friction.

This is really cool. I hope this leads to more innovation in the open source phones, computers, and game hardware.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact