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

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

?? da_fir.v

?? 無線通信FPGA設計-FPGA源碼
?? V
字號:
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date:    17:08:02 09/14/2007 // Design Name: // Module Name:    da_fir // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////module da_fir(clk, reset, fir_in, fir_out);
parameter IDATA_WIDTH = 12;   //輸入數據位寬
parameter PDATA_WIDTH = 13;   //處理數據位寬
parameter FIR_TAP = 8;        //fir濾波器抽頭數
parameter FIR_TAPHALF = 4;    //fir濾波器的一半抽頭數
parameter COEFF_WIDTH = 12;   //系數位寬
parameter OUT_WIDTH = 27;     //輸出數據位寬

parameter cof1 = 12'd41;
parameter cof2 = 12'd132;
parameter cof3 = 12'd341;
parameter cof4 = 12'd510;

parameter S0 = 1'b0;    //初始狀態
parameter S1 = 1'b1;    //處理狀態

input clk;
input reset;
input [IDATA_WIDTH-1:0] fir_in;
output [OUT_WIDTH-1:0] fir_out;

reg [OUT_WIDTH-1:0] fir_out;

reg [IDATA_WIDTH-1:0] fir_in_reg;
reg [PDATA_WIDTH-1:0] shift_buf[FIR_TAP-1:0];   //定義移位寄存器
reg [PDATA_WIDTH-1:0] add_buf[FIR_TAPHALF-1:0]; 

reg [PDATA_WIDTH-1:0] state_shift_buf[FIR_TAPHALF-1:0]; 

wire [3:0] table_4b;    //查表輸入

wire [COEFF_WIDTH-1:0] table_out_12b;        //查表輸出

reg [OUT_WIDTH-1:0] sum;
reg STATE;

reg [3:0] divfre_count_4b;
reg divfre13_clk;
integer i,j,k,l,m,n,p;

//定義移位寄存器左移的函數delta
function [OUT_WIDTH-1:0] delta;
   input [OUT_WIDTH-1:0] IQ;
   input [3:0] pipe;
      begin
         case(pipe)
            4'b0000: delta = IQ;
            4'b0001: delta = {IQ[OUT_WIDTH-2:0],1'b0};
            4'b0010: delta = {IQ[OUT_WIDTH-3:0],2'b00};
            4'b0011: delta = {IQ[OUT_WIDTH-4:0],3'b000};
            4'b0100: delta = {IQ[OUT_WIDTH-5:0],4'b0000};
            4'b0101: delta = {IQ[OUT_WIDTH-6:0],5'b00000};
            4'b0110: delta = {IQ[OUT_WIDTH-7:0],6'b000000};
            4'b0111: delta = {IQ[OUT_WIDTH-8:0],7'b0000000};
            4'b1000: delta = {IQ[OUT_WIDTH-9:0],8'b00000000};
            4'b1001: delta = {IQ[OUT_WIDTH-10:0],9'b000000000};
            4'b1010: delta = {IQ[OUT_WIDTH-11:0],10'b0000000000};
            4'b1011: delta = {IQ[OUT_WIDTH-12:0],11'b00000000000};
            4'b1100: delta = {IQ[OUT_WIDTH-13:0],12'b000000000000};
            4'b1101: delta = {IQ[OUT_WIDTH-14:0],13'b0000000000000};
            4'b1110: delta = {IQ[OUT_WIDTH-15:0],14'b00000000000000};
            4'b1111: delta = {IQ[OUT_WIDTH-16:0],15'b000000000000000};
            default: delta = IQ;
         endcase
      end
endfunction

always @(posedge clk or negedge reset)
begin
   if(!reset)
      begin
         divfre13_clk <= 1'b0;
         divfre_count_4b <= 4'b0000;
      end
   else
      begin
         if(divfre_count_4b==PDATA_WIDTH)
            begin
               divfre_count_4b <= 4'b0000;
               divfre13_clk <= 1'b1;
            end
         else
            begin
               divfre_count_4b <= divfre_count_4b + 1'b1;
               divfre13_clk <= 1'b0;
            end
      end
end

always @(posedge clk or negedge reset)
begin
   if(!reset)
      fir_in_reg <= 12'b0000_0000_0000;
   else
      if(divfre13_clk)
         fir_in_reg <= fir_in;
end


always @(posedge clk or negedge reset)
begin
   if(!reset)
      for(i=0; i<=FIR_TAP-1; i=i+1)
         shift_buf[i] <= 13'b0000_0000_00000;
   else
      if(divfre13_clk)
      begin
         for(j=0; j<FIR_TAP-1; j=j+1)
            shift_buf[j+1] <= shift_buf[j];
         shift_buf[0] <= {fir_in_reg[IDATA_WIDTH-1],fir_in_reg};    //符號位擴展
      end
