- 16
- 0
- 约8.18千字
- 约 8页
- 2017-06-17 发布于河南
- 举报
TLM设计实例
TLM设计实例——简易DMA设计
在一个SoC芯片中,一般由处理器、DMA控制器、中断控制器、存储器、各种接口如UART、USB等组成。DMA往往是总线的主设备,它可以发起存储器之间的数据传输。同时DMA也是总线的从设备,DMA中有若干个控制寄存器,当配置这些寄存器的时候DMA作为总线的从设备。因此DMA(和总线之间有两种接口,一种是主设备接口master_if,另一种则是从设备接口slave_if。作为TLM设计实例的简易DMA(以下简称DMA)中有五个寄存器。DMA使能寄存器用来使能DMA模块,burst传输长度控制器控制每个burst传输的长度,传输控制器控制总的传输长度。源地址寄存器和目的地址寄存器中分别设置数据传输的源地址和目的地址。在DMA中以burst的方式先从源地址读取数据并缓存到DMA内部的buffer中,然后将数据写到目的地址中去。
在下面的内容中将给出两种DMA事务级建模的方法。在第一种模型中没有时钟,而第二种模型是周期精确的。在这两种事务级模型中,都有三种端口分别是初始化端口、总线主设备接口和总线从设备接口。
在没有时钟的事务级模型中有三个进程分别是main_action进程、dma_fsm进程和dma_rst进程。其中main_action进程和dma_fsm进程定义为SC_THREAD类型,在SC_THREAD进程没有时钟。由于进程间的通信需要通过通道,因此定义了两个信号用于进行间的通信,信号是通道的一种。
DMA.h文件如下:
#ifndef _dma_h
#define _dma_h
#include systemc.h
#include slave_if.h
#include master_if.h
enum state_type{idle, read_state, write_state};
SC_MODULE(dma)
{
public:
//ports
sc_inbool rst; //初始化信号
sc_portmaster_if master_port; //总线主设备接口
sc_portslave_if slave_port; // 总线从设备接口
//signal
sc_signalunsigned int my_state; //用来做进程间通信
sc_signalunsigned int dma_enable; //用来做进程间通信
SC_HAS_PROCESS(dma); //macro definition
//DMA构造函数
dma(sc_module_name name_, unsigned int start_address, unsigned int end_address)
: sc_module(name_)
,reg_start_address(start_address)
,reg_end_address(end_address)
{
// process declaration
SC_THREAD(main_action);
sensitive my_state;
SC_THREAD(dma_fsm);
sensitive my_state dma_enable;
SC_METHOD(dma_rst);
sensitive_neg rst;
}
// process
void main_action();
void dma_fsm();
void dma_rst();
//slave interface
bool slave_read(int *data , unsigned int address);
bool slave_write(int *data , unsigned int address);
bool slave_select(unsigned address);
private:
unsigned int dma_en; //dma_en寄存器;
unsigned int transfer_size; //transfer size寄存器;
unsigned int burst_length; //burst length寄存器;
unsigned int source_address
您可能关注的文档
最近下载
- 2021年上海市嘉定区中考英语二模试卷含解析.pdf VIP
- 2025年广东省普通高中学业水平选择性考试生物(详解版).docx VIP
- 宁德市2025-2026学年(上期)高二期末考试数学试卷(含答案).pdf
- 鄂尔多斯职业学院单招《职业适应性测试》真题(达标题)附答案详解.docx VIP
- 2025年四川中科《浅谈肥胖治疗新进展》继续教育习题答案.docx VIP
- 小学三年级数学测量单元试题.docx VIP
- 三菱变频器使用手册-FR-E540 中文版.pdf VIP
- 小升初语文练习题6年级语文.pdf VIP
- 8.1 0—3岁婴幼儿心理发展评价(课件)《0-3岁婴幼儿心理发展与教育》(华东师范大学出版社).pptx VIP
- 《测量》习题3.doc VIP
原创力文档

文档评论(0)