宇智波鼬 发表于 2020-7-17 15:29:35

基于FPGA与RISC-V的嵌入式系统设计

老古背景:资深FPGA和嵌入式开发专家,美国南加州大学集成电路设计专业硕士;美国PulseRain Technology公司的创始人。
2018年RISC-V基金会官方RISC-V Soft CPU 设计大赛季军, 2019年RISC-V基金会官方物联网安全设计大赛冠军,他主持设计的PulseRain Rattlesnake处理器成功挫败了所有的黑客模拟攻击,并获综合成绩第一而夺冠。
http://mmbiz.qpic.cn/mmbiz_jpg/IEccNBf01KgA3wibiaySnhc48GGxUbicmprJxZtsDleSROBTFUrhtP5jqJqso0yEkbPsAjr9qKLTI3bVNXEr9qFPA/640?/0.jpg
详细谈一谈RISC-V技术在物联网(IoT)中的应用,顺便也假扮一下人生导师。
先说一下人生导师这件事情吧,这个蛮让我为难的,因为电子工程师本来就是一个比较苦逼的行当。
劝大家趁年轻赶紧跳离火坑吧,好像不够正能量。
但是真要是拉大家入伙吧,以后中年失业还是事小,万一碰上个不厚道的东家,在号子里关个250+days,那可就真对不起大家了。
如果大家真喜欢这个行当,像我这样冒点风险也无妨。本人在电子行业揾食多年,固件、硬件、芯片设计等都干过,最后还是干起了FPGA+嵌入式系统的营生。
以我个人的感受,芯片设计是一个需要多种专业知识和技能的工种,也是最容易接不到订单而饿肚子的工种。
这个有点像造摩天大楼,摩天大楼的建造是一件很有挑战性的事情,需要大量的投资和高超的技术,不过这个世界对摩天大楼的需求往往时断时续。
年景好的时候,也许楼来不及盖;年景不好的时候,旧的楼也可以继续用。那么当年景不好的时候,还需要这么多盖楼的工程师吗?(这时可能市场上更需要装修工,而不是建筑工)
另外,芯片是和具体的应用相关的。例如人工神经网络芯片和无线芯片就完全不一样,所以除了了解芯片设计本身以外,对系统和应用的准确了解,往往比了解芯片本身更重要。例如本文标题里面提到的物联网(Internet of Things),就是芯片、软硬件和具体应用场景的一个综合情境。
http://mmbiz.qpic.cn/mmbiz_jpg/IEccNBf01KgA3wibiaySnhc48GGxUbicmprtkMaYibfeGXpmbmRMe7EuuQbh34V2h4iaiaGYibRnL5QYOhQDgnMicQdgbg/640?/0.jpg
说到物联网,我记得它最早好像叫另外一个名字:WSN(是Wireless Sensor Network的英文缩写,而不是Wei Suo Nan的拼音缩写),其最早的应用是通过无线方式收集传感器数据。
随着处理器处理能力的不断增强,在数据采集端直接运行TCP/IP协议变得可能,从而演变出了物联网(IoT, Internet of Things)。
虽然物联网本身和RISC-V并没有直接的联系,但是RISC-V却非常适合物联网这类应用。
因为和普通的手机无线应用不同,物理网的应用场景非常碎片化,这就对定制化(customization)提出了更多的要求。
同时IoT的终端往往还需要低功耗,并需要能运行small footprint的实时嵌入式操作系统。
除此之外,许多应用还对数据安全有较高的要求。由于RISC-V的开放性和灵活性,能相对容易地满足上面这些需求,而不必担心会大幅增加终端的成本。
如果你不是通过“量子波动速读”而到达本段落的话,那么恭喜你,你有着电子工程师最重要的品质:耐心。
RISC-V芯片设计需要掌握的技能和涉及方向
物联网涉及到电子行业的方方面面,倒是对大家的学习和就业很有指导意义。具体来说,它主要涉及如下:
01微控制器(MCU)设计,微电子专业集中于此
这也是RISC-V大有用武之地的地方。RISC-V指令集最早源自于2010年夏天美国加州大学伯克利分校Krste Asanović 教授主持的一个关于开源计算机系统的研究研究项目。和ARM、Intel x86不同的是,RISC-V是一个自由和开放(free and open) 的指令集。
RISC-V的标准化工作由RISC-V基金会主持,对任何想用RISC-V设计实现处理器的公司与个人,他们都不会受到来自RISC-V基金会的限制,也无需向RISC-V基金会支付授权费用。这也是为什么RISC-V能异军突起的一个重要原因。
而在本文撰写之际,有消息传来说RISC-V基金会正在打算把注册地从美国迁往瑞士。据说这是担心基金会的运作会受到中美贸易战的影响而做出的预防措施,因为美国有些共和党议员觉得RISC-V这种开放的做法最终会便宜了中国人(特别是华为)。
好吧,我承认这位议员的担心也并非完全多余,不过好在这个世界上除了政客之外,还有更多头脑单纯的工程师与科学家。
02嵌入式操作系统,软件专业集中于此
由于物联网的特殊性,往往要求操作系统能有比较小的footprint, 同时还能满足实时响应的要求。
常用的操作系统有FreeRTOS、 Zephyr、Contiki等。而对这些操作系统的移植,要求工程师能对微机原理、C语言、操作系统原理等有深入的了解。由于RISC-V硬件的开放性,使得软件的移植也变得相对容易。
(害羞的小广告)以上两方面,都可以在新书《基于FPGA与RISC-V的嵌入式系统设计》中找到详细的描述。喜欢动手的同学,可以在和本书配套的小脚丫开发板上找到从处理器设计到操作系统移植的全套样例。

03电路板设计,包括射频等。电子工程专业集中于此04安全性设计
安全性是一个非常广泛的话题,它往往涉及到软硬件两方面。在硬件方面,许多微处理器往往设计有一个信任模式,会和操作系统相配合,用来运行高级别的安全操作。另外一些处理器,会有专门的内存访问保护等。而在软件方面,则通常需要对buffer overflow有针对性的防御,以防止在网络连接时被黑客借机侵入。
(没羞没臊的小广告)在刚刚结束的2019年RISC-V软核处理器设计大赛上,我就是凭借设计IoT安全的RISC-V处理器而夺冠的。相关的技术细节,可以在https://github.com/PulseRain/Rattlesnake 找到。
http://mmbiz.qpic.cn/mmbiz_jpg/IEccNBf01KgA3wibiaySnhc48GGxUbicmpr8UctthokgGas99CMUJ1g8pItbXprdMtic7TF6sjWu2SadkG9ETicXtAA/640?/0.jpg
在互联网行业,有一个词叫“全栈工程师”,大概就是形容一个软件工程师能同时掌握前端和后端的技术。而对电子行业,技能树枝繁叶茂,要是能把我上面说的这些方面都熟悉掌握,恐怕可以叫“全能工程师”了。
而实际上,很多公司往往并不会让工程师在不同的工种之间频繁切换,这在大公司尤为如此。所以我建议许多新毕业的同学,不要嫌弃小厂,有时候在小厂里,反而能接触到种类更多的技术,对未来的发展不无裨益。同时在工作的时候,也别忘了追踪行业的最新动态和不断的自我学习。
肺腑之鸡汤言
我最喜欢看的美剧是The Shawshank Redemption(肖申克的救赎)。这里面有一段监狱囚犯的对话,讨论什么是institutionalized。这段话一直影响着我的职业生涯:
http://mmbiz.qpic.cn/mmbiz_jpg/IEccNBf01KgA3wibiaySnhc48GGxUbicmprFia904bgmdGTiaf9wYcYibgQIKqhPKksRpvE2GGCvACjlbOue2jNe5gQw/640?/0.jpg
The man’s been in here fifty years, Heywood. Fifty years! This is all he knows. In here, he’s an important man. He’s an educated man. Outside, he’s nothin’! Just a used up con with arthritis in both hands. couldn’t even get a library card if he applied. You see what I’m saying?
这家伙在这里呆了有50年了,50年呐。这就是他所了解的全部世界了。在这里,他是一个重要的人物,懂得很多。出了这里,他什么都不是。他只是一个失去利用价值的罪犯,双手还都患有关节炎。如果他去图书馆的话,可能连借书卡都申请不到。你懂我在说什么吗?
公司是你学习,成长的地方,而不应该是一个institutionalize你的监狱。
如果你打算干这行,那就永远不要放弃对新技术的学习,即使那些东西暂时与你手头的工作没有直接的关系。

  
本篇完

JLINKv10 发表于 2020-7-17 16:04:04

8051 RISC-V ARM

本帖最后由 JLINKv10 于 2020-7-17 16:05 编辑

如果打算和MCU打交道,就永远不要排斥任何新的MCU,即使新的MCU暂时与你的手头的工作没有直接关系。

之前学习8051单片机,ARM单片机,可能已经不流行了,也可能被时间淘汰。。。

RISC-V 单片机还是要学的.

前几十年用CPU做算法,现在不也被淘汰了吗?

现在的算法都是GPU和NPU处理,

赶紧学习新技术吧!

毕竟干这行呢!!!

JLINKv10 发表于 2020-7-21 09:51:10

JLINKv10 发表于 2020-7-17 16:04
如果打算和MCU打交道,就永远不要排斥任何新的MCU,即使新的MCU暂时与你的手头的工作没有直接关系。

之前学 ...

还不赶紧加入RISC-V大军
页: [1]
查看完整版本: 基于FPGA与RISC-V的嵌入式系统设计