# Vostok564 **Repository Path**: feifan1996/vostok564 ## Basic Information - **Project Name**: Vostok564 - **Description**: Vostok RV64GC SoC RV-AT's 5th Gen RISC-V SoC Solution - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2022-02-23 - **Last Updated**: 2022-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 介绍 ``` __ __ __ __ /\ \/\ \ /\ \__ /\ \ \ \ \ \ \ ___ ____\ \ ,_\ ___\ \ \/'\ \ \ \ \ \ / __`\ /',__\\ \ \/ / __`\ \ , < \ \ \_/ \/\ \L\ \/\__, `\\ \ \_/\ \L\ \ \ \\`\ \ `\___/\ \____/\/\____/ \ \__\ \____/\ \_\ \_\ `\/__/ \/___/ \/___/ \/__/\/___/ \/_/\/_/ ``` Vostok564是我们团队开发的第五代RV64GC内核,目前完成的部分支持RV64IMASU,支持Sv39分页方案。 此外,还有16+16项独立TLB;可配置的组相联L1缓存;可配置的16项BHT/BTB。 #### 架构 vostok564是一个单发射,具有动态调度结构的内核。 #### RTL目录结构 ``` +---RTL | | PRV564Config.v #PRV564配置文件,可以更改I/D TLB大小、BTB容量 | | PRV564Define.v #PRV564参数定义文件,含uOpcode操作定义,最好不要碰 | | PRV564_top.v #PRV564 top文件,含PRV564_Kernel、I/D Cache,对外接口为FIB | | PRV564_top.v.bak | | Vostok564_top.v #Vostok564 top文件,包含PRV564_top、FIB总线仲裁、FIB2AXI总线桥、CLINT(核心私有中断) | | Vostok564_top.v.bak | | | +---Bus #Bus部分内容 | | AXI_Dubugger.v | | FIB2AXI_new.v #FIB2AXI总线桥,新的 | | FIB2AXI_old.v #FIB2AXI总线桥,老的(易燃易殉爆) | | FIB_arb.v #FIB 4-1仲裁器 | | FIB_arb.v.bak | | reset_gen.v #异步复位-同步释放控制器 | | SFR.v #CLINT特殊功能寄存器,含mtime/mtimecmp/msoftinterrupt | | SyncFIFO_Bus.v #访问队列用FIFO | | | +---Cache #很機車的一級快取存儲器 | | cachemem.v | | cachemem_sp.v | | FIB_BIU.v | | L1D.v | | L1D.v.bak | | L1I.v | | L1I.vbak | | L1_AQBuf.v | | pDPRAM_ysyx.v | | pTDPRAM_ysyx.v | | S011HD1P_X32Y2D128_BW.v | | SyncFIFO.v | | SyncFIFO.vbak | | tagman_wa_new.v | | tagman_wa_old.v | | | +---Kernel #PRV564内核部分 | | | PRV564_Kernel.v #PRV564内核顶层 | | | PRV564_Kernel.v.bak | | | | | +---csr_mmu #csr/中断控制/中断管理/中断配置 | | | Counter.v | | | CSR_top.v | | | InformCSR.v | | | TrapHandle.v | | | TrapManage.v | | | TrapSetup.v | | | | | +---exu #执行单元 | | | | ALU.v #ALU顶层,含前后级握手 | | | | ALUcore.v #ALU运算通路,纯组合逻辑 | | | | LSU.v #存取单元,含一个ATU,一个AccessTable,一个ResultUnit | | | | | | | +---FPU #FPU/VPU 目前还没有用,综合时不添加 | | | | | fpu32.v | | | | | FPU64.v | | | | | generic_FPU.v | | | | | normalize_shifter.v | | | | | | | | | \---fpu_stages | | | | fpu_rounder.v | | | | fpu_s0.v | | | | fpu_s1.v | | | | fpu_s2.v | | | | fpu_slicer.v | | | | mulcycle_fsqrt.v | | | | mulcyc_fdiv.v | | | | QDS_LUT.v | | | | | | | +---Mcop #数字协处理器,用于处理M拓展指令 | | | | ysyx_210152_booth2.v | | | | ysyx_210152_csa.v | | | | ysyx_210152_md_decode.v | | | | ysyx_210152_md_execute.v | | | | ysyx_210152_md_wrapper.v | | | | ysyx_210152_mul.sv | | | | ysyx_210152_MulCyc_Div.v | | | | | | | \---VPU #VPU 向量单元目前还未完工,综合时不添加 | | | ALU16.v | | | CORDIC16.v | | | FPU16.v | | | VPU.v | | | | | +---idu #指令解码单元 | | | DispBuffer.v #派遣缓冲器,乒乓工作模式,用于切断前后握手路径 | | | DITF.v #派遣指令FIFO,用于提交时的顺序写回 | | | FGPR.v | | | IDcore.v | | | IDU.v | | | RegFile.v #整数寄存器组 | | | S011HD1P_X32Y2D128.v | | | ScoreBoard.v #暂未使用 | | | VGPR.v | | | | | +---ifu #取指令单元 | | | AccessTable.v #访问记录表 | | | ATU.v #地址转换单元 | | | BTB.v #分支目标缓冲器 | | | InstrFront.v | | | PageCheck.v | | | PC.v | | | PTW.v | | | PTW.v.bak | | | ResultUnit.v | | | TableEntry.v | | | TAGgen.v | | | TLB.v | | | TLBcore.v | | | | | \---wb | | commit.v | | commit.v.bak | | WB_select.v | | | \---Ysyx | Ysyxtop.v ``` #### 使用说明 ##### config此处理器 使用./RTL/Config.v文件来更改一些配置,默认状态下的综合是按照ASIC方向优化的。 ##### 运行difftest 1.搭建环境 step1:安装系统 : Linux Ubuntu 20.04及以上的系统 step2:前往 https://github.com/OSCPU/oscpu-framework 页面,按照页面提示在您刚安装好的系统上部署verilog开发环境和获取代。 step3:在您安装好的系统上部署iverilog。 提示:sudo apt-get install iverilog step4: 未完待续... ##### 使用FPGA综合 #### 参与贡献 暂无 #### 特技 这是一个已经经过ASIC验证过的设计。