拿到一个项目该怎样去做?

1.首先我们需要画出系统大概框 

3.结合系统看那些地方用到序列机,那些地方用到状态机

2.考虑系统有哪些输出,哪些输入

3.是否需要产生子模块的时钟频率

4.设置一个计数器cnt,要看其是否只在非空闲状态下进行计数,如果在空闲状态下不计数,则需要设置一个非空闲状态标志位,在该标志位为1的情况下cnt才开始计数。

5.看系统是否有读写过程,如果有读写过程的话,一般需要设置一个读标志位和一个写标志位。

6.看系统数据传输是沿着时钟的上升沿还是下降沿,还是其他情况。在数据进行变化的时候(究竟是FPGA使数据线变化还是外部器件使数据变化未知)需要设置一个标志位,在数据稳定的时候设置一个标志位;这样的目的是为了方便后面的数据进行处理。图片中没有画出clk系统时钟

7.根据外部器件时序图或者通信协议所需要的寄存器,然后需要将这些所需要的寄存器分别定义出来

8.

猜你喜欢

转载自www.cnblogs.com/liujiahong/p/12591459.html
今日推荐