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

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

?? fft_cordic.v

?? 用verilog寫的CORDIC算法實現(xiàn)
?? V
字號:
//****************************************************//
//Author:   |Wei.Shen
//Edit:     |edit the CORDIC arithmetic
//Edit Date:|2005.04.26
//Update: 	|
//Edit Date:| 
//Descript: |this module used to caculate the circle transform
//          |based the CORDIC theoy.
//****************************************************//
module FFT_CORDIC
(
	RealIn,
	ImagIn,
	Angle,
	clk,
	RealOut,
	ImagOut
);

//==================================================
//				Input/Output Ports
//==================================================
input signed [INWIDTH-1:0]RealIn,ImagIn;
input signed [ANGLEWIDTH-1:0]Angle;
input clk;
output signed [OUTWIDTH-1:0]RealOut,ImagOut;

//==================================================
//				Parameter Declaration
//==================================================
parameter INWIDTH = 18,  //input data width
		  OUTWIDTH = 18, //output data width
		  MIDWIDTH = 20, //the temporary data width
		  ANGLEWIDTH =14;//the angle width

//positive actan() data ,use for add operation
parameter ARCTANG_0  = 13'b100_01100_10100,	//45     expand with 100 times is +4500
		  ARCTANG_1  = 12'b10_10011_00001,	//26.57  expand with 100 times is +2657
		  ARCTANG_2  = 11'b1_01011_11100,	//14.04  expand with 100 times is +1404
		  ARCTANG_3  = 10'b10110_01001,	//7.13   expand with 100 times is +713
		  ARCTANG_4  = 9'b1011_00110,	//3.58   expand with 100 times is +358
		  ARCTANG_5  = 8'b101_10011,	//1.79   expand with 100 times is +179
          ARCTANG_6  = 7'b10_11010,	//0.90   expand with 100 times is +90
          ARCTANG_7  = 6'b1_01101,	//0.45   expand with 100 times is +45
          ARCTANG_8  = 5'b10110,	//0.22   expand with 100 times is +22
          ARCTANG_9  = 4'b1011,//0.11   expand with 100 times is +11
          ARCTANG_10 = 3'b110,//0.06   expand with 100 times is +6
          ARCTANG_11 = 2'b11,//0.03   expand with 100 times is +3
          ARCTANG_12 = 1'b1;//0.01   expand with 100 times is +1

//==================================================
//				Register Declaration
//==================================================
reg signed [MIDWIDTH-1:0]xData1,xData2,xData3,xData4,xData5,xData6,
                         xData7,xData8,xData9,xData10,xData11,xData12,
			    		 xData13,xData14,xData15,xData16,xData17,
				         yData1,yData2,yData3,yData4,yData5,yData6,
				         yData7,yData8,yData9,yData10,yData11,yData12,
			    		 yData13,yData14,yData15,yData16,yData17;
reg signed [ANGLEWIDTH-1:0]angle1,angle2,angle3,angle4,angle5,angle6,
					       angle7,angle8,angle9,angle10,angle11,angle12;

//==================================================
//				Wire Declaration
//==================================================
//==================================================
//				Integer Declaration
//==================================================


//==================================================
//				Concurrent Assignment
//==================================================
//divide with 2 and shorten 2bits
assign RealOut = {xData17[MIDWIDTH-1],xData17[MIDWIDTH-3:1]};
assign ImagOut = {yData17[MIDWIDTH-1],yData17[MIDWIDTH-3:1]};

