加载中…
正文 字体大小:

明德扬FPGA模块划分方法(1)

(2017-04-27 17:35:01)
标签:

明德扬

fpga模块

fpga

fpga设计

分类: 明德扬---至简设计法

一、模块划分概述

模块划分,顾名思义是指模块的划分。但是,明德扬提出的模块划分,是广义的“模块划分”。后续所提及的“模块划分”,不单单指模块的划分,还包括模块划分好后,模块的端口及模块之间数据流向的确定。


二、模块划分原则

明德扬的模块划分原则有两条:

原则一:一个功能一个模块。

按功能划分模块是模块划分最基本的指导思想,当我们拿到一个项目后,最直接的想法就是先确定项目需要多少小功能为之服务,然后把一个个功能实现,最后通过顶层模块的例化,完成项目要求。


原则二:相同架构一个模块。

这里的相同架构不是单单是指模块整体为计数器架构、状态机架构或FIFO架构,还要求在架构内部相同或相似。比如:计数器架构中计数器的个数或计数规律相同或高度相似;状态机架构中状态的划分或跳转条件相同或高度相似。


三、模块划分端口规范

在确定模块划分后,需要明确模块的端口,及模块与模块之间的数据交互。明德扬在实际项目经验总结得到的一般模块端口信号规范。读者在完成项目模块划分后,确定端口及数据流向时参考使用。

表5.1 端口信号规范

信号

说明

clk

模块工作时钟

rst_n

系统复位信号,低电平有效

en

en有两种用法:

1.使能命令信号,类似于vld,当其为1时表示一个命令有效;

2. 使能状态指示,当其为1时表示处于使能状态。

vld

数据有效标志指示信号,表示当前的data数据有效。注意,vld不仅指示了数据有效,而且还指示了有效的次数。时钟收到多少个vld=1,就表示有多少个数据有效

data

数据总线。输入一般名称为din,输出一般名称为dout。类似的信号还有addrlen

err

整个包文错误指示,在eop=1vld=1有效时才有效

sop

包文起始指示信号,用于表示有效包文数据的第一个比特,当vld=1时此信号有效

eop

包文结束指示信号,用于表示有效包文数据的最后一个比特,当vld=1时此信号有效

rdy

模块准备好信号,用于模块之间控制数据发送速度

例如模块A发数据给模块B,则

rdy信号由模块B产生,连到模块A(即对于B是输出信号,对于A是输入信号);

B要保证rdy产生正确,即此信号为1时,B一定能接收数据;

A要保证仅在rdy=1时才发送数据。


0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有