在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: txmfxf

请教设计中遇到的一个问题

[复制链接]
 楼主| 发表于 2007-3-7 20:34:55 | 显示全部楼层
版主,能具体说明一下吗?
发表于 2007-3-7 20:42:15 | 显示全部楼层


原帖由 txmfxf 于 2007-3-7 15:47 发表
谢谢各位能回答我的问题!
我想设计的是PCI总线的仲裁器,现在PCI总线的仲裁器用的都是循环优先级算法,我想实现一种循环优先级和时间优先相结合的算法,思路是:在每一个时钟的上升沿采样各个申请,如果只有一 ...


想法不错,不过不知道有木有违背协议的精神。如果协议规定必须采用循环优先级算法,那也只能按协议要求的作。
没做过pci协议不过在其他的协议里也有遇到了基于优先级的仲裁,协议上说基于优先级是为了避免系统死锁。
发表于 2007-3-7 20:45:46 | 显示全部楼层


原帖由 txmfxf 于 2007-3-7 20:34 发表
版主,能具体说明一下吗?


已经说明过了咯,有疑问的话,贴出来继续讨论
 楼主| 发表于 2007-3-7 20:56:21 | 显示全部楼层
谢谢!PCI总线规范中没有具体规定采用何种仲裁算法,只是说明采用公平算法,可以根据实际情况采用不同的仲裁算法.
我的想法是当该请求信号一写入FIFO后就屏蔽该请求信号,直到从FIFO中读出该授权信号后,才恢复对该请求信号的采样.但具体怎么才能实现呢?
 楼主| 发表于 2007-3-7 21:01:04 | 显示全部楼层
版主,你的那幅图是怎么粘上来的?
发表于 2007-3-7 21:12:22 | 显示全部楼层


原帖由 txmfxf 于 2007-3-7 20:56 发表
谢谢!PCI总线规范中没有具体规定采用何种仲裁算法,只是说明采用公平算法,可以根据实际情况采用不同的仲裁算法.
我的想法是当该请求信号一写入FIFO后就屏蔽该请求信号,直到从FIFO中读出该授权信号后,才恢复对该 ...


我前边的那幅图和后面帖子的解释都是在提供一种解决你所说的问题的办法........
图是用上传附件的办法弄上去的
 楼主| 发表于 2007-3-7 22:01:30 | 显示全部楼层
这是模块划分图
具体过程如下:在PCI时钟的上升沿采样申请Req_n[5..0],经过循环模块的仲裁后,则产生FIFO的写请求信号和写数据(把该设备的授权信号写入FIFO),根据总线的状态(总线的状态由frame irdy这两个信号决定)决定何时从FIFO中读出数据,也就是真正授权该设备。
我现在已经把循环模块、FIFO模块和读/写控制模块的VHDL程序编写出来了,并且通过了功能仿真。我现在遇到的问题是采样模块,因为如果某个设备申请Req_n一旦有效,就会保持到从FIFO 中读出该设备的授权信号,这样的话可能会产生连续往FIFO中写入的情况,我的想法是当该请求信号一写入FIFO后就屏蔽该请求信号,直到从FIFO中读出该授权信号后,才恢复对该请求信号的采样.但具体怎么才能实现呢?

jpg

jpg
 楼主| 发表于 2007-3-8 21:07:13 | 显示全部楼层
大家帮我看看!谢谢!
发表于 2007-3-9 17:39:16 | 显示全部楼层
总算把图成功贴上来了,看来偶也不全是在做无用功。
发表于 2007-3-9 20:07:17 | 显示全部楼层


原帖由 txmfxf 于 2007-3-7 22:01 发表
这是模块划分图具体过程如下:在PCI时钟的上升沿采样申请Req_n,经过循环模块的仲裁后,则产生FIFO的写请求信号和写数据(把该设备的授权信号写入FIFO),根据总线的状态(总线的状态由frame和 irdy这两个信号决 ...



对于每一个请求,设置一个标志位(Req_n[6:0]意味着128个标志位)。
当该请求写入FIFO时,置标志位。
当该请求相应后,清标志位。
标志位为1时,不相应请求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-30 15:44 , Processed in 0.027292 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表