集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 889|回复: 1

门的次级管理信号

[复制链接]
小舍YZ 发表于 2017-7-23 14:25:20 | 显示全部楼层 |阅读模式
门的次级管理信号

门的次级管理信号,按照优先级排列一下:
1.异步清零信号 – aclr
2.上电复位信号, - pre
3.异步载入信号 – aload
4.使能信号 – ena
5.同步清零信号 – sclr
6.同步载入信号 – sload
7.数据输入信号 – data

在FPGA设计中,只有在输入输出上可以使用双向信号,双向信号是不能使用在内部逻辑上的。一定不要用这种信号,否则工具会综合出一个你都不知道会是什么东西的东西。针对一个双向端口,你需要把它变成一个输入信号 in,一个输出信号:out, 和一个输出使能信号: output_enable. 所以代码其实很简单:
Assign birsignal = output_enable ? out: 1’bz;
Assign in = birsignal
这里有一个小小的提示,在写代码的时候突然不太清楚语法怎么写的时候,你可以在quartus里面按一下右键,你可以发现一个insert template…的选择。试试看吧。

状态机是设计过程中的核心部分,所以我们需要特别的提一下写状态机的一些注意事项。为了实现利益最大化,建议在FPGA中使用one hot 模式的状态机,而在CPLD中使用最少比特数的状态机。在具体的设计中需要注意的是:
1、把状态机写全,也就是说不要漏写了 Default:。没有这个首先会出现什么?对了,会有假门(latch)。
2、状态机作为控制核心部分,尽量把它和算法功能和数据分离开来。好像你看到好的流水线,控制流水线的电脑和流水线本身是分开的。这样可以保持相对的独立性。
3、如果一种操作设计到几个状态,尽量把操作剥离状态机本身。
4、使用一个简单的复位信号来定义上电状态。如果你的状态机会被比较多的复位信号复位的话,工具就不会把它当作状态机来对待。总之,尽量的保持状态机的很傻很单纯是很重要的。尽量的不要加重核心部分的复杂性。其实道理很简单,好比在一个公司里面,真正在工作的,其实一定不是一个这个公司的核心。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
晓灰灰 发表于 2017-7-24 09:39:31 | 显示全部楼层
门的次级管理信号
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 12:38 , Processed in 0.061546 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表