end

always @(posedge clk or negedge reset)
begin
   if(!reset)
      for(k=0; k<=FIR_TAPHALF-1; k=k+1)
         add_buf[k] <= 13'b0000_0000_00000;
   else
      if(divfre13_clk)
         for(l=0; l<=FIR_TAPHALF-1; l=l+1)
            add_buf[l] <= shift_buf[l]+shift_buf[FIR_TAP-1-l];
end

//有限狀態機的初始化,比特移位
always @(posedge clk or negedge reset)
begin
   if(!reset)
      begin
         for(m=0; m<=FIR_TAPHALF-1; m=m+1)
            state_shift_buf[m] <= 13'b0000_0000_00000;
         STATE <= S0;
      end
   else
      case(STATE)
         S0:begin
               for(n=0; n<=FIR_TAPHALF-1; n=n+1)
                  state_shift_buf[n] <= add_buf[n];
               STATE <= S1;
            end
         S1:begin
               if(divfre_count_4b==4'b1101)
                  STATE <= S0;
               else
                  begin
                     for(p=0; p<=PDATA_WIDTH-2; p=p+1)
                        begin
                           state_shift_buf[0][p] <= state_shift_buf[0][p+1];
                           state_shift_buf[1][p] <= state_shift_buf[1][p+1];
                           state_shift_buf[2][p] <= state_shift_buf[2][p+1];
                           state_shift_buf[3][p] <= state_shift_buf[3][p+1];
                        end
                  STATE <= S1;     
                  end
               end
      endcase
end

assign table_4b[0] = state_shift_buf[0][0];
assign table_4b[1] = state_shift_buf[1][0];
assign table_4b[2] = state_shift_buf[2][0];
assign table_4b[3] = state_shift_buf[3][0];

DA_table U_DA(
              .table_in_4b(table_4b),
              .table_out_12b(table_out_12b)
             );

wire [26:0] sign_ex={table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b[11],table_out_12b};

always @(posedge clk or negedge reset)
begin
   if(!reset)
      sum <= 27'b0;
   else
      if(divfre_count_4b==4'b0000)
         sum <= 27'b0;
      else
         if(divfre_count_4b==4'b1101)
            sum <= sum - delta(sign_ex, divfre_count_4b-4'b0001);
         else
            sum <= sum + delta(sign_ex, divfre_count_4b-4'b0001);
end

always @(posedge clk or negedge reset)
begin
   if(!reset)
      fir_out <= 27'b0;
   else
      if(divfre_count_4b==4'b0000)
         fir_out <= sum;
end

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女www爽爽爽| 蜜桃传媒麻豆第一区在线观看| 天天操天天色综合| 日韩码欧中文字| 日韩主播视频在线| 不卡av在线免费观看| 国产91精品一区二区| 欧美日韩一卡二卡三卡 | 国产+成+人+亚洲欧洲自线| 99热99精品| 日韩欧美www| 亚洲精品欧美二区三区中文字幕| 国产v日产∨综合v精品视频| 精品国产免费人成电影在线观看四季| 亚洲国产cao| 欧美日韩综合不卡| 一区二区三区欧美在线观看| 成人小视频免费在线观看| 久久九九久久九九| 国产麻豆午夜三级精品| 欧美一区二区三区思思人| 一区二区在线免费观看| 成人a级免费电影| 日韩三级在线免费观看| 亚洲福利国产精品| 91国在线观看| 欧美国产国产综合| 韩国视频一区二区| 欧美夫妻性生活| 亚洲欧美日韩国产中文在线| 成人精品一区二区三区中文字幕| 国产色综合一区| 成人精品视频.| 中文字幕在线一区免费| 不卡视频在线看| 亚洲欧洲国产日本综合| 91久久一区二区| 丝袜美腿高跟呻吟高潮一区| 日韩视频不卡中文| 国产一区二区三区av电影| 国产精品乱子久久久久| 欧美在线观看视频在线| 三级欧美韩日大片在线看| 日韩久久久久久| 国产乱国产乱300精品| 亚洲国产成人午夜在线一区| 99久久久久久| 亚洲va欧美va国产va天堂影院| 欧美一区二区性放荡片| 国产一区二区成人久久免费影院| 国产欧美日韩在线| 91久久线看在观草草青青| 日韩和欧美的一区| 国产亲近乱来精品视频| 在线观看精品一区| 久久成人羞羞网站| 亚洲人吸女人奶水| 精品精品国产高清一毛片一天堂| 国产99久久久国产精品| 亚洲电影第三页| 久久天堂av综合合色蜜桃网| 一本色道久久综合亚洲aⅴ蜜桃| 日韩精品一区第一页| 国产日韩欧美综合一区| 欧美日韩国产精品成人| 成人午夜免费av| 五月开心婷婷久久| 日本一区二区三区国色天香 | 欧美一级欧美三级| 国产成人av电影在线| 亚洲国产成人av好男人在线观看| 久久这里只精品最新地址| 色婷婷久久久综合中文字幕| 紧缚奴在线一区二区三区| 一区二区激情小说| 日本一区二区免费在线| 日韩亚洲欧美一区二区三区| av高清久久久| 国产精品主播直播| 免费看日韩a级影片| 亚洲一区二区三区四区在线| 国产欧美综合在线观看第十页| 欧美视频精品在线| 一本到不卡免费一区二区| 五月开心婷婷久久| 一区二区三区电影在线播| 国产欧美日韩综合精品一区二区 | 在线一区二区观看| 福利视频网站一区二区三区| 久久精品理论片| 亚洲第一二三四区| 亚洲精品欧美激情| 亚洲婷婷综合久久一本伊一区 | 国产精品一二三四| 久久精品国产亚洲高清剧情介绍 | av在线一区二区三区| 国内精品久久久久影院一蜜桃| 五月天亚洲精品| 亚洲18色成人| 亚洲第一狼人社区| 天天综合网 天天综合色| 亚洲三级在线观看| 亚洲欧美二区三区| 亚洲欧美另类小说| 亚洲免费在线视频| 亚洲美女屁股眼交3| 亚洲精品中文字幕乱码三区| 专区另类欧美日韩| 亚洲人精品一区| 一区二区三区免费观看| 亚洲最新视频在线播放| 亚洲美女免费视频| 亚洲一区二区黄色| 午夜精品福利一区二区蜜股av| 亚洲国产综合色| 丝袜美腿亚洲色图| 看电视剧不卡顿的网站| 激情国产一区二区| 国产福利一区二区三区视频| 国产最新精品精品你懂的| 国产成人自拍高清视频在线免费播放| 国产剧情在线观看一区二区| 国产成人在线看| heyzo一本久久综合| 在线一区二区视频| 欧美在线观看视频一区二区| 欧美日韩一区视频| 日韩一区二区三区在线观看| 日韩三级伦理片妻子的秘密按摩| 精品欧美一区二区久久| 精品久久久网站| 亚洲国产精品黑人久久久| 亚洲免费资源在线播放| 欧美aaa在线| 成人免费福利片| 欧美日韩高清一区二区三区| 精品国产91乱码一区二区三区 | 久久综合九色欧美综合狠狠| 久久精品欧美一区二区三区不卡| 久久免费精品国产久精品久久久久| 国产丝袜美腿一区二区三区| 亚洲毛片av在线| 麻豆精品一区二区综合av| 不卡的av网站| 日韩一区二区三区在线观看 | 99久久精品国产一区二区三区| 欧美色窝79yyyycom| 久久麻豆一区二区| 亚洲精品国产高清久久伦理二区| 日本大胆欧美人术艺术动态| 福利电影一区二区| 制服丝袜日韩国产| 国产精品萝li| 久久99久久精品欧美| 成人毛片老司机大片| 91精品国产91热久久久做人人 | 蜜桃视频免费观看一区| 成人性视频免费网站| 91精品免费在线观看| 国产精品剧情在线亚洲| 蜜臀久久99精品久久久久宅男 | 2020日本不卡一区二区视频| 亚洲另类在线一区| 国产成人精品一区二 | 欧美日韩一区高清| 中文字幕乱码亚洲精品一区| 蜜臀久久99精品久久久久久9 | 91浏览器在线视频| 久久新电视剧免费观看| 亚洲成av人影院在线观看网| 国产999精品久久| 7777精品伊人久久久大香线蕉完整版| 国产日韩欧美高清| 久久精品国产**网站演员| 欧美亚洲一区二区在线| 亚洲天堂免费看| 国产九色精品成人porny| 日韩一区二区精品葵司在线| 亚洲一区在线观看免费观看电影高清 | 亚洲蜜桃精久久久久久久| 粉嫩蜜臀av国产精品网站| 久久先锋影音av| 久久不见久久见免费视频1| 91精品国产综合久久精品性色| 亚洲色图制服丝袜| 成人自拍视频在线| 久久精品这里都是精品| 久久99精品久久久久婷婷| 91精品免费观看| 视频一区二区三区中文字幕| 欧美日韩国产不卡| 亚洲高清免费视频| 欧美人与z0zoxxxx视频| 亚洲成人免费看| 欧美精品黑人性xxxx| 男人操女人的视频在线观看欧美| 欧美一区二区三区在线视频| 日韩黄色免费网站| 精品久久人人做人人爽| 国产一区二区三区综合|