学习记录
时间:10-02
整理:3721RD
点击:
FGPA fpga编程,还是要讲究一下思路的。
比如:常听人讲,要有硬件的思路。
今天看S2P的例程,一下子就有感觉了
这个例程是这样:serial行输入,每8位转换成并行,输出一次。 这样的话,分析这个问题,常规的看,是1位输入,8位输出。
但具体写程序的时候,脑子里最好有两个模块,一个是 在时钟驱动下的8位reg;另一个是 8个时钟计数。
第一个模块:8位reg移位存储,p<={p[6..0],s};
第二个模块:cnt,计数到8产生一个输出使能给第一个模块;
两个模块用reset信号和clk信号同步;
最后输出是:assign out<=(cnt==7)?p;8'b0;
这种以process(vhdl)或always的,硬件模块化思想,可能是fpga编程的基本思想
比如:常听人讲,要有硬件的思路。
今天看S2P的例程,一下子就有感觉了
这个例程是这样:serial行输入,每8位转换成并行,输出一次。 这样的话,分析这个问题,常规的看,是1位输入,8位输出。
但具体写程序的时候,脑子里最好有两个模块,一个是 在时钟驱动下的8位reg;另一个是 8个时钟计数。
第一个模块:8位reg移位存储,p<={p[6..0],s};
第二个模块:cnt,计数到8产生一个输出使能给第一个模块;
两个模块用reset信号和clk信号同步;
最后输出是:assign out<=(cnt==7)?p;8'b0;
这种以process(vhdl)或always的,硬件模块化思想,可能是fpga编程的基本思想
其实编程就是一种思考方式呀~~~~~
666