立即注册

ekn

2019人工智能创新平台招新仅注册用户才可以浏览全站
查看: 223|回复: 5

基于vivado的MIPS多周期处理器实现

[复制链接]

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2024-10-25 21:48:21 | 显示全部楼层 |阅读模式
基于vivado的MIPS多周期处理器实现
可以用微程序方式实现控制器。其基本思想为:
仿照程序设计的方法,将每条指令的执行过程用一个微程序表示,每个微程序由若干条微指令组成,每条微指令相当于有限状态机中的一个状态。有限状态机用于描述指令执行过程,由当前状态和操作码确定下一状态,每来一个时钟发生一次状态改变,不同状态输出不同的控制信号值,然后送到数据通路来控制指令的执行。
附件为控制译码逻辑的状态机转换图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2024-11-1 23:45:00 | 显示全部楼层
从本周开始,公司基于实际工作需要,给我安排新的任务,参与一款DSP(特殊原因,该芯片代号XDSP)芯片的设计,我的任务是参与XDSP芯片的外设部件定时器(TIMER)的设计,本周任务:
1、研读XDSP 的TIMER部件的相关资料
2、参与XDSP结构的学习与讨论
TIMER部件是所有数字信号处理器DSP芯片的必需部件,XDSP的TIMER部件有两个定时器:TIMER0和TIMER1。
回复

使用道具 举报

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2024-11-8 23:04:53 | 显示全部楼层

2024年11月8日实习情况汇报

在参与XDSP芯片结构讨论与论证基础上,定义了XDSP芯片的定时器的功能:
1、TIMER0和TIMER1均为32bit
2、定时事件
3、计数功能
4、产生脉冲
5、中断CPU
6、向DMA部件发送同步事件
回复

使用道具 举报

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2024-11-18 23:10:54 | 显示全部楼层

2024年11月15日实习情况汇报

本帖最后由 吴瑞哲 于 2024-11-18 23:16 编辑

2024年11月15日实习情况汇报
本周任务确定本定时器部件在XDSP芯片的结构及连接关系。
如图:

其中:1、TINP0是TIMER0部件的外部输入信号,可以配置成上升沿或下降沿作用
2、TOUTP0是TIMER0部件的输出端口信号,可以配置成脉冲或时钟形式的输出
3、TINP1是TIMER1部件的外部输入信号,可以配置成上升沿或下降沿作用
4、TOUTP1是TIMER1部件的输出端口信号,可以配置成脉冲或时钟形式的输出
TIMER部件与其它部件的接口信号主要由三部分构成:
1、系统控制信号:Clk:系统时钟,Reset:系统复位
2、与外设互连系统部件的接口信号:数据信号Data[31:0],地址及译码信号[31:0];总线控制信号:读Timer0部件使能信号RdTimer0,读Timer0数据准备信号Timer0RdDataReady;写Timer0部件使能信号WrtTimer0,读Timer1部件使能信号RdTimer1,读Timer1数据准备信号Timer1RdDataReady;写Timer1部件使能信号WrtTimer1
3、与中断部件连接信号:Timer0中断输出信号Timer0INT;Timer1中断输出信号Timer1INT

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2024-11-22 21:24:10 | 显示全部楼层

2024年11月22日实习情况汇报

本帖最后由 吴瑞哲 于 2024-11-22 21:31 编辑

2024年11月22日实习情况汇报
本周在研究定时器部件的功能需求基础上,设计划分Timer部件的功能组成,Timer的主要组成可以分为这样几个部分:
1、外部输入同步与边沿检测模块
2、内部事件及时钟配置模块
3、Timer控制与启动寄存器TimerCtrlReg[31:0]模块
4、Timer周期寄存器TimerPrdReg[31:0]模块
5、Timer计数寄存器TimerCnt[31:0]模块
6、Timer输出脉冲生成模块

如图所示:


同时开始主要对于定时器各个模块功能细化与代码设计。
1、外部输入同步与边沿检测模块
由于外部信号TPIN来自于不同的时钟域,首先要与XDSP内部时钟域进行同步化处理,然后进行边沿检测,用于触发定时器计数器计数。如图:
其中,外部输入信号同步化处理采用二级寄存器同步。
如图:


2、内部计数时钟配置模块
根据控制配置寄存器的设置选择设计计数器的内部计数时钟,用于触发定时器计数器计数。
根据应用需求,采用系统时钟的4分频计数。如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2024-11-29 20:03:00 | 显示全部楼层

2024年11月29日实习情况汇报

本周开始继续对于定时器各个模块功能细化与代码设计。
1、定时器控制与启动寄存器模块
主要由一个32位寄存器TimerCtrlReg[31:0]及其控制电路构成。
TimerCtrlReg[31:0]功能包括:
决定定时器的操作模式
监控定时器的状态
控制TOUTP的输出功能
TimerCtrlReg[31:0]各个位域的定义如下图所示:

其中:HLD与GO两位组合来定义定时器的启停操作模式:
GO        HLD        操作模式        功能描述
0        0        定时器挂起        计数器不计数
0        1        定时器从挂起时开始计数        计数器从计数器暂停(挂起)时的值开始计数
1        0        保留        无定义
1        1        启动定时器        计数器寄存器复位,从0开始计数,并且GO位自动复位
TSTAT位:定时器输出状态位
INVINP位:TINP输入极性控制位,仅但外部输入使能时起作用
CLKSRC位:确定定时器的计数时钟源,0:外部TINP输入;1:内部4分频时钟
CP位:定义定时器输出TSTAT的波形状态,0:脉冲输出;1:时钟输出
PWID位:CP为0时有效,用于定义输出脉冲的宽度,0:1个时钟周期宽度;1:2个时钟周期宽度
DATIN:输入数据位,连接TINP
DATOUT:输出数据位,连接TOUTP
INVOUT:输出TOUTP极性控制位,0:TSTAT直接输出到TOUTP;1:TSTAT取反输出到TOUTP
FUNC位:TOUTP的功能控制位,0:GPIO作为通用IO输出;1:作为定时器功能输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|ekn

GMT+8, 2025-7-12 22:18 , Processed in 0.064046 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表