有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 sky 于 2020-9-20 12:35 编辑
问:或其他FPGA/芯片设计HDL语言(VHDL, systemC)项目。
某人答:
(2019年11月补充)A01. 谷歌开源芯片项目OpenTitan
https://github.com/lowRISC/opentitan
A02. 阿里(平头哥)的 AloT 芯片平台无剑100
https://github.com/T-head-Semi/wujian100_open------
推荐一些Github上的IC资源 (2019年5月整理) 1. 996.icu
是的,重点关注一下996,在IC行业很常见。
2. 超过500星的Verilog项目
使用以下搜索选项并且按照most stars排序:
language:Verilog stars:>500 在2019年5月2日早上6点,Verilog的超过500的项目只有6个,其中GPU两个,RISC-V内核3个,还有一个AI相关的NVDLA。
2.1 amiga2000-gfxcard
https://github.com/amiga2000-gfxcard
MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog
2.2 cliffordwolf/picorv32
https://github.com/cliffordwolf/picorv32
PicoRV32 - A Size-Optimized RISC-V CPU
2.3 nvdla/hw
https://github.com/nvdla/hw
RTL, Cmodel, and testbench for NVDLA
2.4 SI-RISCV/e200_opensource
https://github.com/SI-RISCV/e200_opensource
The Ultra-Low Power RISC Core
2.5 darklife/darkriscv
https://github.com/darklife/darkriscv
opensouce RISC-V implemented from scratch in one night!
2.6 VerticalResearchGroup/miaow
https://github.com/VerticalResearchGroup/miaow
An open source GPU based off of the AMD Southern Islands ISA.
3. 超过500星SystemVerilog项目
只返回1个搜索结果,WD的RISC-V内核。
https://github.com/westerndigitalcorporation/swerv_eh1
A directory of Western Digital’s RISC-V SweRV Cores
4. 超过500星的VHDL项目
返回4个搜索结果,其中3个是FPGA项目,1个是VHDL仿真器。注意以下第一个项目:挖矿的啊。
4.1 progranism/Open-Source-FPGA-Bitcoin-Miner
https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
A completely open source implementation of a Bitcoin Miner for Altera and Xilinx FPGAs. This project hopes to promote…
4.2 aws/aws-fpga
https://github.com/aws/aws-fpga
Official repository of the AWS EC2 FPGA Hardware and Software Development Kit
4.3 hamsternz/FPGA_Webserver
https://github.com/hamsternz/FPGA_Webserver
A work-in-progress for what is to be a software-free web server for static content.
4.4 ghdl/ghdl
https://github.com/ghdl/ghdl
VHDL 2008/93/87 simulator
5. freecores: 768个repo
点赞并不代表全部,数量也很重要。截止2019年5月2日早晨6点,下面这个用户有768个repo,备份了https://opencores.org/上的全部(至少是大部分)资源。
https://github.com/freecores
A home for open source hardware cores
6. github上还有啥?
自己去看排名吧
https://github.com/gitstar-ranking.com/repositories
某人答:
分享几个关注的项目,代码质量都极高,作者的技术水平和分享精神值得学习。
https://github.com/KastnerRG/riffa
- riffa项目是针对PCIe数据传输的框架,适配Xilinx和Intel的FPGA,支持PCIe 2.,0设计中对底层硬件进行了抽象,用户使用的过程中无需关注底层的硬件(方便软件工程师使用),同时上层软件将PCIe的操作抽象为读和写操作(方便硬件工程师使用),用户直接调用函数即可。driver支持Win7 32bit和64-bit,Linux 2.6.32 - 3.3.0。
https://github.com/alexforencich/verilog-ethernet/stargazers
Alex的项目可以用惊艳来形容,绝大部分都是个人开发的,都是非常专业的代码,非常敬佩其专业能力和分享精神,经常想的问题是在什么状态下能有如此好的心态和充足的时间来开发?或许这才是真正的诗和远方。
https://github.com/pConst/basic_verilog
Basic verilog 代码包括了一些常用的代码,可以直接拿过来使用,无需重复造轮子,把时间花在刀刃上。
https://github.com/jbush001/NyuziProcessor
gpgpu的开源代码,适合研究体系架构,可以直接运行在Cyclone IV FPGA上
https://github.com/analogdevicesinc
ADI公司维护的代码,包括适配ADI芯片的kernel source code,含有很多芯片driver,如果是使用zynq或者MPSoC,可以在petalinu-config下直接使用https://github.com/analogdevicesinc/linux,不用自己开发驱动。
https://opencores.org/
opencore是非常好硬件开源组织,上面有丰富实用的代码。
某人答:
2020-08-26下午更新:现在openwifi已经是第三了!追上第二(4.3k)短期不太可能。所以第三应该是openwifi近期最高排名了。YC (ycombinator) 影响力真大。
其中2个硬件描述语言项目(4和8),1个开发工具(2),6个FPGA IP core项目(3个RISC-V,1个GPU,1个WiFi,1个深度学习),最后一个类似仪器仪表 鄙人正是其中 openwifi项目 的作者
我之前回答过这个问题,回答问题时编辑问题的记录还在(5月24日),可我的回答却神秘消失,不知道被拿去做什么了还是我当时的回答遇到了一个假的知乎?这一切的背后到底是道德的沦丧,还是人性的扭曲?
某人答: 嘿嘿嘿,来晚了,题主可以来看看 Gitee 上这个项目,作为补充参考~ 一个小型RISC-V处理器核(tinyriscv):
某人答: 分享一个自己写的小算法 IP:
https://github.com/ljgibbslf/SM3_core
更新:
v0.2 版本,支持 64 位总线,并在 FPGA 平台上进行了性能分析,最高吞吐接近 2Gbps。
国密 SM3 杂凑算法的硬件 IP,RTL 采用 Verilog 开发,测试平台使用 SystemVerilog 语言。
算法与标准
SM3 是中国的杂凑密码算法国家标准,SM3 算法与 SHA、MD5 等算法同属于杂凑算法,又称哈希算法,散列算法等。
SM3杂凑算法是我国自主开发的密码算法,并于2016年上升为国家标准。
SM3算法采用Merkle-Damgård结构,消息分组长度512比特,摘要结果长度256比特。SM3 算法包括消息填充分组,消息扩展以及消息压缩三个步骤。
整体结构与 SHA-256 算法结构接近,但增加了多种新设计技术以提高安全性。
SM3标准文本
功能
特性
- 输入消息长度按字节对齐;消息长度支持标准规定的最长消息长度:(2^64-1) 比特
- 输入与内部运算位宽可为 32/64 比特 (64 bit 特性将于 v1.0 支持)
- 单个消息块运算时钟周期为 65 (32 bit) / 33 (64 bit)
- 最大吞吐(FPGA : //TODO ASIC: //TODO)
接口
目前采用简单接口设计,将在未来版本支持 AXI 等总线接口。
输入
- 时钟与异步复位 clk ,rst_n
- 消息数据 msg_inpt_d
- 消息数据有效
- 消息数据末尾(表示当前数据为消息的最后一块) msg_inpt_lst
- 消息数据字节有效 msg_inpt_vld_byte
输出
下图是一个例子,输入数据共 9 个字节,分为 3 个周期输入,其中前两个周期为完整的 32 bit 字,第三个周期输入字不对称,仅高字节有效,因此 msg_inpt_vld_byte 信号为 4'b1000。
实现与测试
SM3_core 虽然最初为 FPGA 平台设计,但由于其本身不包括任何 FPGA IP 与原语,因此同样适用于 ASIC 平台。
测试
SM3_core 目前提供了一个基于 Modelsim 与 Windows 10 的测试平台,以及相应的运行脚本,其中测试平台:
- 生成长度与内容随机的消息激励
- 将消息激励分别输入 C 语言参考模型(通过 DPI)与逻辑模块顶层
- 判断两者输出是否一致
运行测试(How to run)
运行 sim/run/run_sim.bat 脚本启动测试平台,该脚本
- 通过环境变量获取 Modelsim 路径(实际通过 License 变量:LM_LICENSE_FILE)
- 目前已经测试的 Modelsim 版本与环境:10.5 on Win10
实现
- FPGA:Virtex-7 with Vivado 18.3
未来演进
- 在 FPGA/ASIC 平台上对实现的性能进行分析
- 实际支持 64 位总线与内部运算位宽
- 支持更多的仿真工具,如 VCS
- 支持 AXI-stream 总线接口
- 提供更完善的文档支持
更新日志
欢迎大家点星星,如果愿意下载代码,在你的环境上试一下我的脚本(Modelsim on Win10环境),就更好了!
目前还有许多工作需要完善,也欢迎有兴趣的朋友参与到这个开源项目来。
某人答:
1.NVIDIA Deep Learning Accelerator https://github.com/nvdla/hw
https://github.com/openDLA
2. Opencores的镜像
https://github.com/freecores
3. 略
https://github.com/alexforencich
某人答:
给自己刚刚起步的Verilog项目打个广告
https://github.com/Mario-Hero/Async-Karin
我在做的是一个无时钟异步电路在FPGA上的应用。在Artix-7和CycloneIV上都验证了。
现在能做到加减乘除,开方以及分支循环结构,可以像写高级语言一样编写Verilog代码。
目前一个很致命的问题就是,我的设计在时间和资源消耗上都很大,这个具体对比数据在readme的最后面有。随着算法的改进,这个问题会慢慢解决的。
另外,能求个star吗?多谢了!
|