lffpga 发表于 2012-9-14 23:56:03

verilog 实现等精度频率计

本帖最后由 lffpga 于 2012-9-15 00:07 编辑


。。。
背景就是,本人上大学的时候参加过Altera的fpga的电子设计大赛,但是作品差不多就是
老师做的,我基本上都是打酱油。。。
所以突然让写个这个还是有点头疼,憋了这么多天还是写出来了点,但是感觉还是有问题,
废话不多说,直接上图,上源码,请高手指点。。。谢谢

lffpga 发表于 2012-9-15 00:02:56

串口发送源码

lffpga 发表于 2012-9-15 00:04:39

lffpga 发表于 2012-9-15 00:02 static/image/common/back.gif
串口发送源码

这个就是实现等精度频率计数

lffpga 发表于 2012-9-15 00:06:06

本帖最后由 lffpga 于 2012-9-15 00:32 编辑

实现频率计数
串并转换

lffpga 发表于 2012-9-15 00:06:45

本人第一次上传,呵呵,不是很熟练,谅解。。。

lffpga 发表于 2012-9-15 00:25:23

实现的思路大概是,首先我们测试的频率是32.768k,然后标准时钟50m吧,就是当测试时钟技术到32768时,让停止计数,然后
输出标准时钟的计数,然后通过串口和一个管教串行移除数据给单片机,然后让单片机进行处理就算。本来也是打算直接用FPGA,
然后不用单片机的,但是由于时间紧迫,再加上本人对这个不是很熟,所以,如果有完全用FPGA的大侠做的,就请赐教。谢谢了

现在又一下的几个问题:
1、这个代码我只是做了Modelsim 的仿真,还没有做实际的测试;
2、就是标准时钟计数器我定义的是32bit,然后串口是8bit发送的,然后就是怎么重复调用同一个模块,
   在这里就是怎么重复调用uart_tx模块,发送这个32bit的计数值;
3、还有就是这些数据也要串行1bit输出,我写了一个PRA_SERIAL并转串的发送模块,但是感觉不太好
    有没有更好的方法;
4、就是,串口的发送和1bit的数据输出,怎么样可以让它发送完这32bit的数据后就停止;
5、如果完全就只用FPGA实现,该怎么弄?
还望高手或者做过相似的东西的,多多指教,谢谢了。

lffpga 发表于 2012-9-15 00:35:05

本帖最后由 lffpga 于 2012-9-15 00:38 编辑

哦,忘了,还有Testbench
CLK_T50M
CLK_S50K
MCU_CLK 10K

////////////////////////////////////////////

说明一下:
METER.V相当于顶层文件,然后在才文件中例化了,UART_TX 和 PRA_SERIAL.
页: [1]
查看完整版本: verilog 实现等精度频率计