优秀的 Verilog/FPGA开源项目介绍(三十六)-RISC-V(新增一)

news2024/11/24 13:57:51

关于RISC-V的二三事

risc-v官网

https://riscv.org/

RISC-V(跟我读:“risk----------------five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。

这里要明确两个概念:指令集规范(Specification)和处理器实现(Implementation)是两个不同层次的概念,要区分开。指令集(ISA)是规范标准,往往用一本书或几张纸来记录描述,而处理器实现是基于指令集规范完成的源代码。RISC-V是一个指令集规范。

我们可以基于x86/ARM/ RISC-V指令集,进行处理器微架构设计和实现形成源代码,并通过流片最终形成芯片产品。其中指令集规范与处理器实现的知识产权是独立的,不能混为一谈。

"RISC-V是开源的"表示指令集规范是开源、开放和免费的(open and free),这与x86与ARM指令集有本质不同,但并不是指具体的处理器实现也都是开源免费的。

基于RISC-V指令集规范,既可以由开源社区来开发开源免费版的处理器实现(如Berkeley开发的Rocket核等),也可以有商业公司开发收费授权版的处理器实现(如国内平头哥玄铁910、芯来N200核与优矽渭河WH-32核等)。

(以上来源:https://mp.weixin.qq.com/s/9PX5n_ZPjWM1OyqnijlIPw,版权归文章作者所有)

国内厂商在做的工作

RISC-V架构目前国内有不少院所和公司在做相关的工作,芯来,平头哥在做IP,兆易创新已经推出了基于芯来的N200定制的GD32VF103产品线,一些公司在基于平头哥的IP做SoC,嘉楠科技在去年推出了音视频AI专用的K210,中科蓝讯推出了一系列基于RISC-V架构的蓝牙芯片,出货量极大,其宣称是全球首家RISC-V应用量过亿(颗)的公司,而且全部搭载国产开源RT-Thread物联网操作系统。公众号:OpenFPGA

(以上来源 链接:https://www.zhihu.com/question/274106611/answer/975894883,版权归作者所有)

更完整的总结查看《RISC-V指令集架构介绍及国内外厂商介绍》。

下面按照实现难度大致排序

新增1、tinyriscv

tinyriscv

完整的项目说明:

https://liangkangnan.gitee.io/2020/04/29/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%86%99RISC-V%E5%A4%84%E7%90%86%E5%99%A8/

实现的是一个单核32位的小型RISC-V处理器核(tinyriscv),采用verilog语言编写。设计目标是对标ARM Cortex-M3系列处理器。tinyriscv有以下特点:

  • 支持RV32IM指令集,通过RISC-V指令兼容性测试;

  • 采用三级流水线,即取指,译码,执行;

  • 可以运行C语言程序;

  • 支持JTAG,可以通过openocd读写内存(在线更新程序);

  • 支持中断;

  • 支持总线;

  • 支持FreeRTOS;

  • 支持通过串口更新程序;

  • 容易移植到任何FPGA平台(如果资源足够的话);

整体架构

1f88f6a514a020e71ddf4000123c55c1.png

https://gitee.com/liangkangnan/tinyriscv

详细的中文设计说明,非常适合入门!

新增2、ridecore

https://github.com/ridecore/ridecore

RIDECORE (RISc-v Dynamic Execution CORE) 是一个用 Verilog HDL 编写的乱序 RISC-V 处理器。

RIDECORE 的微架构基于“现代处理器设计:超标量处理器的基础”(https://www.waveland.com/browse.php?t=624&r=d|259)。因此,我们建议用户在使用 RIDECORE 之前阅读本书和我们的文档 (doc/ridecore_document.pdf)。

到目前为止,我们的 FPGA 原型设计已经在 Xilinx VC707 板进行了原型验证。该原型可以在 50MHz 的时钟频率下运行。


ridecode的架构如下:

a7808751d4881646e3eeae1f59db2a07.png

新增3、nanoFOX

可以“触摸”的RISC-V。

6eadf89c56058612c4d7d5fd212832c5.png

使用SystemVerilog实现的一个小型RISC-V CPU内核。这是一个带有AHB和缓存(完整命令列表RV32I(没有fence、fence.i、ecall、ebreak))的RV-CPU版本。

nanoFOX 目前可以在这些 FPGA 板上工作:

  1. Storm_IV_E6_V2(Altera Cyclone IV FPGA)

  2. rz_easyFPGA_A2_1(Altera Cyclone IV FPGA)

  3. Terasic DE10-Lite(Altera MAX10 FPGA)

  4. Terasic DE0-Nano(Altera Cyclone IV FPGA)

整个项目文件夹整理的非常清晰,每个板卡有单独的文件夹,同时仿真文件齐全,构建项目也简单,值得一试。

参考资料:

  • PicoRio Specification:https://gitlab.com/picorio/picorio-doc

  • RISC-V Specification: https://riscv.org/technical/specifications/

  • RISC-V Tools https://github.com/riscv/riscv-tools

  • RISC-V GNU Toolchain:https://github.com/riscv/riscv-gnu-toolchain

项目地址

https://github.com/Dmitriy0111/nanoFOX


1、darkriscv

一晚从头开始实现开源RISC-V!

fa30d044a87cf4f76ec799faf624005a.png

尽管与其他 RISC-V 实现相比,代码小而粗糙,但是作为初学或者初识RISC-V很友善(简易)。虽然很简易,但DarkRISCV具有许多令人印象深刻的功能:

  • 实现大部分 RISC-V RV32E 指令集

  • 实现大部分RISC-V RV32I指令集(缺少csr*、e和fence

  • 在超大规模 ku040 中工作频率高达 250MHz(400MHz 带超频!)

  • 便宜的 spartan-6 高达 100MHz,适合小型 spartan-3E,例如 XC3S100E!

  • 大多数时间(通常是 71% 的时间)可以维持每条指令 1 个时钟

  • 灵活的哈佛架构(易于集成缓存控制器、总线桥等)

  • 在 xilinx(spartan-3、spartan-6、spartan-7、artix-7、kintex-7 和 kintex ultrascale)中运行良好

  • 与一些altera和lattice FPGA一起工作得很好

  • 适用于 RISC-V 的 gcc 9.0.0(无需补丁!)

  • 使用 850-1500LUT(核心仅使用 LUT6 技术,取决于启用的功能和优化)

  • 可选的 RV32E 支持(与 LUT4 FPGA 配合使用效果更好)

  • 可选的 16x16 位 MAC 指令(用于数字信号处理)

  • 可选的粗粒度多线程 (MT)

  • 流水线阶段之间没有互锁!

  • BSD 许可证:可以在任何地方使用,没有限制!

是不是迫不及待去试一试了!

https://github.com/darklife/darkriscv

b41a177cc86cb5b5c972574de7e62ad4.gif

2、picoRiscV

这个其实不需要过多介绍了,小巧且完善的RISC-V。

b0fed6d88e13a1941ca23cea0ff60840.png

PicoRV32 是实现RISC-V RV32IMC 指令集的 CPU 内核。它可以配置为 RV32E、RV32I、RV32IC、RV32IM 或 RV32IMC 内核,并可选择包含内置中断控制器。

特点:

  • 小型(7 系列 Xilinx 架构中的 750-2000 个 LUT)

  • 高 fmax(7 系列 Xilinx FPGA 上为 250-450 MHz)

  • 可选择的本机内存接口或 AXI4-Lite 主控

  • 可选的 IRQ 支持(使用简单的自定义 ISA)

  • 可选的协处理器接口

  • 该 CPU 旨在用作 FPGA 设计和 ASIC 中的辅助处理器。由于其高fmax,它可以集成到大多数现有设计中,而无需跨越时钟域。当在较低频率下运行时,它会有很多时序裕量,因此可以添加到设计中而不会影响时序收敛。

官方地址:https://bitbucket.org/casl/shakti_public

https://github.com/cliffordwolf/picorv32

3、cva6

CVA6 是一个 6 级、有序 CPU,它实现了 64 位 RISC-V 指令集。它完全实现了 I、M、A 和 C 扩展,如第 I 卷:用户级 ISA V 2.3 以及特权扩展草案 1.10 中所述。它实现了三个权限级别 M、S、U 以完全支持类 Unix 操作系统。公众号:OpenFPGA

它具有可配置的大小、单独的 TLB、硬件 PTW 和分支预测(分支目标缓冲区和分支历史表)。主要设计目标是减少关键路径长度。

d32e46d1b8105670fdd58593a1260caf.png

https://github.com/openhwgroup/cva6

4、VexRiscv

用 SpinalHDL 编写的 RISC-V 实现。以下是一些规格:

79cc98b5f11e1e712fb23357fe255a92.png
  • RV32I[M][A][F[D]][C] 指令集

  • 流水线从 2 到 5+ 个阶段([Fetch*X]、Decode、Execute、[Memory]、[WriteBack])

  • 1.44 DMIPS/Mhz --no-inline 当几乎所有功能都启用时(1.57 DMIPS/Mhz 当分频器查找表启用时)

  • 针对 FPGA 进行了优化,不使用任何供应商特定的 IP /原语

  • AXI4、Avalon、wishbone

  • 可选的 MUL/DIV 扩展

  • 可选 F32/F64 FPU(目前需要数据缓存)

  • 可选的指令和数据缓存,公众号:OpenFPGA

  • 可选硬件重新填充 MMU

  • 可选的调试扩展允许通过 GDB >> openOCD >> JTAG 连接进行 Eclipse 调试

  • RISC-V 特权 ISA 规范 v1.10 中定义的机器、[Supervisor] 和 [User] 模式的可选中断和异常处理。

  • 移位指令的两种实现:单周期(全桶式移位器)和shiftNumber周期

  • 每个阶段可以有可选的旁路或互锁危险逻辑

  • Linux 兼容(SoC:https : //github.com/enjoy-digital/linux-on-litex-vexriscv)

  • Zephyr兼容

  • FreeRTOS 端口

下面是运行的最高主频及消耗的资源:

VexRiscv small (RV32I, 0.52 DMIPS/Mhz, no datapath bypass, no interrupt) ->
    Artix 7     -> 243 Mhz 504 LUT 505 FF 
    Cyclone V   -> 174 Mhz 352 ALMs
    Cyclone IV  -> 179 Mhz 731 LUT 494 FF 
    iCE40       -> 92 Mhz 1130 LC

VexRiscv small (RV32I, 0.52 DMIPS/Mhz, no datapath bypass) ->
    Artix 7     -> 240 Mhz 556 LUT 566 FF 
    Cyclone V   -> 194 Mhz 394 ALMs
    Cyclone IV  -> 174 Mhz 831 LUT 555 FF 
    iCE40       -> 85 Mhz 1292 LC

VexRiscv small and productive (RV32I, 0.82 DMIPS/Mhz)  ->
    Artix 7     -> 232 Mhz 816 LUT 534 FF 
    Cyclone V   -> 155 Mhz 492 ALMs
    Cyclone IV  -> 155 Mhz 1,111 LUT 530 FF 
    iCE40       -> 63 Mhz 1596 LC

VexRiscv small and productive with I$ (RV32I, 0.70 DMIPS/Mhz, 4KB-I$)  ->
    Artix 7     -> 220 Mhz 730 LUT 570 FF 
    Cyclone V   -> 142 Mhz 501 ALMs
    Cyclone IV  -> 150 Mhz 1,139 LUT 536 FF 
    iCE40       -> 66 Mhz 1680 LC

VexRiscv full no cache (RV32IM, 1.21 DMIPS/Mhz 2.30 Coremark/Mhz, single cycle barrel shifter, debug module, catch exceptions, static branch) ->
    Artix 7     -> 216 Mhz 1418 LUT 949 FF 
    Cyclone V   -> 133 Mhz 933 ALMs
    Cyclone IV  -> 143 Mhz 2,076 LUT 972 FF 

VexRiscv full (RV32IM, 1.21 DMIPS/Mhz 2.30 Coremark/Mhz with cache trashing, 4KB-I$,4KB-D$, single cycle barrel shifter, debug module, catch exceptions, static branch) ->
    Artix 7     -> 199 Mhz 1840 LUT 1158 FF 
    Cyclone V   -> 141 Mhz 1,166 ALMs
    Cyclone IV  -> 131 Mhz 2,407 LUT 1,067 FF 

VexRiscv full max perf (HZ*IPC) -> (RV32IM, 1.38 DMIPS/Mhz 2.57 Coremark/Mhz, 8KB-I$,8KB-D$, single cycle barrel shifter, debug module, catch exceptions, dynamic branch prediction in the fetch stage, branch and shift operations done in the Execute stage) ->
    Artix 7     -> 200 Mhz 1935 LUT 1216 FF 
    Cyclone V   -> 130 Mhz 1,166 ALMs
    Cyclone IV  -> 126 Mhz 2,484 LUT 1,120 FF 

VexRiscv full with MMU (RV32IM, 1.24 DMIPS/Mhz 2.35 Coremark/Mhz, with cache trashing, 4KB-I$, 4KB-D$, single cycle barrel shifter, debug module, catch exceptions, dynamic branch, MMU) ->
    Artix 7     -> 151 Mhz 2021 LUT 1541 FF 
    Cyclone V   -> 124 Mhz 1,368 ALMs
    Cyclone IV -> 128 Mhz 2,826 LUT 1,474 FF 

VexRiscv linux balanced (RV32IMA, 1.21 DMIPS/Mhz 2.27 Coremark/Mhz, with cache trashing, 4KB-I$, 4KB-D$, single cycle barrel shifter, catch exceptions, static branch, MMU, Supervisor, Compatible with mainstream linux) ->
    Artix 7     -> 180 Mhz 2883 LUT 2130 FF 
    Cyclone V   -> 131 Mhz 1,764 ALMs
    Cyclone IV  -> 121 Mhz 3,608 LUT 2,082 FF

VexRiscv有个官方的SoC:Briey,使用AXI接口。和Rocket Chip一样,支持Verilator+OpenOCD+GDB仿真。和Rocketchip一样都是使用scala解释器sbt工具.

关于Spinal,可以查看《从Verilog到SpinalHDL》。

https://github.com/SpinalHDL/VexRiscv

以上几个小项目都适合了解和入门RISC-V,简易是最大的特点,最主要的是都可以在FPGA开发板上运行,而且对FPGA要求也不高。

接下来就是几个成熟点的项目了。

5、平头哥无剑100

平头哥无剑100

f1cd4946240bd9b3823d9f98b5ce49b4.png

文档目录如下:

|--Project                //open source project work directory  
  |--riscv_toolchain      //tool chain install directory download from t-head.cn
  |--wujian100_open       //wujian100_open project get from github
    |--case               //test case example for simulation
    |--doc                //wujian100_open user guide
    |--fpga               //FPGA script
    |--lib                //compile script for simulation
    |--regress            //regression result
    |--sdk                //software design kit
    |--soc                //Soc RTL source code
    |--tb                 //test bench
    |--tools              //simulation script and setup file
    |--workdir            //simulation directory
    |--LICENSE
    |--README.md

https://github.com/T-head-Semi/wujian100_open

6、Hummingbirdv2 E203 Core and SoC

芯来科技研发的一款RISC-V core&SOC,是SI-RISCV/e200_opensource (https://github.com/SI-RISCV/e200_opensource)的进阶版。

该存储库托管开源 Hummingbirdv2 E203 RISC-V 处理器内核和 SoC 的项目,它由基于中国大陆的领先 RISC-V IP 和解决方案公司Nuclei System Technology开发和开源。公众号:OpenFPGA

这是SI-RISCV/e200_opensource中维护的Hummingbird E203项目的升级版,所以我们称之为Hummingbirdv2 E203.

在这个新版本中,我们有以下更新。

  • 为 E203 内核添加 NICE(Nuclei Instruction Co-unit Extension),因此用户可以轻松创建带有 E203 内核的定制硬件协同单元。

  • 将PULP Platform的APB接口外设(GPIO、I2C、UART、SPI、PWM)集成到Hummingbirdv2 SoC中,这些外设采用Verilog语言实现,便于用户理解。

  • 为 Hummingbirdv2 SoC 添加新的开发板(Nuclei ddr200t 和 mcu200t)支持。

欢迎访问https://github.com/riscv-mcu/hbird-sdk/使用蜂鸟 E203 软件开发包。

欢迎访问https://www.rvmcu.com/community.html参与蜂鸟E203的讨论。

51ff2f95996e3105faef2a098dd3fa87.png 48128c6606aca0419de1e854801e7beb.png

https://github.com/SI-RISCV/e200_opensource

https://github.com/riscv-mcu/e203_hbirdv2

7、香山开源高性能处理器

“香山”基于Chisel语言开发,支持多核,采用乱序执行、11级流水、6发射。采用28nm台积电工艺预计达到1.3Ghz主频,采用中芯国际14nm工艺预计达到2Ghz主频。性能评估为7/Ghz(SEPC2006),换言之,第一版的雁栖湖架构对标的是ARM A72/A73。

85441a7757be642bb3d44de81f3c5067.png

“香山”第二代南湖架构的目标是10/G,在采用中芯国际14nm工艺的情况下主频达到2Ghz。从参数上看,南湖架构对标的是A76,2G主频下SPEC06达到20分。如果能够实现这一设计目标,裸CPU性能在RISC-V处理器中是首屈一指的。b2ec6eac45ad0a11fbc41bb1a09ee2e2.png

更详细介绍《不采用Verilog,RTL开源!国产香山RISC-V高性能处理器问世!乱序执行、11级流水、6发射!性能堪比A76》。

架构如下:

d85478546ca399fb8dc6edb55f600c72.png

知乎首页:https://www.zhihu.com/people/openxiangshan

关于Chisel和Spinal介绍《https://zhuanlan.zhihu.com/p/89249985》。

https://github.com/OpenXiangShan/XiangShan

8、木心处理器

ca3b375686069d7f32fb02573aa32095.png

木心处理器是一系列易于学习的 RISC-V 处理器和相关的基于 VSCode 的 IDE 称为 TreeCore,具有丰富、详细和交互式的在线教程,对初学者很友好。基于 VSCode 的 IDE 集成了代码分析、波形模拟功能,可以自动从云服务器中查找和组装特定的工具链、IP 核和库依赖项,以开发处理器或应用程序。

特征:

  • 对verilog、vhdl、chisel 和spinalHDL 的完整语言支持。

  • 现代用户界面

  • 轻便、开箱即用的功能

  • GPU 加速以实现快速实时渲染

https://github.com/microdynamics-cpu/tree-core-ide

9、Rocket

(UCB)标量处理器:64位、5级流水线、但发射顺序执行处理器,特征:

  • 支持MMU,支持分页虚拟内存。可以移植到Linux操作系统

  • 具有兼容的的IEEE 754-2008标准的FPU

  • 具有分支预测功能,具有BPB(Branch Prediction Buff)、BHT(Branch History Table)、RAS(Return Address Stack)

Rocket同样采用Chisel语言编写;

9f7a3ce02ddaac2de1090cc00c7dc570.png b9170be1dfa41fb879e8604d913d855e.png

https://github.com/freechipsproject/rocket-chip

10、BOOM

(UCB)超标量乱序执行处理器;

  • BOOM也是采用Chisel编写,全部代码大约9000行;指令为RV64G

  • 6级流水线:取指、译码/重命名/指令分配、发射/读寄存器、执行、内存访问、回写

f69cff996dd1490a251661feb3860a24.png 54603cfef6e4984c395f5bd4cd7c00d4.png

https://github.com/riscv-boom/riscv-boom

11、Sodor

(UCB)针对教学的32位开源处理器。Chisel编写,支持5种处理器:单周期处理器、2级流水线处理器、3级流水线处理器、5级流水线处理器、可执行微码的处理器。公众号:OpenFPGA

早期出于教学目的处理器,使用Chisel编写,没有什么实际商用价值。已经很长时间没有更新了。

结构相对清晰一些,如对不同深度PipeLine都有描述(分别有1阶、2阶、3阶和5阶);可以作为很好的示范代码

https://github.com/ucb-bar/riscv-sodor

12、YARVI

VARVI是RISC-V爱好者Tommy Thorn设计发布的简单的、32位开源处理器,实现了RV32I,使用Verilog,目标是为了能够清晰准确的实现RV32I

https://github.com/tommythorn/yarvi

13、Pulpino

由苏黎世联邦理工大学与意大利博洛尼亚大学联合开发。32位,指令集:RV32I/RV32C/RV32M,扩展了RISC-V指令;多核

1d501b9c155e9c4debb3bbfac1bada09.png

网址:https://www.pulp-platform.org/

https://github.com/pulp-platform/pulpino

14、GRVI Phalanx

大规模并行RISC-V(最多到千核),2~3级流水线,32位,其中在Artix-7 35T开发板上已经实现32 RISC-V处理器;在PYNQ-Z1上实现了80核;在UltraScale上实现了1680核的RISC-V;不开源

15feee3fe58a0689b7a3b4e63e080f4e.png

15、Ibex

提到开源RISC-V就不能不提Riscy系列了,尤其是zero-riscy,使用很广泛。Ibex是脱胎于zero-riscy的core,支持RV32IMC及一些Z系列指令,由LowRISC维护。Ibex小巧精悍,文档详实,学习资料丰富,支持verilator, 可以使用verilator+openOCD+GDB 仿真时debug。对于我这样的重度Verilator依赖者来说非常友好。

e9b4e6c0bf5b627122c032dadc3a40d9.png

Ibex支持machine mode和user mode两种privilege mode,可以实现比单machine mode更加丰富的功能。Ibex采用system verilog开发,对于传统的IC工程师是个好消息。Ibex现在也支持了指令cache了,提高了performance,但装了cache会让core变得臃肿很多,对于学习cache controller的设计是个好事情。

Ibex使用类TLUL的自定义接口,官方的SoC是PULP。Google的OpenTitan项目也是基于Ibex。相关的设计学习资料算是相当多了。

https://github.com/lowRISC/ibex

文档:https://ibex-core.readthedocs.io/en/latest/introduction.html

16、SweRV EH1

SweRV EH1是WD开发的其中一款RISC-V core,支持RV32IMC,双发射,单线程,9级流水,性能应该说是相当不错,28nm可以跑到1GHz。而且还有份详细的文档,不愧是大厂出品。

4214693f539d157d73e4e9206592ff96.png

SweRV是使用Verilog/System Verilog开发,使用AXI接口,对熟悉AMBA且不想去学Chisel及Scala的同学来说是相当友好了。而且支持verilator,必须点赞。值得一提的是SweRV带指令cache,且实现了丰富的cache maintenance自定义指令,非常值得学习。

eeaa319a51f14785a9dffaeb29fe6703.png

https://github.com/chipsalliance/Cores-SweRV

大厂出品,进阶学习佳作。

17、picorio

官方出品。

3bba09abe1782354e9912cfcdbce7f4c.png

2017年图灵奖得主大卫·帕特森教授(David Patterson)领衔的RISC-V国际开源实验室(RIOS:RISC-V International Open Source Lab)发布了全球首个可运行Linux的全开源RISC-V微型电脑系统PicoRio项目,用于构建更透明、低功耗、定制能力强的高效能边缘计算平台。PicoRio最大的特点是从CPU设计,到PCB电路板设计,再到操作系统核心软件全部开源,核心架构使用最新的开源RISC-V指令集技术。除高质量工业级的开源IP之外,PicoRio还将提供开源的参考SoC设计,以及详尽的集成文档。PicoRio基于开源的处理器,拥有许多IP的支持。在软件方面,PicoRio设计了一个整体软件架构,具有丰富的操作系统环境以及其他程序的支持,因此拥有一个强大的软件生态。PicoRio的发布,标志着RIOS实验室进入了实际产出的阶段。之后,RIOS实验室将致力于在RISC-V生态下打造更开源、更低功耗和更安全的软硬件生态,并负责维护整个PicoRio的硬件系统和软件架构。

PicoRio项目涵扩了对Chromium OS内核以及V8 JavaScript 引擎的RISC-V平台移植和支持。可运行完整的Linux和FreeRTOS系统。PicoRio项目将于2021年完成ARM A75级别的芯片设计和验证,将用于 RISC-V 的平板电脑/笔记本电脑,其中所有应用程序软件和存储都在云中运行(类似 Chromebook)。

参考资料:

  • PicoRio Specification:https://gitlab.com/picorio/picorio-doc

  • RISC-V Specification: https://riscv.org/technical/specifications/

  • RISC-V Tools https://github.com/riscv/riscv-tools

  • RISC-V GNU Toolchain:https://github.com/riscv/riscv-gnu-toolchain

项目地址

https://rioslab.org

b107a78e660695f858f8b7c9bd4a9ee1.gif

本文为OpenFPGA作者原创,未经本人授权禁止转载!阶段完结!


f467c4ba89b0fbab8e1c628af91ba9f5.gif

NOW

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......


文件名主标题内容简单介绍是否有中文版

UG4767 Series FPGAs GTX/GTH  TransceiversGTX和GTH介绍,PCIe、serdes等学习必备

UG4717 Series FPGAs SelectIO Resources描述 7 系列 FPGA 中可用的 SelectIO资源。

UG1114PetaLinux Tools DocumentatonPetaLinux 工具文档 参考指南是,V2019.2

UG949UltraFAST 设计方法指南(适用于 Vivado  Design Suite)赛灵思® UltraFast™  设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标是,V2018.1
IP手册pg057FIFO GeneratorFIFO生成器IP使用手册
pg104Complex Multiplier复数乘法器IP使用手册
pg122RAM-Based Shift Register 移位寄存器IP使用手册

a5a2403e40a236089d8b3f5ce38db117.png

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【Vivado使用误区与进阶】总结篇

【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键

SystemVerilog数字系统设计_夏宇闻 PDF

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

简谈:如何学习FPGA

Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目

AD936x+ZYNQ搭建收音机(一)

AD936x+ZYNQ搭建OpenWIFI

无招胜有招-Vivado非工程模式下的详细设计

面试中经常会遇到的FPGA基本概念,你会几个?

推荐一些可以获取免费的国外的原版书籍(电子版)网站

FPGA 的重构

国产CPU概括

从电子游戏历史看IC发展的助推剂

80年代电子游戏及电脑游戏的发展历史

PCIe总线的基础知识

万字长文带你回顾电子游戏的七十多年历史(完整版)

FPGA中异步复位,同步释放的理解

OpenFPGA系列文章总结

用Verilog设计一个16 位 RISC 处理器

介绍一些新手入门FPGA的优秀网站(新增)

Verilog数字系统基础设计-CRC

Verilog数字系统基础设计-奇偶校验

建立和保持时间及时序简单理解

(Xilinx)FPGA中LVDS差分高速传输的实现

Xilinx Multiboot实例演示

高速串行通信常用的编码方式-8b/10b编码/解码
Verilog计时(微秒、毫秒和秒)脉冲的产生及同步整形电路

图书推荐|一本图像/视频处理的强大工具书

Verilog HDL-同步技术

再说System Verilog 与 Verilog 的关系

数模混合信号建模语言Verilog-AMS

Intel/Altera 系列FPGA简介

一块带给无数人年少欢乐的CPU,别说你没用过它

Verilog在编写第一行代码之前

【例说】Verilog HDL 编译器指令,你见过几个?

穿越时空的爱恋-Z80 CPU的前世今生

【Vivado】那些事儿-汇总篇

古老CPU启示录-晶体管之路

【Vivado那些事儿】约束的顺序

童年修复系列-SNES芯片组介绍及FPGA实现


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于VC++的3D地形绘制与纹理贴图

前言随着地理信息系统产业的发展,三维产品也在生活中处处吸引着我们的眼球。作为数字城市的核心内容,城市模型的构建成为了目前研究的热点。OpenGL是独立于操作系统和硬件环境的三维图形库,其为实现逼真的三维绘制效果和建立交互的三维场景提…

ES6 课程概述④

文章目录6-1. 对象解构什么是解构在解构中使用默认值非同名属性解构7-2. 共享符号7-3. 知名(公共、具名)符号[回顾]事件循环8-1. 事件和回调函数的缺陷8-2. 异步处理的通用模型8-3. Promise 的基本使用8-4. Promise 的串联8-5. Promise 的其他 api原型成…

通关手册 | 祝我通关成功!!!

Framework of MLLoss on training data1. large1.1 Model Bias1.2 Optimization2. smallLoss on testing data2.1 large2.1.1 overfitting2.1.2 mismatch2.2 small通关手册:祝我通关成功!!! Loss on training data 1. large 1.1…

Vue--》Vue3生命周期以及其它组合API的讲解

目录 生命周期 自定义hook函数 toRef shallowReactive与shallowRef readonly与shallReadonly toRaw与markRaw 生命周期 Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但是有两个被更名:Vue2中的beforeDestroy改名为:beforeUnmount&…

【数字孪生百科】可视化图表知识科普——Pareto图(Pareto Chart)

简介Pareto图(Pareto Chart)又称帕累托图、排列图,是一种特殊类型的条形图。图中标绘的值是按照事件发生的频率排序而成,显示由于各种原因引起的缺陷数量或不一致的排列顺序。Pareto图是根据 Vilfredo Pareto 命名的,他…

Go语言设计与实现 --Goroutine

Goroutine是GMP模型中的G,是属于用户态的线程,由Go runtime管理,而不是操作系统管理。 数据结构 type g struct {goid int64 // 唯一的goroutine的IDsched gobuf // goroutine切换时,用于保存g的上下文stack stack // 栈gopc…

Android Studio调用so库中方法

一、JNI规范so库调用 在 Android Studio生成自己的so库 中已经创建了自己的so库,这是一个JNI规范的so库,可以直接将so库放到libs中,并按照上面文章中MainActivity中的调用方法使用。 1、build.gradle(app)配置 andro…

SHELL脚本学习 --- 第六次作业(正则和sed)

SHELL脚本学习 — 第六次作业 思路: 作业1: 1,正则匹配h或H即可 2,sh$匹配以sh结尾 3,使用[[:space:]]匹配空格,[^[:space:]]匹配非空格 4,^to开头,中间.匹配任意字符0次或多次&…

Java一学就会系列:介绍与第一个java程序

系列文章目录 java环境-jdk环境安装与配置(jdk1.8) 文章目录系列文章目录前言一、JAVA是什么?二、环境安装三、开发工具1. Eclipse(推荐)2. IntelliJ IDEA (收费)四、第一个Java程序总结前言 …

搭建Django项目——实现简单的API访问

1、创建Django项目 打开pycharm,新建Django项目,可以选择一个虚拟环境 建完之后目录如下: 2、创建应用,我这里命名为demo 在命令行执行 python manage.py startapp demo执行之后,会发现项目目录下多了demo文件夹…

Linux小黑板(6):软硬链接

"飞吧,去寻觅红色的流星!"一、软硬链接简介软链接:软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。软链接硬链接:硬链接(hard link,也称链接&…

美创科技深度参编,中国信通院《数据安全治理实践指南(2.0)》发布

1月5日,由中国信息通信研究院、中国通信标准化协会指导,中国通信标准化协会大数据技术标准推进委员会主办,数据安全推进计划承办的第二届数据安全治理峰会成功召开,多项数据安全研究重要成果发布。会上,美创科技参与编…

MyBatis中数组套数组的格式

数组套数组的形式写法 1.dao层 List<Regulation> queryAllRegulations(); 配置 <resultMap id"RegulationResultMap" type"com.elfsack.cs.dto.allot.Regulation"><result column"shop_code" property"shopCode" /…

ARM32平台系统crash(系统崩溃) 问题定位的一种解决方法

说明 分享一种crash问题定位的一种解决方法&#xff0c;仅供参考。 ARM32平台上通过错误使用内存&#xff0c;触发系统异常&#xff0c;系统崩溃。系统异常被挂起后&#xff0c;能在串口中看到异常调用栈打印信息和关键寄存器信息。 如下所示&#xff0c;excType表示异常类…

上传文件前后端处理【vue3 + springboot】

前端 1.处理modal框 <template><n-modalv-model:show"modalVisible"preset"card":title"title"class"w-700px"><n-space class"w-full pt-16px" :size"24" justify"end"><n-but…

python数据分析:采集分析岗位数据,看看薪资的高低都受什么因素影响呢

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 在我们学习的时候,通常会产生疑问:这个行业前景好不好呢? 今天我们就用python的数据分析这个就业方向来举例 看一下都有哪些因素影响了薪资的高低呢&#xff1f; 数据采集 模块使用: reques…

这些js原型及原型链面试题你能做对几道

一、前言 在面试过程中&#xff0c;频频被原型相关知识问住&#xff0c;每次回答都支支吾吾。后来有家非常心仪的公司&#xff0c;在二面时&#xff0c;果不其然&#xff0c;又问原型了&#xff01; 我痛下决心用了两天时间钻研了下原型&#xff0c;弄明白后发现世界都明亮了…

Spark 在 KaiwuDB 中的应用与实践

线上沙龙-技术流第 24 期营业啦01月12日&#xff08;周四&#xff09;19:30开务数据库 - B站直播间当数据库面对大量数据复杂 OLAP 查询时&#xff0c;性能出现局限性&#xff0c;无法满足用户 AP 方面的高性能要求。为此&#xff0c;KaiwuDB 推出了此项解决方案&#xff1a;借…

【NI Multisim 14.0原理图环境设置——电路图属性设置】

目录 序言 一、电路图属性设置 &#x1f34a;1.设置对象可见性 &#x1f34a;2.设置图纸颜色 &#x1f34a;3.设置图纸尺寸 &#x1f34a;4.设置图纸方向 &#x1f34a;5.设置图纸单位 &#x1f34a;6.设置图纸网格点 &#x1f34a;7.设置图纸边框 &#x1f34a;8. 设…

ELK安装使用

太久没用了&#xff0c;熟悉一下。 JDK1.8以上环境 下载地址 elasticsearch&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch kibana: https://www.elastic.co/cn/downloads/kibana logstash &#xff1a; https://www.elastic.co/cn/downloads/logstash…