作者chongzhi (16888)
看板Electronics
标题Re: [请益] 一个FPGA的project设计
时间Mon Aug 4 09:20:03 2014
※ 引述《gn00446610 (Tsk)》之铭言:
: 各位先进大家好,小弟斗胆下了这个标题。
: 而小弟也想了很久该怎麽问这个问题。
: 因为小弟没有run过整个这种大project(一整个完整的系统)。
: 常常被一些前辈问倒,网路上也找了很多资料...但是仍然不得其所..
: 所以想地想在这里跟各位先进请益一下。
: 小弟是从资工转电类的,小弟的问题比较像是一个情境:
: 常常听到前辈们说,要做一个电路前要先在纸上先画出时序图。
: 我们先假设一个目标或者功能已经定义出来了。
: 在此我先假设我们的目标是一个controller,而这个controller
: 需要负责去对外部设备输出讯号去控制。
: 那麽小弟如果要去画这个controller的时序图,小弟该从什麽地方去考虑
考虑以下几点
1. 你所控制的IC或者受控体,clock是否可以跟FPGA搭配,请先查找一下IC资料
根据我印象FPGA的clock并不高,但如果你IC或受控体需要很高的频率的话
那可能要额外去思考解决的办法。
2.当频率在可工作范围内的话,请了解你的受控体状态
假设你控制IC:
当IC某个脚位输入电压为1时,IC为资料写入状态
当IC某个脚位输入电压为0时,IC为不工作状态
假设你的控制是其他类的受控体:
当你FPGA某个脚位输出为1时,受控体加速
当你FPGA某个脚位输出为0时,受控体减速
以此类推
: 又或者这个controller在某个状态时怎麽去对他描述。
你的控制器是自己定义
范例
目的:你希望你的IC在启动後第五秒到第十秒这段期间工作
定义方式:
设定FPGA输出对应到的脚位(假设FPGA第10接脚)
连接到IC的特定脚位(假设IC第5接脚)然後看IC的设定(假设1不工作0工作)
那就是在FPGA的clock计数到第五秒後,第10接脚由1变成0
之後FPGA的clock计数到第十秒後,第10接脚由0变成1。
以此类推
: 另外就是clock的计算,常听到他们说要算clock那是麽算什麽东西的clock??
请参考上面解说
: 假设有一个controller打一个datasheet上所需要的讯号去驱动chip,
: 接着换打下一个时序上所需要的讯号,简单来说这个controller只有三个状态
: START → 不断地打讯号直到资料打完为止 → END
: 那时序图的部分是划出「不断打讯号」的这个过程中的什麽东西???
所需要的控制命令。
因有些IC或者受控体的设计者的设计关系
将资料传输的脚位与控制命令的脚位放在一起。
上面描述的是特定脚位0或1则执行怎样的工作
另外也有在相同的脚位中输入:
1.
执行动作命令->写入资料->结束命令
2.
执行命令->读取命令->结束命令->(接收资料)->(结束命令)
以上类似的工作
他们用的脚位都是相同的,但可以做出很多的功能,就只是差别在於命令
: input只有data跟clk,输出就是chip所需要的讯号假设A、B、C、D好了。
: 我已经知道输入跟输出了之後那我该画什麽??
: 在软体上,我只要先决定input跟output之後就是把一件事情做正确就好。
: 接下来才会去考虑performance。
: 可是硬体上却要不断的考虑clock的问题。
: 小弟不才,真的需要各位先进的指点。
最後一段,想太多了,太过於担心了,把clock与脚位两者之间的关系弄懂
其实就差不多了,最後祝福你研究顺利
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.138.176.170
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Electronics/M.1407115206.A.E41.html
1F:推 gn00446610:这篇看了之後受益良多,心里大概有个底了。 08/04 11:05
2F:→ gn00446610:看了很多书,这些东西都是书本上不会讲的。 08/04 11:07