//==================================================
//				Always Construct
//==================================================
always@(posedge clk)
begin
    // if z < 0 then d = -1;
    // x = x - y.d.2^-i;
    // y = y + x.d.2^-i;
    // z = z - d.arctan(2^-i);

    // i = 0
    xData1 <= Angle[ANGLEWIDTH-1]?(RealIn + ImagIn):(RealIn - ImagIn);
	yData1 <= Angle[ANGLEWIDTH-1]?(ImagIn - RealIn):(ImagIn + RealIn);
	angle1 <= Angle[ANGLEWIDTH-1]?(Angle + ARCTANG_0):(Angle - ARCTANG_0);

    // i = 1
    xData2 <= angle1[ANGLEWIDTH-1]?(xData1 + {{2{yData1[MIDWIDTH-1]}},yData1[MIDWIDTH-2:1]}):(xData1 - {{2{yData1[MIDWIDTH-1]}},yData1[MIDWIDTH-2:1]});
	yData2 <= angle1[ANGLEWIDTH-1]?(yData1 - {{2{xData1[MIDWIDTH-1]}},xData1[MIDWIDTH-2:1]}):(yData1 + {{2{xData1[MIDWIDTH-1]}},xData1[MIDWIDTH-2:1]});
	angle2 <= angle1[ANGLEWIDTH-1]?(angle1 + ARCTANG_1):(angle1 - ARCTANG_1);

    // i = 2
    xData3 <= angle2[ANGLEWIDTH-1]?(xData2 + {{3{yData2[MIDWIDTH-1]}},yData2[MIDWIDTH-2:2]}):(xData2 - {{3{yData2[MIDWIDTH-1]}},yData2[MIDWIDTH-2:2]});
	yData3 <= angle2[ANGLEWIDTH-1]?(yData2 - {{3{xData2[MIDWIDTH-1]}},xData2[MIDWIDTH-2:2]}):(yData2 + {{3{xData2[MIDWIDTH-1]}},xData2[MIDWIDTH-2:2]});
	angle3 <= angle2[ANGLEWIDTH-1]?(angle2 + ARCTANG_2):(angle2 - ARCTANG_2);

    // i = 3
    xData4 <= angle3[ANGLEWIDTH-1]?(xData3 + {{4{yData3[MIDWIDTH-1]}},yData3[MIDWIDTH-2:3]}):(xData3 - {{4{yData3[MIDWIDTH-1]}},yData3[MIDWIDTH-2:3]});
	yData4 <= angle3[ANGLEWIDTH-1]?(yData3 - {{4{xData3[MIDWIDTH-1]}},xData3[MIDWIDTH-2:3]}):(yData3 + {{4{xData3[MIDWIDTH-1]}},xData3[MIDWIDTH-2:3]});
	angle4 <= angle3[ANGLEWIDTH-1]?(angle3 + ARCTANG_3):(angle3 - ARCTANG_3);

    // i = 4
    xData5 <= angle4[ANGLEWIDTH-1]?(xData4 + {{5{yData4[MIDWIDTH-1]}},yData4[MIDWIDTH-2:4]}):(xData4 - {{5{yData4[MIDWIDTH-1]}},yData4[MIDWIDTH-2:4]});
	yData5 <= angle4[ANGLEWIDTH-1]?(yData4 - {{5{xData4[MIDWIDTH-1]}},xData4[MIDWIDTH-2:4]}):(yData4 + {{5{xData4[MIDWIDTH-1]}},xData4[MIDWIDTH-2:4]});
	angle5 <= angle4[ANGLEWIDTH-1]?(angle4 + ARCTANG_4):(angle4 - ARCTANG_4);

    // i = 5
    xData6 <= angle5[ANGLEWIDTH-1]?(xData5 + {{6{yData5[MIDWIDTH-1]}},yData5[MIDWIDTH-2:5]}):(xData5 - {{6{yData5[MIDWIDTH-1]}},yData5[MIDWIDTH-2:5]});
	yData6 <= angle5[ANGLEWIDTH-1]?(yData5 - {{6{xData5[MIDWIDTH-1]}},xData5[MIDWIDTH-2:5]}):(yData5 + {{6{xData5[MIDWIDTH-1]}},xData5[MIDWIDTH-2:5]});
	angle6 <= angle5[ANGLEWIDTH-1]?(angle5 + ARCTANG_5):(angle5 - ARCTANG_5);

    // i = 6
    xData7 <= angle6[ANGLEWIDTH-1]?(xData6 + {{7{yData6[MIDWIDTH-1]}},yData6[MIDWIDTH-2:6]}):(xData6 - {{7{yData6[MIDWIDTH-1]}},yData6[MIDWIDTH-2:6]});
	yData7 <= angle6[ANGLEWIDTH-1]?(yData6 - {{7{xData6[MIDWIDTH-1]}},xData6[MIDWIDTH-2:6]}):(yData6 + {{7{xData6[MIDWIDTH-1]}},xData6[MIDWIDTH-2:6]});
	angle7 <= angle6[ANGLEWIDTH-1]?(angle6 + ARCTANG_6):(angle6 - ARCTANG_6);

    // i = 7
    xData8 <= angle7[ANGLEWIDTH-1]?(xData7 + {{8{yData7[MIDWIDTH-1]}},yData7[MIDWIDTH-2:7]}):(xData7 - {{8{yData7[MIDWIDTH-1]}},yData7[MIDWIDTH-2:7]});
	yData8 <= angle7[ANGLEWIDTH-1]?(yData7 - {{8{xData7[MIDWIDTH-1]}},xData7[MIDWIDTH-2:7]}):(yData7 + {{8{xData7[MIDWIDTH-1]}},xData7[MIDWIDTH-2:7]});
	angle8 <= angle7[ANGLEWIDTH-1]?(angle7 + ARCTANG_7):(angle7 - ARCTANG_7);

    // i = 8
    xData9 <= angle8[ANGLEWIDTH-1]?(xData8 + {{9{yData8[MIDWIDTH-1]}},yData8[MIDWIDTH-2:8]}):(xData8 - {{9{yData8[MIDWIDTH-1]}},yData8[MIDWIDTH-2:8]});
	yData9 <= angle8[ANGLEWIDTH-1]?(yData8 - {{9{xData8[MIDWIDTH-1]}},xData8[MIDWIDTH-2:8]}):(yData8 + {{9{xData8[MIDWIDTH-1]}},xData8[MIDWIDTH-2:8]});
	angle9 <= angle8[ANGLEWIDTH-1]?(angle8 + ARCTANG_8):(angle8 - ARCTANG_8);
    
    // i = 9
    xData10 <= angle9[ANGLEWIDTH-1]?(xData9 + {{10{yData9[MIDWIDTH-1]}},yData9[MIDWIDTH-2:9]}):(xData9 - {{10{yData9[MIDWIDTH-1]}},yData9[MIDWIDTH-2:9]});
	yData10 <= angle9[ANGLEWIDTH-1]?(yData9 - {{10{xData9[MIDWIDTH-1]}},xData9[MIDWIDTH-2:9]}):(yData9 + {{10{xData9[MIDWIDTH-1]}},xData9[MIDWIDTH-2:9]});
	angle10 <= angle9[ANGLEWIDTH-1]?(angle9 + ARCTANG_9):(angle9 - ARCTANG_9);
	
	// i = 10
    xData11 <= angle10[ANGLEWIDTH-1]?(xData10 + {{11{yData10[MIDWIDTH-1]}},yData10[MIDWIDTH-2:10]}):(xData10 - {{11{yData10[MIDWIDTH-1]}},yData10[MIDWIDTH-2:10]});
	yData11 <= angle10[ANGLEWIDTH-1]?(yData10 - {{11{xData10[MIDWIDTH-1]}},xData10[MIDWIDTH-2:10]}):(yData10 + {{11{xData10[MIDWIDTH-1]}},xData10[MIDWIDTH-2:10]});
	angle11 <= angle10[ANGLEWIDTH-1]?(angle10 + ARCTANG_10):(angle10 - ARCTANG_10);

	// i = 11
    xData12 <= angle11[ANGLEWIDTH-1]?(xData11 + {{12{yData11[MIDWIDTH-1]}},yData11[MIDWIDTH-2:11]}):(xData11 - {{12{yData11[MIDWIDTH-1]}},yData11[MIDWIDTH-2:11]});
	yData12 <= angle11[ANGLEWIDTH-1]?(yData11 - {{12{xData11[MIDWIDTH-1]}},xData11[MIDWIDTH-2:11]}):(yData11 + {{12{xData11[MIDWIDTH-1]}},xData11[MIDWIDTH-2:11]});
	angle12 <= angle11[ANGLEWIDTH-1]?(angle11 + ARCTANG_11):(angle11 - ARCTANG_11);

	// i = 12
    xData13 <= angle12[ANGLEWIDTH-1]?(xData12 + {{13{yData12[MIDWIDTH-1]}},yData12[MIDWIDTH-2:12]}):(xData12 - {{13{yData12[MIDWIDTH-1]}},yData12[MIDWIDTH-2:12]});
	yData13 <= angle12[ANGLEWIDTH-1]?(yData12 - {{13{xData12[MIDWIDTH-1]}},xData12[MIDWIDTH-2:12]}):(yData12 + {{13{xData12[MIDWIDTH-1]}},xData12[MIDWIDTH-2:12]});


    //adjust the mod of amplitude 
    // i = +3
    xData14 <= (xData13 + {{4{xData13[MIDWIDTH-1]}},xData13[MIDWIDTH-2:3]});
	yData14 <= (yData13 + {{4{yData13[MIDWIDTH-1]}},yData13[MIDWIDTH-2:3]});

    // i = +4
    xData15 <= (xData14 + {{5{xData14[MIDWIDTH-1]}},xData14[MIDWIDTH-2:4]});
	yData15 <= (yData14 + {{5{yData14[MIDWIDTH-1]}},yData14[MIDWIDTH-2:4]});

    // i = +6
    xData16 <= (xData15 + {{7{xData15[MIDWIDTH-1]}},xData15[MIDWIDTH-2:6]});
	yData16 <= (yData15 + {{7{yData15[MIDWIDTH-1]}},yData15[MIDWIDTH-2:6]});

	// i = +11
    xData17 <= (xData16 + {{12{xData16[MIDWIDTH-1]}},xData16[MIDWIDTH-2:11]});
	yData17 <= (yData16 + {{12{yData16[MIDWIDTH-1]}},yData16[MIDWIDTH-2:11]});

end	

//==================================================
//				Module Instantiation
//==================================================

//==================================================
//				Task Declaration
//==================================================

//==================================================
//				Function Declaration
//==================================================

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲精品青草天美| 欧美电影免费提供在线观看| 欧美午夜精品电影| 久久精品一区蜜桃臀影院| 亚洲欧美偷拍三级| 91在线视频观看| 精品福利av导航| 亚洲国产日韩精品| 99久精品国产| 日本一二三不卡| 精品一区二区三区久久| 欧美日韩精品一区二区三区蜜桃 | 日韩电影免费在线看| 成人黄色小视频| 久久久久综合网| 久久9热精品视频| 欧美日韩国产综合久久 | 午夜国产不卡在线观看视频| 成人av电影在线网| 久久精品人人爽人人爽| 黑人巨大精品欧美黑白配亚洲| 在线一区二区三区| 亚洲欧美一区二区三区极速播放 | 日产欧产美韩系列久久99| 在线亚洲一区观看| 亚洲第一搞黄网站| 欧美自拍偷拍午夜视频| 亚洲伦理在线精品| 一本久道中文字幕精品亚洲嫩| 国产精品久久二区二区| 北岛玲一区二区三区四区| 中文字幕欧美激情| 99精品1区2区| 亚洲女性喷水在线观看一区| 91热门视频在线观看| 亚洲人妖av一区二区| av一区二区久久| 亚洲精品视频免费观看| 日本久久电影网| 亚洲精品免费在线观看| 欧美日韩日本视频| 另类欧美日韩国产在线| 精品日产卡一卡二卡麻豆| 国产一区二区0| 中日韩av电影| 99久久综合色| 亚洲国产精品一区二区www在线| 欧美色精品在线视频| 热久久免费视频| 26uuu精品一区二区三区四区在线| 久久成人18免费观看| 欧美国产精品v| 色综合久久88色综合天天6 | 美日韩一区二区三区| 欧美大肚乱孕交hd孕妇| 成人网页在线观看| 一区二区三区欧美| 欧美成人性战久久| 成人精品一区二区三区四区| 亚洲精品成人a在线观看| 在线成人高清不卡| 国产成人免费高清| 一区二区三区欧美视频| 日韩精品综合一本久道在线视频| 国产乱妇无码大片在线观看| 亚洲少妇30p| 欧美成人女星排名| 99精品视频在线观看| 日日摸夜夜添夜夜添精品视频| 久久亚洲精华国产精华液| 91香蕉视频污在线| 日韩成人免费看| 国产精品视频免费| 日韩欧美一级二级三级| 99精品视频一区二区三区| 日韩av一级片| 国产精品电影一区二区| 日韩你懂的在线观看| 本田岬高潮一区二区三区| 免费成人在线观看视频| 亚洲欧美国产77777| 精品国产91久久久久久久妲己| 色爱区综合激月婷婷| 国产精品99久久久久久久女警| 亚洲一区二区视频在线观看| 国产日韩精品一区二区三区在线| 欧美日韩国产影片| 成人av网址在线观看| 精油按摩中文字幕久久| 午夜天堂影视香蕉久久| 亚洲欧洲韩国日本视频| 国产午夜精品一区二区三区视频| 欧美日韩mp4| 91首页免费视频| 国产精品456| 免费在线视频一区| 午夜免费久久看| 亚洲精品国久久99热| 日本一区二区动态图| 久久久久久久久久久久久夜| 91精品在线观看入口| 欧美午夜精品理论片a级按摩| k8久久久一区二区三区| 福利一区二区在线观看| 久久99国产精品久久99果冻传媒| 亚洲成av人影院在线观看网| 亚洲欧美日韩国产综合| 成人欧美一区二区三区白人| 中文字幕第一区综合| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产女人水真多18毛片18精品视频| 欧美一区二区三区四区五区 | 精品日产卡一卡二卡麻豆| 欧美男女性生活在线直播观看| 色一区在线观看| 91色.com| 欧美色综合网站| 欧美日韩国产天堂| 5566中文字幕一区二区电影| 欧美日韩日日摸| 欧美福利电影网| 91精品国产综合久久久久久| 欧美精品一二三区| 日韩精品一区二区三区视频播放 | 亚洲18影院在线观看| 亚洲综合激情网| 同产精品九九九| 麻豆视频一区二区| 国产精品一二三四区| 国产露脸91国语对白| 成人美女视频在线看| 91欧美一区二区| 欧美亚洲禁片免费| 日韩你懂的在线播放| 国产欧美中文在线| 亚洲九九爱视频| 天天综合网天天综合色| 精品亚洲国产成人av制服丝袜 | 青青草成人在线观看| 国内精品伊人久久久久av一坑| 国产成人av资源| 欧美系列日韩一区| 日韩精品综合一本久道在线视频| 久久久久久久久97黄色工厂| 一色桃子久久精品亚洲| 亚洲午夜在线视频| 国产乱子伦视频一区二区三区| 99久久精品国产毛片| 欧美久久久久久蜜桃| 国产偷v国产偷v亚洲高清| 亚洲精品自拍动漫在线| 日韩av一级电影| 不卡区在线中文字幕| 91精品国产综合久久国产大片 | 日韩精品在线一区| 亚洲欧洲精品天堂一级 | 亚洲高清免费一级二级三级| 国产在线精品免费| 一本到三区不卡视频| 精品国偷自产国产一区| 一区二区三区毛片| 国产福利精品导航| 欧美肥妇free| 亚洲欧美日韩在线播放| 国产在线视频一区二区三区| 在线观看av不卡| 中文字幕国产精品一区二区| 日韩成人一级大片| 色综合天天性综合| 久久综合久久99| 亚洲第一主播视频| 91视频免费看| 国产亚洲综合av| 久久精品99国产国产精| 91福利资源站| 亚洲欧洲日韩综合一区二区| 久久综合综合久久综合| 欧美日韩国产成人在线91| 国产精品黄色在线观看| 精品制服美女久久| 6080国产精品一区二区| 一区二区日韩av| 97se狠狠狠综合亚洲狠狠| 国产亚洲福利社区一区| 欧美a级一区二区| 欧美日韩国产精品自在自线| 亚洲欧美日韩国产成人精品影院 | 日韩激情视频网站| 欧美性感一类影片在线播放| 亚洲日本在线视频观看| 99久久精品免费看国产| 中文字幕久久午夜不卡| 狠狠久久亚洲欧美| 精品国产91洋老外米糕| 久久66热偷产精品| 日韩限制级电影在线观看| 日本最新不卡在线| 欧美一区二区三区四区高清| 丝袜a∨在线一区二区三区不卡| 日本黄色一区二区|