1. 五人表决器设计思路解析
五人表决器是个特别实用的逻辑电路,简单来说就是五个评委投票,当通过票数达到或超过三票时,结果就是通过(输出高电平1),否则就是不通过(输出低电平0)。这种逻辑在委员会决策、安全控制系统等场景都很常见。
我刚开始接触这个设计时,觉得用基本逻辑门搭起来会很复杂,后来发现用3-8译码器(74138)能大大简化设计。74138是个很常用的译码器芯片,有三个输入引脚(A、B、C)和八个输出引脚(Y0到Y7),还有个使能控制端(G1、G2A、G2B)。只有当G1接高电平、G2A和G2B接低电平时,译码器才正常工作,否则所有输出都是高电平。
真值表是这样的:当输入CBA=000时,Y0输出低电平,其他输出高电平;CBA=001时,Y1输出低电平,以此类推。这个特性正好可以用来统计同意的人数。比如Y0对应0人同意,Y1对应1人同意,Y2对应2人同意,Y3对应3人同意,等等。
具体到五人表决器,我们需要处理五种投票情况。通过分析发现:
- 0人同意时(对应Y0),无论后面两人怎么投,结果都是不通过
- 1人同意时(对应Y1),需要后面两人都同意才能通过
- 2人同意时(对应Y2),只需要后面两人中至少一人同意就能通过
- 3人及以上同意时,直接通过
这样的分析让复杂的问题变得清晰多了。在实际设计中,我们只需要关注Y0到Y3这四种情况,因为Y4及以上都意味着已经有至少3人同意,直接输出通过就行。
2. Quartus II 9.1开发环境搭建
Quartus II是Altera(现在被Intel收购了)的FPGA开发软件,9.1版本虽然不算最新,但特别稳定,对DE2这种经典开发板支持很好。我第一次用的时候觉得界面有点复杂,但熟悉后发现其实很顺手。
安装过程要注意几个关键点:首先确保系统有足够空间,完全安装大概需要8GB左右。安装完成后记得安装DE2开发板的驱动和器件支持包,不然找不到Cyclone II系列器件。我有次忘了装,折腾半天才发现问题所在。
新建工程时,建议用英文路径,避免一些奇怪的兼容性问题。器件选择要


334

被折叠的 条评论
为什么被折叠?



