繁体   English   中英

RISC-V Core的一些输入/输出的简要说明

[英]Brief explanation of some input/outputs of RISC-V Core

我正在尝试分析来自 ( https://github.com/ultraembedded/riscv/tree/master/core/riscv ) 的 fetch.v 文件的代码,但设计者没有任何文档解释任何内容,我是初学者Verilog 和数字设计的世界。 这些是什么意思和作用?

,input           fetch_accept_i
,input           icache_accept_i
,input           icache_valid_i
,input           icache_error_i
,input  [ 31:0]  icache_inst_i
,input           icache_page_fault_i
,input           fetch_invalidate_i
,input           branch_request_i
,input  [ 31:0]  branch_pc_i
,input  [  1:0]  branch_priv_i

// Outputs
,output          fetch_valid_o
,output [ 31:0]  fetch_instr_o
,output [ 31:0]  fetch_pc_o
,output          fetch_fault_fetch_o
,output          fetch_fault_page_o
,output          icache_rd_o
,output          icache_flush_o
,output          icache_invalidate_o
,output [ 31:0]  icache_pc_o
,output [  1:0]  icache_priv_o
,output          squash_decode_o

设计非常复杂。 我希望有一个很好的资源我可以阅读以理解他的设计

这是一个描述核心获取单元的文件。 输入意味着这是单元的输入线和 output 和 output 一个。

这个阶段的目标是从缓存/内存中获取指令并将其发送到解码单元。

问题是每个实现都是不同的,但基本上是:

,input           fetch_accept_i : fetch is accepted by fetch stage (signal come from decode)
,input           icache_accept_i : instruction cache accept the request from fetch unit
,input           icache_valid_i : icache answer is valid
,input           icache_error_i : icache answer made an error
,input  [ 31:0]  icache_inst_i : instruction fetch by the cache
,input           icache_page_fault_i : cache did a page fault exception\ 
,input           fetch_invalidate_i : fetch was invalid
,input           branch_request_i : fetch unit made a branch request
,input  [ 31:0]  branch_pc_i : branch address of pc 
,input  [  1:0]  branch_priv_i : current priviledge of the core (M, S or U)

// Outputs
,output          fetch_valid_o : fetch request is valid
,output [ 31:0]  fetch_instr_o : ?
,output [ 31:0]  fetch_pc_o : current pc which is fetch
,output          fetch_fault_fetch_o : fetch did a fault
,output          fetch_fault_page_o : fault did a page fault
,output          icache_rd_o : ?
,output          icache_flush_o : flush request to the cache
,output          icache_invalidate_o : invalidate request to the cache
,output [ 31:0]  icache_pc_o : current pc 
,output [  1:0]  icache_priv_o : priviledge mode
,output          squash_decode_o : ?

我不确定我的回答,但根据信号的名称,我可以做这些假设

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM