上一页 1 2 3 4 5 6 ··· 33 下一页

2019年8月7日

E203 CSR寄存器

摘要: RiscV架构则定义了一些控制和状态寄存器(CSR),用于配置或记录一些运行的状态。CSR寄存器是处理器内核内部的寄存器,使用专有的12位地址编码空间,对一个hart,可以配置4k的CSR寄存器。 蜂鸟203支持以下的CSR寄存器: 类型... 阅读全文

posted @ 2019-08-07 12:27 迈克老狼2012 阅读(14868) 评论(1) 推荐(3) 编辑

2019年8月6日

E203译码模块(3)

摘要: 下面的代码译码出指令的立即数,不同的指令有不同的立即数编码形式。//I类型指令的imm,[31:20],符号位扩展成32位。wire [31:0] rv32_i_imm = { {20{rv32_instr[31]}} , rv32_instr[31:20] ... 阅读全文

posted @ 2019-08-06 09:41 迈克老狼2012 阅读(803) 评论(0) 推荐(0) 编辑

2019年8月5日

RVZicsr指令集

摘要: Riscv中每个硬件线程(hart)有4096个独立地址空间的状态寄存器。我们可以通过Zicsr指令读写csr寄存器。总共有6条csr读写指令,这些指令之前都在RV32I/RV64I基础指令集里面,在最新文档中,被放在了Zicsr扩展指令集中。 6条指令的编码如下,其中[31-20]总共12位表示4096个csr寄存器地址。 csr 11109... 阅读全文

posted @ 2019-08-05 19:23 迈克老狼2012 阅读(4322) 评论(0) 推荐(0) 编辑

E203 译码模块(2)

摘要: 常用的alu算术运算指令(包括ecall和 ebreak)在regular alu单元处理。regular alu单元为alu单元的一个子单元。regular单元的信息总线共21位,格式如下图所示,其中grp为000: 下面的代码产生regular alu单元的信息总线。 // ALU Instructions wire rv32_addi =... 阅读全文

posted @ 2019-08-05 14:38 迈克老狼2012 阅读(1084) 评论(0) 推荐(0) 编辑

2019年8月1日

E203 译码模块(1)

摘要: E203是两级流水线结构,第一级是IFU进行取指操作,第二级包括译码、执行、交付和写回等功能。架构图如下: https://www.cnblogs.com/images/cnblogs_com/mikewolf2002/1519640/o_pipeline.jpg 译码模块就是把机器码翻译成对应的输出功能。E203支持RV32IMAC,它的译码器模块是纯的组合电路实... 阅读全文

posted @ 2019-08-01 09:56 迈克老狼2012 阅读(2609) 评论(0) 推荐(0) 编辑

2019年7月29日

蜂鸟E203 IFU模块

摘要: E203的IFU(instruction fetch unit)模块主要功能和接口如下:IFU的PC生成单元产生下一条指令的PC。该PC传输到地址判断和ICB生成单元,就是根据PC值产生相应读指请求,可能的指令目的是ITCM或者外部存储,外部存储通过BIU访问。该PC值也会传输到和EXU单元接口的PC寄存器中。取回的指令会放置到和EXU接口的IR(Instruction register)寄存器中... 阅读全文

posted @ 2019-07-29 11:24 迈克老狼2012 阅读(3595) 评论(1) 推荐(2) 编辑

2019年7月26日

E203 bypass buffer

摘要: 如果fifo中没有数据,且有输入,则是bypass fifo,同周期内直接把输入数据转到输出数据。如果fifo中有数据,则读取fifo,成为普通的同步fifo。module sirv_gnrl_bypbuf # ( parameter DP = 8, parameter DW = 32) ( input i_vld, output i_rdy, i... 阅读全文

posted @ 2019-07-26 14:57 迈克老狼2012 阅读(1366) 评论(1) 推荐(1) 编辑

E203 同步fifo

摘要: 1. 输入端, 输入信号, i_vld,表示输入请求写同步fifo,如果fifo不满,则fifo发送i_rdy 到输入端,开始写fifo。i_vld和i_rdy是写握手信号。2.输出端 o_rdy表示接受端已经准备好了,可以读取fifo,o_vld表示fifo准备好了,不为空,可以输出到接收端。o_rdy和o_vld是握手信号。3.如果fifo是深度为0,则是bypass模式... 阅读全文

posted @ 2019-07-26 10:47 迈克老狼2012 阅读(1421) 评论(0) 推荐(1) 编辑

2019年7月18日

memory一致性模型

摘要: https://homes.cs.washington.edu/~bornholt/post/memory-models.htmlhttps://www.cs.cmu.edu/afs/cs/academic/class/15418-s12/www/lectures/14_relaxedReview.pdfhttps://content.riscv.org/wp-content/uploads/20... 阅读全文

posted @ 2019-07-18 09:20 迈克老狼2012 阅读(815) 评论(0) 推荐(0) 编辑

2019年7月17日

RV64I基础整数指令集

摘要: RV64I是RV32I的超集,RV32I是RV64I的子集。RV64I包括RV32I的所有40条指令,另外增加了12条RV32I中没有的指令,还有三条移位指令(slli, srli,srai)也进行小小的改动。 在RV64I中,整数寄存器是64位的,即xlen=64,所以每条指令中的寄存器都是64位运算,立即数符号位扩展也是到64位。 下面介绍一下RV64I中新增的... 阅读全文

posted @ 2019-07-17 09:46 迈克老狼2012 阅读(6945) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 33 下一页

导航