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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gpsnavidatagen_4ch.v

?? 基于verilog語言的GPS模擬源代碼
?? V
?? 第 1 頁 / 共 5 頁
字號:
`timescale 1ns/1ns                                                                                                                                //`define DEBUG_NAVI`include "include.v"                                                                                                                                                  //generate signals in one satellite, not including navigation bits                                                                                module GPSDataGenSAT_4ch(in_clk, in_Resetn, out_GPSData, o_NBPulse, sel, a, d, csn, wrn, oen);                                                 input in_clk;                                                                                                                                     input in_Resetn;                                                                                                                                  output [2:0] out_GPSData;                                                                                                                         output 		o_NBPulse;                                                                                                                                                  input sel;                                                                                                                                        input [7:0]a;                                                                                                                                     input csn;                                                                                                                                        input wrn;                                                                                                                                        input oen;                                                                                                                                        inout [31:0]d;                                                                                                                                                                                                                                                                                      parameter  SAMPCLK =16000000;                                                                                                                     parameter  IFFREQ  =3780000 ;                                                                                                                     parameter  CHIPRATE=2046000 ;                                                                                                                     //parameter  GPSCHIPRATE_INCR =  (1<<28)*CHIPRATE/SAMPCLK  ;                                                                                      //parameter  GPSIFFREQ_INCR   =  (1<<29)*IFFREQ/SAMPCLK    ;                                                                                                                                                                                                                                        reg	[27:0] code_dco_incr;                                                                                                                           reg [28:0] code_dco_acc;                                                                                                                          reg        code_dco_acc_msb_dly;                                                                                                                  wire       next_ca_code;                                                                                                                          reg [1:0]  count,count_dly;                                                                                                                       wire       fc;                                                                                                                                    reg [9:0]  g2_load ;                                                                                                                              reg [9:0]  g1_r    ;                                                                                                                              reg  [9:0] g2_r ;                                                                                                                                 wire ca_code ;                                                                                                                                    reg [9:0] dump_count;                                                                                                                             wire dump;                                                                                                                                        reg [28:0]    carr_dco_incr;                                                                                                                      reg [29:0]    carr_dco_acc ;                                                                                                                      reg [2:0]     cos,sin;                                                                                                                            wire [2:0]    out_GPSData;                                                                                                                        wire          in_config;                                                                                                                          reg [5:0]     mscounter ;                                                                                                                         wire 	NaviBitPulse;                                                                                                                                                  reg [27:0]gpschiprate_incr;                                                                                                                       reg [29:0]gpsiffreq_incr;                                                                                                                         reg [9:0]satallite_prn;                                                                                                                           reg d_oe;reg [31:0]d_out;reg [15:0]d_out16;//write the preset registers, which should be initialized before correlator start to runalways @(posedge in_clk or negedge in_Resetn)  if(!in_Resetn)    begin		gpschiprate_incr <= 28'h0;		gpsiffreq_incr <= 30'h0;		satallite_prn <= 10'h0;		code_dco_incr <= 28'b0;	end  else if (~csn & ~wrn)  `ifdef G4_FPGA_16BIT    begin	if (sel)		if (a[7:0] == 8'h00)			gpschiprate_incr[15:0] <= d[15:0];		else if (a[7:0] == 8'h02)			gpschiprate_incr[27:16] <= d[11:0];		else if (a[7:0] == 8'h04)			gpsiffreq_incr[15:0] <= d[15:0];		else if (a[7:0] == 8'h06)			gpsiffreq_incr[29:16] <= d[13:0];		else if (a[7:0] == 8'h08)			begin				satallite_prn[9:0] <= d[9:0];				code_dco_incr <= gpschiprate_incr;			end	end	`else	begin	if (sel)		if (a[7:0] == 8'h00)			gpschiprate_incr<= d[27:0];		else if (a[7:0] == 8'h04)			gpsiffreq_incr <= d[27:0];		else if (a[7:0] == 8'h08)			begin				satallite_prn[9:0] <= d[9:0];				code_dco_incr <= gpschiprate_incr;			end	end    `endif// register read operationsalways @(posedge in_clk or negedge in_Resetn)  if(!in_Resetn)  	begin		d_oe <= 1'b0;		d_out <= 32'b0;		d_out16<=16'b0;	end  else if (~csn & ~oen)  `ifdef G4_FPGA_16BIT  	begin    	if (sel)    		d_oe <= 1'b1;			if (a[7:0] == 8'h00)				d_out16 <= gpschiprate_incr[15:0];			else if (a[7:0] == 8'h02)				d_out16 <= {4'b0, gpschiprate_incr[27:16]};			else if (a[7:0] == 8'h04)				d_out16 <= gpsiffreq_incr[15:0];			else if (a[7:0] == 8'h06)				d_out16 <= {2'b0, gpsiffreq_incr[29:16]};			else if (a[7:0] == 8'h08)				d_out16 <= {6'b0, satallite_prn};			else				d_out16 <= 16'b0;	end  `else    begin    	if (sel)    		d_oe <= 1'b1;    		d_out <= 0;			if (a[7:0] == 8'h00)				d_out[27:0] <= gpschiprate_incr;			else if (a[7:0] == 8'h04)				d_out[29:0] <= gpsiffreq_incr;			else if (a[7:0] == 8'h08)				d_out <= {22'b0, satallite_prn};			else				d_out <= 32'b0;	end  `endif  else  	d_oe <= 0;  	`ifdef G4_FPGA_16BITassign d = (d_oe) ? {16'b0,d_out16} : 32'hZZZZZZZZ;`else	assign d = (d_oe) ? d_out : 32'hZZZZZZZZ;`endif                                                                                                                                                  //code dco                                                                                                                                        assign in_config=1'b1;                                                                                                                            always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      code_dco_acc <= 29'b0;                                                                                                                          else                                                                                                                                                code_dco_acc <= code_dco_acc + code_dco_incr;                                                                                                                                                                                                                                                //delay the msb of code_dco_acc by 1 clock cycle for overflow generation                                                                          always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      code_dco_acc_msb_dly <= 1'b0;                                                                                                                   else                                                                                                                                                code_dco_acc_msb_dly <= code_dco_acc[28];                                                                                                                                                                                                                                                       //if the msb of code_dco_acc changes during 1 cycle ,the out_next_ca_code is set                                                                  assign next_ca_code = code_dco_acc_msb_dly ^ code_dco_acc[28];                                                                                                                                                                                                                                      //in_next_ca_code is 2fc,however g1 and g2 work at fc                                                                                             //so the following two always module and one assign generate fc                                                                                   //and the fc last for 1 in_clk cycle                                                                                                              always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      count <= 2'b0;                                                                                                                                  else                                                                                                                                                if(next_ca_code)                                                                                                                                    count <= count + 1'b1;                                                                                                                                                                                                                                                                        always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      count_dly <= 2'b0;                                                                                                                              else                                                                                                                                                count_dly <= count;                                                                                                                                                                                                                                                                             assign fc = count[1] ^ (count_dly[1]);                                                                                                                                                                                                                                                              //g2_load is loaded from register file when config_valid is set                                                                                   always @ (posedge in_clk or negedge in_Resetn)	if (!in_Resetn)		g2_load <= 10'b0;	else		g2_load <= satallite_prn;                                                                                                                                                                                                                                                                    //G1 register 1+x3+x10                                                                                                                            always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      g1_r <= 10'h3ff;                                                                                                                                else                                                                                                                                                if(fc)                                                                                                                                              g1_r <= {g1_r[8:0],g1_r[2]^g1_r[9]};                                                                                                                                                                                                                                                          //G2 register 1+x2+x3+x6+x8+x9+x10                                                                                                                always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      g2_r <= 10'h3ff;                                                                                                                                else                                                                                                                                                if(fc)                                                                                                                                              g2_r <= {g2_r[8:0],g2_r[1]^g2_r[2]^g2_r[5]^g2_r[7]^g2_r[8]^g2_r[9]};                                                                                                                                                                                                                          //generate ca code                                                                                                                                assign ca_code = (^ (g2_load & g2_r)) ^ g1_r[9];                                                                                                                                                                                                                                                                                                                                                                                                      //generate dump signal                                                                                                                            //dump counter does not increase when slew                                                                                                        always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      dump_count <= 10'b0;                                                                                                                            else if (dump)   		dump_count <= 0;                                                                                                                                            else if(fc)                                                                                                                                              dump_count <= dump_count + 1'b1;                                                                                                                                                                                                                                                              //when dump counter equal to 1023 dump signal is set                                                                                              //assign dump = (&(dump_count)) ? 1'b1 : 1'b0;assign dump = (dump_count == 'd1022)& fc;                                                                                                                                                                                                                                                                                                                                                                                                          //ms counter 0-19                                                                                                                                 always @(posedge in_clk or negedge in_Resetn)                                                                                                       if(!in_Resetn)                                                                                                                                      mscounter <= 1'b0;                                                                                                                              else if ((mscounter == 19) & (dump) & fc)                                                                                                           mscounter <= 1'b0;                                                                                                                              else if(dump & fc)                                                                                                                                  mscounter <= mscounter + 1'b1;                                                                                                                                                                                                                                                                  assign NaviBitPulse = ((mscounter == 19) & (dump) & fc)?1'b1:1'b0;	 	assign o_NBPulse = NaviBitPulse;                                                                                                                                                  always @ (posedge in_clk or negedge in_Resetn)	if (!in_Resetn)		carr_dco_incr <= 29'b0;	else                                                                                                                   carr_dco_incr <= gpsiffreq_incr;                                                                                                                                          //acc increment carr_dco_incr every corrclk cycle                                                                                                 always @(posedge in_clk or negedge in_Resetn )                                                                                                      if(!in_Resetn)                                                                                                                                      carr_dco_acc <= 30'b0;                                                                                                                          else                                                                                                                                                  carr_dco_acc <= carr_dco_acc + carr_dco_incr;                                                                                                                                                                                                                                                                                                                                                                                                   //make the sin map and cos map of bit[28:26] of carr_dco_acc                                                                                      //the sin and cos signal is coded in 2'complement and the msb is sign and the 2 lsbs are magnitude                                                //the map base on the table below:                                                                                                                //carr_dco_acc[28:26]          sin         cos                                                                                                    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色小视频| 亚洲成人综合在线| 东方aⅴ免费观看久久av| 国产情人综合久久777777| 成人在线视频一区| 亚洲欧美aⅴ...| 欧美一三区三区四区免费在线看| 日韩高清一区二区| 国产日产欧美一区| 色综合久久综合网97色综合| 午夜成人在线视频| 久久影院电视剧免费观看| 成人精品视频.| 亚洲黄色在线视频| 精品人在线二区三区| 成人午夜免费电影| 亚洲观看高清完整版在线观看| 日韩午夜av一区| 99麻豆久久久国产精品免费 | 91在线视频18| 亚洲国产va精品久久久不卡综合| 欧美一级片在线观看| 高清av一区二区| 日韩成人一级片| 国产精品女主播av| 91精品国产品国语在线不卡| 高清不卡一区二区| 青青草国产成人99久久| 国产精品久久久久一区二区三区共| 欧洲精品一区二区| 高清成人免费视频| 免费观看日韩电影| 一区二区国产盗摄色噜噜| 久久婷婷久久一区二区三区| 在线视频国内自拍亚洲视频| 九九九精品视频| 亚洲午夜免费视频| 中文字幕欧美一| 欧美mv和日韩mv的网站| 欧洲av在线精品| av中文字幕亚洲| 韩国欧美一区二区| 日本大胆欧美人术艺术动态| 亚洲桃色在线一区| 欧美国产激情二区三区| 欧美电影免费观看完整版| 欧美亚洲一区二区在线观看| 成人永久aaa| 国产原创一区二区三区| 日精品一区二区| 亚洲成人综合在线| 一区二区三区在线观看视频| 欧美—级在线免费片| 精品91自产拍在线观看一区| 欧美一区在线视频| 欧美卡1卡2卡| 欧美日韩亚洲综合一区二区三区| 99精品黄色片免费大全| 成人一级片在线观看| 国产精品羞羞答答xxdd| 精品亚洲国内自在自线福利| 日韩**一区毛片| 日本va欧美va瓶| 秋霞午夜鲁丝一区二区老狼| 日韩精品亚洲一区二区三区免费| 一级女性全黄久久生活片免费| 亚洲丝袜精品丝袜在线| 国产精品国产三级国产a| 国产精品全国免费观看高清| 国产肉丝袜一区二区| 久久久久国产一区二区三区四区 | 中文字幕va一区二区三区| 久久久蜜臀国产一区二区| 精品国产sm最大网站| 久久久蜜桃精品| 日本一区二区三级电影在线观看| 国产午夜一区二区三区| 久久久五月婷婷| 国产偷国产偷亚洲高清人白洁 | 日韩一区二区在线观看视频| 538prom精品视频线放| 欧美一区日韩一区| 日韩一级在线观看| 久久精品视频一区| 国产精品高潮呻吟久久| 一区二区三区四区中文字幕| 亚洲自拍偷拍图区| 日韩精品国产欧美| 韩国理伦片一区二区三区在线播放| 精品一区二区三区欧美| 东方aⅴ免费观看久久av| 91在线porny国产在线看| 欧美性感一区二区三区| 91精品在线麻豆| 久久综合久久综合久久综合| 国产精品欧美久久久久无广告 | 亚洲一区二区三区小说| 午夜成人免费电影| 国产麻豆视频一区| a4yy欧美一区二区三区| 欧美性受xxxx| 久久这里只有精品首页| 1024成人网| 蜜臀av性久久久久av蜜臀妖精 | 91免费视频网址| 欧美日本一道本| 久久久国产综合精品女国产盗摄| 国产精品妹子av| 日本在线播放一区二区三区| 国产精品99久久久久久宅男| 99久久综合精品| 日韩一区二区在线观看| 国产精品女人毛片| 日韩精品一二三四| 波多野结衣亚洲一区| 在线成人免费观看| 中文字幕亚洲在| 蜜桃久久久久久| 91小宝寻花一区二区三区| 欧美一卡二卡三卡| 亚洲欧美国产三级| 国产精品99久| 69堂亚洲精品首页| 亚洲视频一区二区在线观看| 毛片av一区二区三区| 一本大道综合伊人精品热热| 亚洲精品一区二区三区影院 | 日韩成人午夜精品| 色综合色综合色综合色综合色综合 | 久久91精品国产91久久小草 | 97超碰欧美中文字幕| 欧美va亚洲va国产综合| 亚洲最大成人综合| 成人在线视频一区| 精品国产伦一区二区三区免费 | 激情图区综合网| 欧美性大战xxxxx久久久| 国产精品久久久久久久浪潮网站| 久久国产免费看| 欧美精品久久99| 亚洲一区二区视频在线| 91网站在线观看视频| 久久久久久电影| 国产一区福利在线| 日韩视频免费观看高清完整版在线观看| 自拍视频在线观看一区二区| 国产凹凸在线观看一区二区| 精品欧美一区二区在线观看| 日韩av一二三| 制服视频三区第一页精品| 亚洲综合色丁香婷婷六月图片| 成人国产亚洲欧美成人综合网| 2020国产精品自拍| 色系网站成人免费| 国产亚洲va综合人人澡精品| 国产制服丝袜一区| 精品国产网站在线观看| 精品夜夜嗨av一区二区三区| 日韩一区二区视频在线观看| 日本亚洲免费观看| 欧美久久一二区| 日韩av中文字幕一区二区| 在线不卡中文字幕| 日产国产欧美视频一区精品| 欧美一区二区视频观看视频| 日本不卡高清视频| 精品乱码亚洲一区二区不卡| 久久国产欧美日韩精品| 久久这里只有精品6| 国产精品亚洲人在线观看| 国产日韩欧美在线一区| 国产91精品久久久久久久网曝门| 国产日韩欧美精品一区| 不卡欧美aaaaa| 亚洲精品成人精品456| 欧美日韩视频在线一区二区| 天天av天天翘天天综合网 | 亚洲欧洲www| 99久久精品免费| 亚洲一区二区三区四区五区黄| 欧美视频一区二区在线观看| 亚洲一本大道在线| 欧美电影免费观看完整版| 国产在线一区观看| 国产精品久久福利| 在线一区二区三区四区| 日韩福利电影在线观看| 久久久久高清精品| 91在线一区二区三区| 91免费观看在线| 亚洲综合色在线| 日韩精品最新网址| aaa国产一区| 日韩成人精品在线观看| 久久久久国色av免费看影院| 色综合网站在线| 免费观看91视频大全| 国产精品亲子乱子伦xxxx裸| 欧美日韩黄视频| 国产福利一区二区三区|