亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 基fpga_cyclone_ii_ep2c5_ep2c8的頻率計.txt

?? 基FPGA Cyclone II_EP2C5 EP2C8的頻率計
?? TXT
字號:
基FPGA_Cyclone_II_EP2C5/EP2C8的頻率計 

功能描述:按4*4鍵盤上的1,2,3...號按鍵可依次測出
 25000000Hz ,12500000Hz ....的分頻信號并顯示在8個數碼管上.
希望和初學者一起學習 163haole@163.com
本設計由以下四個模塊組成.
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);//



//鎖存測量值進程
always @(posedge clock)
begin
   if(divide_clk)
       freq_result<=pre_freq;
end

//產生計數器復信號
always @(posedge clock)
begin
  if(divide_clk)
     rst<=1'b1;
  else
     rst<=1'b0;
end

//產生被測頻率信號

//assign freq_input=counter[1];
assign freq_input= freq_input_r;

always @(posedge clock )  //sys_clk 50Mhz
begin

if(Mega_cnt>32'd48)  //50-2
  begin 
      Mega_cnt<=32'd0;
  end 
else
    Mega_cnt<=Mega_cnt+1;
end

assign clk_1Mhz = Mega_cnt[5];//1Mhz 

KeyBoard (.code(key),.col(col),.valid(valid),.row(row),.sys_clk(clk_1Mhz),.rst(rstkey));

always @(key)
begin
   
   case(key)
       4'd1: freq_input_r=counter[0];//25000000
       4'd2: freq_input_r=counter[1];
       4'd3: freq_input_r=counter[2];
       4'd4: freq_input_r=counter[3];
       4'd5: freq_input_r=counter[4];
       4'd6: freq_input_r=counter[5];
       4'd7: freq_input_r=counter[6];
       4'd8: freq_input_r=counter[7];
       4'd9: freq_input_r=counter[8];
       4'd10:freq_input_r=counter[9];
       4'd11:freq_input_r=counter[10];
       4'd12:freq_input_r=counter[11];
       4'd13:freq_input_r=counter[12];
       4'd14:freq_input_r=counter[13];
       4'd15:freq_input_r=counter[14];
       4'd0:freq_input_r=counter[15]; //762.939453125Hz
       default:freq_input_r=counter[0];
   endcase

end

//8位十進制模塊:由8個十進制計數模塊構成
//*
cnt10 u1(.clock(freq_input),.rst(rst),.cin(1'b1), .cout(cout1),.dout(pre_freq[3:0]));
cnt10 u2(.clock(freq_input),.rst(rst),.cin(cout1),.cout(cout2),.dout(pre_freq[7:4]));
cnt10 u3(.clock(freq_input),.rst(rst),.cin(cout2),.cout(cout3),.dout(pre_freq[11:8]));
cnt10 u4(.clock(freq_input),.rst(rst),.cin(cout3),.cout(cout4),.dout(pre_freq[15:12]));
cnt10 u5(.clock(freq_input),.rst(rst),.cin(cout4),.cout(cout5),.dout(pre_freq[19:16]));
cnt10 u6(.clock(freq_input),.rst(rst),.cin(cout5),.cout(cout6),.dout(pre_freq[23:20]));
cnt10 u7(.clock(freq_input),.rst(rst),.cin(cout6),.cout(cout7),.dout(pre_freq[27:24]));
cnt10 u8(.clock(freq_input),.rst(rst),.cin(cout7),.cout(),     .dout(pre_freq[31:28]));
//*/
//數碼管顯示模塊
scan_led u9(.clk_1k(clk_scan),.d(freq_result),.dig(dig),.seg(seg));

endmodule


/* KeyBoard.v -4*4鍵盤掃描模塊*/

/* Copyright 2008-2018  */

/*
modification history
--------------------
01a,20jan08,52mcu  modified comment  163haole@163.com
01a,13jan08,52mcu added comment
*/

/*
DESCRIPTION
Cyclone II EP2C5Q208C

*/
module KeyBoard(
       code      ,
       col       ,
       valid     ,
       row       ,
       sys_clk       ,
       rst       
                );
output  [3:0]  col     ;
output         valid   ;
output  [3:0]  code    ;

input   [3:0]  row     ;
input          sys_clk,rst ;

reg     [3:0]  col,code;
reg     [5:0]  state,next_state;

parameter  S_0 = 6'b000001,
            S_1 = 6'b000010,
            S_2 = 6'b000100,
            S_3 = 6'b001000,
            S_4 = 6'b010000,
            S_5 = 6'b100000;
reg       S_row ; 
reg [3:0] count,row_reg,col_reg;
reg       clk2,clk4;


reg [24:0] Mega_cnt;
wire       clk;
/**************************************/
always @(posedge sys_clk or negedge rst)  //sys_clk 1Mhz
begin
if(!rst)
  begin
  Mega_cnt<=0;
  end
else
  begin
  Mega_cnt<=Mega_cnt+1;
  end
end

assign clk = Mega_cnt[4];  //clk 1Mhz/2^(4+1)=31.25Khz
/**************************************/ 

always @ (posedge clk)   //clk2 clk/2=62.5Khz/2=15.625Khz
clk2 <= ~clk2;

always @ (posedge clk2)  //clk4 clk2/2=15.625Khz/2=7.8125Khz  0.128ms
clk4 <= ~clk4;
           
always @ (posedge clk4 or negedge rst)
if(!rst)
     begin
         count <= 0;
         S_row <= 0;
     end
else
     begin
         if(!(row[0]&row[1]&row[2]&row[3]))
             begin
                 if(count < 'd4)
                     count <= count +1 ;
                 else
                     S_row <= 1;
             end
         else if(state[5]||state[0])
            begin
                count <= 0;
                S_row <= 0;
            end
     end
     
assign valid = ((state == S_1)||(state == S_2)||(state == S_3)||(state == S_4)) &&  (!(row[3]&row[2]&row[1]&row[0])) ;

always @ (negedge clk) //clk 1Mhz/2^(4+1)=31.25Khz
if(valid)
     begin
        row_reg <= row ;
        col_reg <= col ;
     end
  else
     begin
        row_reg <= row_reg ;
        col_reg <= col_reg ;
     end
     
always @ (row_reg or col_reg or clk)
     case({row_reg,col_reg})
        8'b1110_1110: code = 13;
        8'b1110_1101: code = 9 ;
        8'b1110_1011: code = 5 ;
        8'b1110_0111: code = 1 ;
        
        8'b1101_1110: code = 14;
        8'b1101_1101: code = 10;
        8'b1101_1011: code = 6 ;
        8'b1101_0111: code = 2 ;
        
        8'b1011_1110: code = 15 ;
        8'b1011_1101: code = 11 ;
        8'b1011_1011: code = 7;
        8'b1011_0111: code = 3;
        
        8'b0111_1110: code = 0;
        8'b0111_1101: code = 12;
        8'b0111_1011: code = 8;
        8'b0111_0111: code = 4;              
    endcase

always @ (posedge clk4 or negedge rst) //clk4 clk2/2=15.625Khz/2=7.8125Khz  0.128ms
if(!rst)
      state <= S_0 ;
else
      state <= next_state ;
    
always @ ( state or row or S_row)
begin
   //  next_state = state ; 
     col =0;
     case(state)
        S_0 :  begin
                   col = 4'b0000;
                   if(S_row)
                       next_state = S_1;
                   else
                       next_state = S_0;
               end
        S_1 :  begin
                   col = 4'b1110;
                   if(row!='hf)
                       next_state = S_5;
                   else
                       next_state = S_2;
               end
        S_2 :  begin
                   col = 4'b1101;
                   if(row!='hf)
                       next_state = S_5;
                   else
                       next_state = S_3;
               end 
        S_3 :  begin
                   col = 4'b1011;
                   if(row!='hf)
                       next_state = S_5;
                   else
                       next_state = S_4;
               end  
        S_4 :  begin
                   col = 4'b0111;
                   if(row!='hf)
                       next_state = S_5;
                   else
                       next_state = S_0;
               end  
        S_5 :  begin
                   col = 4'b0000;
                   if(row == 4'b1111) 
                       next_state = S_0;
                   else 
                       next_state = S_5;
               end
        default: next_state = S_0;
  endcase
  end
endmodule

/* cnt10.v -十進制計數器*/

/* Copyright 2008-2018  */

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

/*
DESCRIPTION
Cyclone II EP2C5Q208C

*/
module cnt10(clock,rst,cin,cout,dout);//十進制計數器
input clock;//計數時鐘
input cin;//進位輸入
input rst;// 復位信號
output cout;//進位輸出
output[3:0]dout;//計數輸出
reg[3:0]counter; //寄存器
assign dout=counter;

assign cout=cin&&(counter>=4'd9); //進位輸出
always @(posedge clock or posedge rst)
begin
   if(rst)
     counter<=4'd0;//計數器復位
   else if(cin)  //進位輸入
   begin
      if(cout)
          counter<=4'd0;
      else 
          counter<=counter+1'b1;
   end
end
endmodule


/* scan_led.v -數碼管動態掃描  */

/* Copyright 2008-2018  */

/*
modification history
--------------------
01a 15jan08 52mcu solve the dig problem  163haole@163.com
01a,10jan08,52mcu
*/

/*
DESCRIPTION
Cyclone II EP2C5Q208C

*/

module scan_led(clk_1k,d,dig,seg);
input clk_1k;
input[31:0]d;

output[2:0]dig;
output[7:0]seg;

reg[7:0]seg_r;
reg[2:0]dig_r;
reg[3:0]disp_dat;
reg[2:0]count;

assign dig=dig_r;
assign seg = seg_r;


always @(posedge clk_1k)
begin
  count<=count+1'b1;
end

always @(posedge  clk_1k)
begin
  case(count)
     3'd0:disp_dat=d[31:28];
     3'd1:disp_dat=d[27:24];
     3'd2:disp_dat=d[23:20];
     3'd3:disp_dat=d[19:16];
     3'd4:disp_dat=d[15:12];
     3'd5:disp_dat=d[11:8];
     3'd6:disp_dat=d[7:4];
     3'd7:disp_dat=d[3:0];
  endcase
  dig_r = count;
   
end
    
always @(disp_dat)
begin
  case(disp_dat)
     4'h0:seg_r = 8'b00111111;// '0'8'b00000001;// '-' 
     4'h1:seg_r = 8'b00000110;// '1'
     4'h2:seg_r = 8'b01011011;// '2' 
     4'h3:seg_r = 8'b01001111;// '3' 
     4'h4:seg_r = 8'b01100110;// '4'
     4'h5:seg_r = 8'b01101101;// '5'
     4'h6:seg_r = 8'b01111101;// '6'
     4'h7:seg_r = 8'b00000111;// '7'
     4'h8:seg_r = 8'b01111111;// '8'
     4'h9:seg_r = 8'b01101111;// '9'
     4'ha:seg_r = 8'b01110111;// 'a'
     4'hb:seg_r = 8'b01111100;// 'b'
     4'hc:seg_r = 8'b00111001;// 'c'
     4'hd:seg_r = 8'b01011110;// 'd'
     4'he:seg_r = 8'b01111001;// 'e'
     4'hf:seg_r = 8'b01110001;// 'f'
  endcase
end
endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费在线视频| 欧美日韩免费电影| 欧美一区二区女人| 蜜臀va亚洲va欧美va天堂 | 欧美人xxxx| 欧美乱妇23p| 艳妇臀荡乳欲伦亚洲一区| 欧美优质美女网站| 中文字幕一区二区三区在线不卡| 久久精品在线免费观看| 一本色道久久综合亚洲91| 亚洲不卡一区二区三区| 欧美大白屁股肥臀xxxxxx| 免费成人av在线| 亚洲婷婷综合久久一本伊一区| 欧美精品1区2区3区| 777色狠狠一区二区三区| 成人丝袜视频网| 天堂在线一区二区| 中文字幕视频一区二区三区久| 国产精品毛片久久久久久| 欧美无砖砖区免费| 欧美精品一级二级三级| 日韩美女一区二区三区四区| www精品美女久久久tv| 在线免费观看日韩欧美| 欧美狂野另类xxxxoooo| 日韩免费高清视频| 国产精品毛片久久久久久| 一区二区三区高清在线| 日韩不卡一区二区| 午夜精品福利在线| 亚洲综合一区二区| 亚洲制服丝袜在线| 毛片av一区二区| 不卡的av电影在线观看| 国产精品一区二区x88av| 青青草原综合久久大伊人精品优势 | 毛片av一区二区三区| 91女神在线视频| 久久精品国产99久久6| 亚洲国产美国国产综合一区二区| 中文字幕亚洲综合久久菠萝蜜| 亚洲五码中文字幕| 国产精品亚洲一区二区三区在线| 99re这里都是精品| 91网站最新地址| 日韩欧美国产综合| 亚洲欧美一区二区久久 | 国产人久久人人人人爽| 精品美女在线播放| 一区二区三区国产精华| 国产精品一区二区在线观看网站 | 亚洲超碰97人人做人人爱| 国产成人综合视频| 国产成人精品在线看| 欧美日韩精品福利| 亚洲女人的天堂| 国产91丝袜在线播放| 波多野洁衣一区| 91影视在线播放| 久久人人爽爽爽人久久久| 久久精品视频一区二区| 蜜臀99久久精品久久久久久软件| 91色视频在线| 久久综合久久综合久久| 日韩va欧美va亚洲va久久| 日本乱人伦一区| 欧美肥胖老妇做爰| 亚洲高清不卡在线| 在线免费不卡视频| 亚洲人成网站在线| 99亚偷拍自图区亚洲| 国产香蕉久久精品综合网| 蜜乳av一区二区三区| 欧美男人的天堂一二区| 亚洲一区二区三区美女| 欧美性xxxxx极品少妇| 亚洲最色的网站| 在线精品亚洲一区二区不卡| 亚洲人亚洲人成电影网站色| aaa亚洲精品一二三区| 国产精品不卡一区| 爽爽淫人综合网网站| 欧美日韩精品是欧美日韩精品| 亚洲免费在线观看视频| 色老头久久综合| 一区二区激情小说| 欧美日韩一区国产| 国产欧美久久久精品影院| 国产成人av电影在线观看| 国产亚洲制服色| 成人av电影在线观看| 亚洲人成网站在线| 欧美日韩免费高清一区色橹橹| 亚洲va在线va天堂| 日韩写真欧美这视频| 亚洲女与黑人做爰| 欧美日韩久久久一区| 免费看欧美女人艹b| 久久精品免费在线观看| av一区二区三区四区| 亚洲一区二区三区精品在线| 欧美一级国产精品| 国产suv一区二区三区88区| 《视频一区视频二区| 欧美久久久久久久久久| 国产制服丝袜一区| 91精品国产免费| 成人午夜又粗又硬又大| 一区av在线播放| 精品国产百合女同互慰| 婷婷国产在线综合| 国产亚洲精品bt天堂精选| 色www精品视频在线观看| 免费在线观看视频一区| 国产精品国产三级国产aⅴ原创 | 欧美日韩高清在线| 国产成人精品影院| 亚洲不卡在线观看| 国产成人午夜精品影院观看视频 | 成人av网站在线| 亚洲小说欧美激情另类| 欧美v国产在线一区二区三区| 不卡av免费在线观看| 奇米色一区二区| 一区二区三区四区亚洲| 国产精品传媒入口麻豆| 日韩亚洲欧美一区| 色婷婷综合激情| 国产精品一区二区在线观看不卡| 亚洲成人免费在线观看| 国产精品人成在线观看免费| 日韩精品中午字幕| 欧美日韩在线亚洲一区蜜芽| 不卡高清视频专区| 国产精品中文欧美| 久久精品国产99国产精品| 亚洲国产美国国产综合一区二区| 中文字幕 久热精品 视频在线| 另类小说图片综合网| 亚洲一区二区成人在线观看| 国产日韩欧美在线一区| 欧美mv日韩mv| 欧美一区二区不卡视频| 欧美日韩国产天堂| 欧美在线不卡一区| 欧美在线影院一区二区| 色婷婷综合久久久中文字幕| 成人黄色小视频| 国产成人av网站| 国产91精品露脸国语对白| 黄一区二区三区| 精品一区在线看| 亚洲三级理论片| 国产精品三级av| 亚洲欧洲成人av每日更新| 国产精品入口麻豆原神| 国产精品久久影院| 国产精品人人做人人爽人人添| 国产精品―色哟哟| 国产精品免费观看视频| 国产精品美女一区二区三区 | 91久久精品网| 在线免费精品视频| 欧洲色大大久久| 欧美人体做爰大胆视频| 欧美人xxxx| 日韩免费观看2025年上映的电影| 精品日韩成人av| 日本一区二区三区免费乱视频 | 色狠狠综合天天综合综合| 91丨porny丨蝌蚪视频| 日本韩国一区二区| 欧美日韩日日摸| 日韩欧美国产一二三区| 精品日韩在线观看| 中文字幕日韩av资源站| 一区二区三区免费观看| 日本大胆欧美人术艺术动态| 狠狠色丁香九九婷婷综合五月| 国产老肥熟一区二区三区| 成人91在线观看| 欧美肥妇bbw| 国产女人aaa级久久久级| 亚洲一卡二卡三卡四卡| 久久国产乱子精品免费女| 成人国产精品视频| 欧美羞羞免费网站| 精品国产乱码久久久久久久| 国产精品久久久久久久久免费桃花| 一区二区欧美国产| 韩国欧美国产一区| 91国模大尺度私拍在线视频| 精品国产一区a| 亚洲激情网站免费观看| 国产精品二区一区二区aⅴ污介绍| 一级中文字幕一区二区| 国产精品99久久久久久久女警| 在线日韩一区二区|