eddsos的个人空间 https://blog.eetop.cn/6282 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

IOT SOC设计 概述 1

热度 12已有 3933 次阅读| 2020-4-27 00:21 |系统分类:芯片设计| 随笔

忽然想自己设计一个IOT的MCU,参照STM32 F1系列做一个性能差不多的SOC。当然并不是指自己要重写所有的代码,但至少所有的代码都应该是合法可用的。

首先是CPU的设计。现在有很多开源的CPU,可以合法的商用。所以完全没有必要自己从头写一个,并且考虑到整个的工具链的开发和维护,全部从头自己设计也不太现实。没有什么悬念,我打算选用目前很火的RISC-V架构的CPU.

经过比较,我打算用OpenHWGroup的CV32E40P这个CPU.

由于还有工作,并且会有加班,所以并不会给自己制定严格的计划。之所以写出来,就是希望借此能让自己坚持下去。

有时自己并不会按照顺序去做,比如在研究MCU的时候,可能已经开始在写一些外设的设计,完全看自己的心情。多线程往下走,但不会超过3个。

设计用: System Verilog.

验证用: UVM/C

模拟部分:用电路图,先用system verilog设计一个可综合的行为级模型。

工具:这个可能是唯一没有办法合法使用的。只能搞些破解软件用。

不过尽量用试用版的Vivado以及自带的modelsim吧。

操作系统:Centos7

 

第一个目标:把CV32E40P这个设计当作IP,做IP验收。研究并reproduce all synthesis/simulation result.

  1. 下载OpenHWGroup的riscv_vm的虚拟机  --done (Archive done 2020-04-27)

    -> I downloaded riscv_tools/riscv_gnu_toolchain and compiled successfully. But I didn't want to use them. Because it is very tedious and takes a lot of time. I am not software guy, so just use result from others.

    -> .ova from OpenHwGroup is stored in Google, which can't be accessed in China. I use Chrome/Development mode to access .ova;Then use multcloud to transfer data image from google drive to One Drive; Install One Drive and sync files to local.

    给OpenHWGroup发邮件说中国访问不了Google Drive。问如果我把VM虚拟机放Baidu网盘共享是否可以,一直没有回复。

  2. 研究RISC-V指令集,CV32E40P使用手册,验证环境手册。  -- On Going.

    -> Study RISC-V 指令集,自己做一个CPU并验证,FPGA运行LED Blinking程序  --On going

          1) download IBEX core and study document.  --done.

          2) IBEX FPGA synthesis                                  --done

                 Xilinx的很快就可以搞定,Altera的需要更改代码。

          3)   IBEX Simulation Start up                              --done 2020-05-03

                 利用verilator复现了simple_example的仿真结果。

                研究一个IP一般需要重现它的仿真环境,但是我手头没有VCS,并且从来没有用过FuseSoc和Verilator。考虑到

                以前破解VCS的痛苦经历,觉得还是用免费的的Verilator复现IP的仿真结果,然后逐步转移到自己习惯的仿真器。

                安装FuseSoc的过程中,总是出现各种莫名奇妙的错误,今天中午莫名其妙装上了,估计是网络的问题。

                  编译C程序的时候,也出现了问题,后来通过下载lowrisc prebuild gcc解决掉了。

                 刚看到这个帖子,不错。

                 http://blog.eetop.cn/blog-1762300-6944788.html

                 这个帖子不全。针对Ubuntu 18.04, vcs2016, 安装后运行出如下问题:

                 运行 vcs 出现 bin/sh: Illegal option -h 如下解决 sudo rm -f /bin/sh 然后 sudo ln -s /bin/bash /bin/sh

                 现在 vcs 可用。 请参考:

                https://www.cnblogs.com/fundou/p/10872992.html

                http://bbs.eetop.cn/thread-839371-1-1.html

  

 

             4)研究FuseSoC文档,搞明白IBEX中FuseSOC命令的含义。--done 2020-05-12

             5)  Reproduce RISCV Compliance Simulation. --done 2020-05-12

                  里面有几个命令regression没有过,需要调试一下. --done 2020-05-20

                  It is proved that this is an RISCV Compliance testissue. Please reference

                  https://github.com/riscv/riscv-compliance/issues/72

              6) 研究google的验证平台,重现仿真结果   --done 2020-05-25

                   尽管我极力避免,最后还是陷入了各种无休止的EDA工具错误中。浪费了很多时间后,只好静下心来,重新整理EDA工具。

                   以前自己用AS5,但是查看备份,很多工具版本都已经很老了,自己用可以,但没有办法复现别人的仿真结果。所以选用

                   红帽子操作系统Centos7,把各个EDA工具和工程重新搞一遍。今晚终于重现了一个google riscv dv的测试用例。

         3.  综合目标:

                1)优化代码,用Xilinx 的FPGA XCKU115, 频率至少应该到100MHz.   --done 2020-05-26

                     IBEX的设计优化的不错,很轻松就跑到了100多MHz.

         4. CPU的验证:

             CPU的验证比较特殊,我以前也没有搞过。先查些资料看看。

             这些会放到单独的日记中描述。总之就是验证,验证,再验证。  --done 2020-08-31

        5. Wishbone 总线接口的实现:--on going.

             由于AMBA总线需要注册,看下来只有wishbone总线是完全开放的。所以更改CPU的接口为wishbone总线接口。

      -> CV32E40P FPGA(Quartus) /ASIC(SMIC .18) 综合 --On going.

第二个目标:写一个兼容STM32F1的UART IP

  1.  研究STM32F1的器件手册,并参考其它厂家的器件,确认UART IP的Feature.  --On Going.

第三个目标:写一个兼容STM32F1的I2C IP。

  1.  RTL coding.   --Done.

   2. 搭建验证平台。--on going.

全部作者的其他最新日志

发表评论 评论 (3 个评论)

回复 lxing_1988 2020-4-27 11:23
加我QQ:920681130,我也在做和你类似的事情,纯属个人爱好,我做过几个STM32的外设(USART,SPI, QSPI,GPIO等) 也在用这个RISC-V core搭系统,目前已经能在FPGA板上跑起来了
回复 eddsos 2020-4-28 00:28
纯属消磨时间,近来由于疫情原因,老外工作进度比较慢。所以感觉有些闲。业余时间写些东西消磨时间。随时可能中断啊。
回复 fuxiufeng 2020-6-3 16:50
不错
  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 5

    粉丝
  • 5

    好友
  • 0

    获赞
  • 4

    评论
  • 905

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-18 22:00 , Processed in 0.026345 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部