×

基FPGA Cyclone II_EP2C5 EP2C8的频

消耗积分:10 | 格式:rar | 大小:333 | 2008-11-30

王丽

分享资料个

基FPGA Cyclone II_EP2C5 EP2C8的频率计

基FPGA_Cyclone_II_EP2C5/EP2C8的频率计

功能描述:按4*4键盘上的1,2,3...号按键可依次测出
 25000000Hz ,12500000Hz ....的分频信号并显示在8个数码管上.
本设计由以下四个模块组成.
freqtest.v -8位十进制频率计 (顶层模块)
KeyBoard.v -4*4键盘扫描模块 (选择不同的被测信号)
cnt10.v -十进制计数器模块  (测频计数)
scan_led.v -数码管动态扫描模块 (显示测量结果)


/* freqtest.v -8位十进制频率计*/

/* Copyright 2008-2018  */

/*
modification history
--------------------
01a,16jan08,52mcu 163haole@163.com
*/

/*
DESCRIPTION
Cyclone II EP2C5Q208C

*/
module freqtest(clock,freq_input,dig,seg,test,col,row,rstkey);
input clock;  //系统时钟
inout freq_input;  //被测信号时钟
output[2:0] dig; //数码管选择输出
output[7:0] seg; //数码管段输出引脚
output[9:0] test;//输出频率信号,用于测试

output  [3:0]  col     ;
input   [3:0]  row     ;
input          rstkey ;

reg[25:0]counter;  //时钟分频计数器
reg[31:0]freq_result; //频率测量结果寄存器
wire [31:0]pre_freq; //脉冲计数寄存器
reg rst;
wire divide_clk; //1Hz闸门信号
wire clk_scan; //数码管扫描时钟
wire cout1,cout2,cout3,cout4,cout5,cout6,cout7;

assign clk_scan = counter[15]; //动态扫描时钟
assign test = counter[9:0];//输出频率信号,用于测试

reg [31:0] Mega_cnt;
reg[3:0]key;
reg freq_input_r;


//时钟分频进程:分出1hz基准信号
always @(posedge clock)
begin
   if(divide_clk)
     counter<=26'd0;
   else
     counter<=counter+1'b1;
end

assign divide_clk=(counter>=26'd50000000);//

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !