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

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

?? filter_ws.v

?? 新型串并架構的高速FIR濾波器,對研究VHDL實現FIR的朋友有用處
?? V
字號:
module Filter_ws                (                clk,                D_Com,                reset,                filter_in,                filter_out,				output_register//仿真用,仿真驗證完畢后刪除                );input   	clk; input  		D_Com; input  		reset; input[D_in_width-1:0] 	filter_in; output[D_out_width-1:0] filter_out;output[D_in_width+coeff_size+12:0]	output_register; parameter	D_in_width = 12;parameter 	D_out_width = 16;parameter 	ptr_ADD = 3;parameter 	ptr_MAC = 2;parameter 	pipeline_longer = 64;parameter	M_Block_size = 4;parameter	Work_way_num = 8; parameter	coeff_size = 16;parameter 	coeff1  = -89;parameter 	coeff2  = -562;parameter 	coeff3  = -1174;parameter 	coeff4  = -1486;parameter 	coeff5  = -1034;parameter 	coeff6  = -38;parameter 	coeff7  = 674;parameter 	coeff8  = 493;parameter 	coeff9  = -235;parameter 	coeff10 = -572; parameter 	coeff11 = -118;parameter 	coeff12 = 481;parameter 	coeff13 = 389;parameter 	coeff14 = -275;parameter 	coeff15 = -565;parameter 	coeff16 = -22;parameter 	coeff17 = 608;parameter 	coeff18 = 374;parameter 	coeff19 = -473;parameter 	coeff20 = -704;parameter 	coeff21 = 140; parameter 	coeff22 = 919; parameter 	coeff23 = 382; parameter 	coeff24 = -899; parameter 	coeff25 = -1032; parameter 	coeff26 = 520; parameter 	coeff27 = 1716; parameter 	coeff28 = 393; parameter 	coeff29 = -2319; parameter 	coeff30 = -2346; parameter 	coeff31 = 2732; parameter 	coeff32 = 10033;parameter 	coeff33 = 13505; parameter	state_size = 4;parameter	S_0 = 4'b0001;parameter	S_1 = 4'b0010;parameter	S_2 = 4'b0100;parameter	S_3 = 4'b1000;reg[D_in_width:0]	D_in_save;reg[D_in_width:0] 	delay_pipeline [pipeline_longer-1:0];reg[D_in_width:0]	M41[M_Block_size-1:0];reg[D_in_width:0]	M42[M_Block_size-1:0];reg[D_in_width:0]	M43[M_Block_size-1:0];reg[D_in_width:0]	M44[M_Block_size-1:0];reg[D_in_width:0]	M45[M_Block_size-1:0];reg[D_in_width:0]	M46[M_Block_size-1:0];reg[D_in_width:0]	M47[M_Block_size-1:0];reg[D_in_width:0]	M48[M_Block_size-1:0];reg[ptr_MAC-1:0] 	MAC_ptr;reg[coeff_size-1:0]	C41;reg[coeff_size-1:0]	C42;reg[coeff_size-1:0]	C43;reg[coeff_size-1:0]	C44;reg[coeff_size-1:0]	C45;reg[coeff_size-1:0]	C46;reg[coeff_size-1:0]	C47;reg[coeff_size-1:0]	C48;reg[coeff_size-1:0] C33;reg[D_in_width+coeff_size+4:0]	ADD_er[Work_way_num-1:0];reg[ptr_ADD-1:0]	ADD_ptr;reg[D_in_width+coeff_size+12:0]	output_register;reg[state_size-1:0]	next_state,					state;reg 				store,					clear,					MAC,					ADD;wire				MAC_Ok;wire				ADD_Ok;wire[D_in_width+coeff_size:0]	M41_W;wire[D_in_width+coeff_size:0]	M42_W;wire[D_in_width+coeff_size:0]	M43_W;wire[D_in_width+coeff_size:0]	M44_W;wire[D_in_width+coeff_size:0]	M45_W;wire[D_in_width+coeff_size:0]	M46_W;wire[D_in_width+coeff_size:0]	M47_W;wire[D_in_width+coeff_size:0]	M48_W;wire[D_in_width+coeff_size:0]	output_register_W;integer 			i,j,k,m;	assign filter_out = output_register[D_in_width+coeff_size+12:D_in_width+coeff_size-3];always @(posedge clk)begin	if(reset == 1'b1)		D_in_save <= 0;	else begin		if (store == 1'b1)				D_in_save <= {filter_in[D_in_width-1],filter_in};//對輸入的采樣數據進行處理,		//對負數使之為補碼形式,這里假設進入的數據已經為補碼形式,所以只進行符號擴展處理								endendalways @(posedge clk)begin: Delay_Pipeline_process	if (reset == 1'b1)		for(i=0;i<64;i=i+1)        	delay_pipeline[i] <= 0;    else begin        if (store == 1'b1) begin						delay_pipeline[0] <= D_in_save;			//for(k=0;k<pipeline_longer;k=k+1)			//	delay_pipeline[k+1] <= delay_pipeline[k];			delay_pipeline[1]  <= delay_pipeline[0];          	delay_pipeline[2]  <= delay_pipeline[1];          	delay_pipeline[3]  <= delay_pipeline[2];          	delay_pipeline[4]  <= delay_pipeline[3];          	delay_pipeline[5]  <= delay_pipeline[4];          	delay_pipeline[6]  <= delay_pipeline[5];          	delay_pipeline[7]  <= delay_pipeline[6];          	delay_pipeline[8]  <= delay_pipeline[7];          	delay_pipeline[9]  <= delay_pipeline[8];          	delay_pipeline[10] <= delay_pipeline[9];          	delay_pipeline[11] <= delay_pipeline[10];          	delay_pipeline[12] <= delay_pipeline[11];          	delay_pipeline[13] <= delay_pipeline[12];          	delay_pipeline[14] <= delay_pipeline[13];          	delay_pipeline[15] <= delay_pipeline[14];          	delay_pipeline[16] <= delay_pipeline[15];          	delay_pipeline[17] <= delay_pipeline[16];          	delay_pipeline[18] <= delay_pipeline[17];          	delay_pipeline[19] <= delay_pipeline[18];          	delay_pipeline[20] <= delay_pipeline[19];          	delay_pipeline[21] <= delay_pipeline[20];          	delay_pipeline[22] <= delay_pipeline[21];          	delay_pipeline[23] <= delay_pipeline[22];          	delay_pipeline[24] <= delay_pipeline[23];          	delay_pipeline[25] <= delay_pipeline[24];          	delay_pipeline[26] <= delay_pipeline[25];          	delay_pipeline[27] <= delay_pipeline[26];          	delay_pipeline[28] <= delay_pipeline[27];          	delay_pipeline[29] <= delay_pipeline[28];          	delay_pipeline[30] <= delay_pipeline[29];          	delay_pipeline[31] <= delay_pipeline[30];          	delay_pipeline[32] <= delay_pipeline[31];          	delay_pipeline[33] <= delay_pipeline[32];          	delay_pipeline[34] <= delay_pipeline[33];          	delay_pipeline[35] <= delay_pipeline[34];          	delay_pipeline[36] <= delay_pipeline[35];          	delay_pipeline[37] <= delay_pipeline[36];          	delay_pipeline[38] <= delay_pipeline[37];          	delay_pipeline[39] <= delay_pipeline[38];          	delay_pipeline[40] <= delay_pipeline[39];          	delay_pipeline[41] <= delay_pipeline[40];          	delay_pipeline[42] <= delay_pipeline[41];          	delay_pipeline[43] <= delay_pipeline[42];          	delay_pipeline[44] <= delay_pipeline[43];          	delay_pipeline[45] <= delay_pipeline[44];          	delay_pipeline[46] <= delay_pipeline[45];          	delay_pipeline[47] <= delay_pipeline[46];          	delay_pipeline[48] <= delay_pipeline[47];          	delay_pipeline[49] <= delay_pipeline[48];          	delay_pipeline[50] <= delay_pipeline[49];          	delay_pipeline[51] <= delay_pipeline[50];          	delay_pipeline[52] <= delay_pipeline[51];          	delay_pipeline[53] <= delay_pipeline[52];          	delay_pipeline[54] <= delay_pipeline[53];          	delay_pipeline[55] <= delay_pipeline[54];          	delay_pipeline[56] <= delay_pipeline[55];          	delay_pipeline[57] <= delay_pipeline[56];          	delay_pipeline[58] <= delay_pipeline[57];          	delay_pipeline[59] <= delay_pipeline[58];          	delay_pipeline[60] <= delay_pipeline[59];          	delay_pipeline[61] <= delay_pipeline[60];          	delay_pipeline[62] <= delay_pipeline[61];          	delay_pipeline[63] <= delay_pipeline[62];		end    endend always @(posedge clk)begin:Once_Add_process	if (reset == 1'b1) begin		for(j=0;j<=3;j=j+1)begin        	M41[j] <= 0;			M42[j] <= 0;			M43[j] <= 0;			M44[j] <= 0;			M45[j] <= 0;			M46[j] <= 0;			M47[j] <= 0;			M48[j] <= 0;		end    end    else begin        if (store == 1'b1) begin			M41[0] <= D_in_save          + delay_pipeline[63];			M41[1] <= delay_pipeline[0]  + delay_pipeline[62];			M41[2] <= delay_pipeline[1]  + delay_pipeline[61];			M41[3] <= delay_pipeline[2]  + delay_pipeline[60];			M42[0] <= delay_pipeline[3]  + delay_pipeline[59];			M42[1] <= delay_pipeline[4]  + delay_pipeline[58];			M42[2] <= delay_pipeline[5]  + delay_pipeline[57];			M42[3] <= delay_pipeline[6]  + delay_pipeline[56];			M43[0] <= delay_pipeline[7]  + delay_pipeline[55];			M43[1] <= delay_pipeline[8]  + delay_pipeline[54];			M43[2] <= delay_pipeline[9]  + delay_pipeline[53];			M43[3] <= delay_pipeline[10] + delay_pipeline[52];			M44[0] <= delay_pipeline[11] + delay_pipeline[51];			M44[1] <= delay_pipeline[12] + delay_pipeline[50];			M44[2] <= delay_pipeline[13] + delay_pipeline[49];			M44[3] <= delay_pipeline[14] + delay_pipeline[48];			M45[0] <= delay_pipeline[15] + delay_pipeline[47];			M45[1] <= delay_pipeline[16] + delay_pipeline[46];			M45[2] <= delay_pipeline[17] + delay_pipeline[45];			M45[3] <= delay_pipeline[18] + delay_pipeline[44];			M46[0] <= delay_pipeline[19] + delay_pipeline[43];			M46[1] <= delay_pipeline[20] + delay_pipeline[42];			M46[2] <= delay_pipeline[21] + delay_pipeline[41];			M46[3] <= delay_pipeline[22] + delay_pipeline[40];			M47[0] <= delay_pipeline[23] + delay_pipeline[39];			M47[1] <= delay_pipeline[24] + delay_pipeline[38];			M47[2] <= delay_pipeline[25] + delay_pipeline[37];			M47[3] <= delay_pipeline[26] + delay_pipeline[36];			M48[0] <= delay_pipeline[27] + delay_pipeline[35];			M48[1] <= delay_pipeline[28] + delay_pipeline[34];			M48[2] <= delay_pipeline[29] + delay_pipeline[33];			M48[3] <= delay_pipeline[30] + delay_pipeline[32];		end	endendalways @(posedge clk)begin	if(reset == 1'b1)		state<=S_0;	else		state<=next_state;endalways @(state or D_Com or MAC_Ok or ADD_Ok)begin	store=0;	clear=0;	MAC=0;	ADD=0;	next_state=state;	case(state)		S_0:begin			clear=1;			next_state=S_1;			end		S_1:if(D_Com)begin				store=1;				next_state=S_2;			end		S_2:if(MAC_Ok)begin				MAC=1;				next_state=S_3;			end			else 				MAC=1;		S_3:if(ADD_Ok)begin				ADD=1;				next_state=S_0;			end			else				ADD=1;		default:next_state=S_0;	endcaseendmult_ws M_1(		.dataa(M41[MAC_ptr]),		.datab(C41),		.result(M41_W)		);		mult_ws M_2(		.dataa(M42[MAC_ptr]),		.datab(C42),		.result(M42_W)		);mult_ws M_3(		.dataa(M43[MAC_ptr]),		.datab(C43),		.result(M43_W)		);mult_ws M_4(		.dataa(M44[MAC_ptr]),		.datab(C44),		.result(M44_W)		);mult_ws M_5(		.dataa(M45[MAC_ptr]),		.datab(C45),		.result(M45_W)		);mult_ws M_6(		.dataa(M46[MAC_ptr]),		.datab(C46),		.result(M46_W)		);		mult_ws M_7(		.dataa(M47[MAC_ptr]),		.datab(C47),		.result(M47_W)		);mult_ws M_8(		.dataa(M48[MAC_ptr]),		.datab(C48),		.result(M48_W)		);assign	MAC_Ok = (MAC_ptr == (M_Block_size-1))?1'b1:1'b0;assign  ADD_Ok = (ADD_ptr == (Work_way_num-1))?1'b1:1'b0;always @(posedge clk)begin:MAC_process	if(clear == 1'b1)begin		for(m=0;m<Work_way_num;m=m+1)			ADD_er[m] <= 0;		MAC_ptr <= 0;	end	else begin		if(MAC == 1'b1)begin			ADD_er[0] <= ADD_er[0] + {{4{M41_W[D_in_width+coeff_size]}},M41_W};			ADD_er[1] <= ADD_er[1] + {{4{M42_W[D_in_width+coeff_size]}},M42_W};			ADD_er[2] <= ADD_er[2] + {{4{M43_W[D_in_width+coeff_size]}},M43_W};			ADD_er[3] <= ADD_er[3] + {{4{M44_W[D_in_width+coeff_size]}},M44_W};			ADD_er[4] <= ADD_er[4] + {{4{M45_W[D_in_width+coeff_size]}},M45_W};			ADD_er[5] <= ADD_er[5] + {{4{M46_W[D_in_width+coeff_size]}},M46_W};			ADD_er[6] <= ADD_er[6] + {{4{M47_W[D_in_width+coeff_size]}},M47_W};			ADD_er[7] <= ADD_er[7] + {{4{M48_W[D_in_width+coeff_size]}},M48_W};			MAC_ptr <= MAC_ptr+1;		end	endendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C41 = coeff1;		2'b01:C41 = coeff2;		2'b10:C41 = coeff3;		2'b11:C41 = coeff4;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C42 = coeff5;		2'b01:C42 = coeff6;		2'b10:C42 = coeff7;		2'b11:C42 = coeff8;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C43 = coeff9;		2'b01:C43 = coeff10;		2'b10:C43 = coeff11;		2'b11:C43 = coeff12;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C44 = coeff13;		2'b01:C44 = coeff14;		2'b10:C44 = coeff15;		2'b11:C44 = coeff16;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C45 = coeff17;		2'b01:C45 = coeff18;		2'b10:C45 = coeff19;		2'b11:C45 = coeff20;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C46 = coeff21;		2'b01:C46 = coeff22;		2'b10:C46 = coeff23;		2'b11:C46 = coeff24;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C47 = coeff25;		2'b01:C47 = coeff26;		2'b10:C47 = coeff27;		2'b11:C47 = coeff28;	endcaseendalways @(MAC_ptr)begin	case(MAC_ptr)		2'b00:C48 = coeff29;		2'b01:C48 = coeff30;		2'b10:C48 = coeff31;		2'b11:C48 = coeff32;	endcaseendalways 	C33 = coeff33;mult_ws M_9(		.dataa(delay_pipeline[31]),		.datab(C33),		.result(output_register_W)		);always @(posedge clk)begin:ADD_process	if(store == 1'b1)begin		output_register <= {{8{output_register_W[D_in_width+coeff_size]}},output_register_W};		ADD_ptr <= 0;	end	else begin		if(ADD == 1'b1)begin			output_register <= output_register + ADD_er[ADD_ptr];			ADD_ptr <= ADD_ptr+1;		end	endendendmodule  // filtermodule mult_ws (	dataa,	datab,	result);	input	[12:0]  dataa;	input	[15:0]  datab;	output	[28:0]  result;	wire [28:0] sub_wire0;	wire [28:0] result = sub_wire0[28:0];	lpm_mult	lpm_mult_component (				.dataa (dataa),				.datab (datab),				.result (sub_wire0),				.aclr (1'b0),				.clken (1'b1),				.clock (1'b0),				.sum (1'b0));	defparam		lpm_mult_component.lpm_widtha = 13,		lpm_mult_component.lpm_widthb = 16,		lpm_mult_component.lpm_widthp = 29,		lpm_mult_component.lpm_widths = 1,		lpm_mult_component.lpm_type = "LPM_MULT",		lpm_mult_component.lpm_representation = "SIGNED",		lpm_mult_component.lpm_hint = "MAXIMIZE_SPEED=5";		endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色综合播放一区二区| 在线亚洲免费视频| 麻豆成人av在线| 欧美电视剧免费观看| 久久精品国产久精国产爱| 欧美α欧美αv大片| 国产黄色精品网站| 亚洲欧美在线观看| 欧美探花视频资源| 久久国内精品视频| 国产精品久久三| 欧美性色aⅴ视频一区日韩精品| 日韩在线卡一卡二| 久久久久久久久97黄色工厂| 91浏览器打开| 舔着乳尖日韩一区| 欧美国产丝袜视频| 欧美亚洲尤物久久| 久久草av在线| 自拍偷拍国产亚洲| 日韩欧美的一区| 成人av网站免费观看| 三级久久三级久久久| 久久久九九九九| 欧美无乱码久久久免费午夜一区 | 91精品午夜视频| 国产精品亚洲一区二区三区妖精| 亚洲免费观看在线观看| 日韩免费观看高清完整版在线观看| 国产成人免费视频精品含羞草妖精| 亚洲欧美电影一区二区| 欧美成人国产一区二区| 91麻豆精品视频| 日韩电影免费在线观看网站| 国产精品热久久久久夜色精品三区 | 精品国产伦一区二区三区免费| 国产激情91久久精品导航 | 成人涩涩免费视频| 天天影视色香欲综合网老头| 中文字幕av在线一区二区三区| 欧美久久久久久久久中文字幕| 高清国产一区二区| 日产精品久久久久久久性色| 亚洲欧美日韩久久| 国产欧美va欧美不卡在线| 欧美日本一道本| 在线中文字幕不卡| 久久久久亚洲综合| 欧美人xxxx| 99视频在线观看一区三区| 黄一区二区三区| 日韩成人av影视| 亚洲一线二线三线久久久| 国产精品毛片大码女人 | 国产精品久线观看视频| 久久久久高清精品| 精品美女在线观看| 日韩一区二区三区在线观看| 91九色最新地址| 91视频在线观看免费| 丁香六月久久综合狠狠色| 国产在线播精品第三| 麻豆国产精品777777在线| 日韩在线观看一区二区| 亚洲不卡一区二区三区| 亚洲中国最大av网站| 一区二区三区在线影院| 亚洲日本电影在线| 综合久久一区二区三区| 1000部国产精品成人观看| 国产精品天天摸av网| 欧美—级在线免费片| 欧美国产日韩a欧美在线观看| 精品国产sm最大网站免费看| 欧美白人最猛性xxxxx69交| 日韩欧美aaaaaa| 久久新电视剧免费观看| 欧美va日韩va| 国产欧美日韩精品在线| 国产亚洲精品7777| 国产精品久久影院| 一区二区三区不卡在线观看| 亚洲一二三区在线观看| 日本亚洲三级在线| 寂寞少妇一区二区三区| 丁香婷婷综合网| 久久精品免视看| 国产精品区一区二区三| 亚洲日本丝袜连裤袜办公室| 夜色激情一区二区| 日韩专区一卡二卡| 国模娜娜一区二区三区| 国产精品69毛片高清亚洲| 成人永久免费视频| 91久久久免费一区二区| 欧洲精品在线观看| 欧美一区二区三区系列电影| 欧美电视剧在线看免费| 国产清纯在线一区二区www| 中文字幕亚洲在| 首页欧美精品中文字幕| 精彩视频一区二区| 91一区二区在线| 日韩天堂在线观看| 欧美国产激情二区三区| 亚洲与欧洲av电影| 日本在线播放一区二区三区| 国产一区二区日韩精品| 一本色道久久综合亚洲aⅴ蜜桃 | 在线成人av网站| 精品国产电影一区二区| 亚洲天堂成人在线观看| 青青草精品视频| 91在线云播放| 欧美成人综合网站| 亚洲黄一区二区三区| 蜜臀va亚洲va欧美va天堂| 97久久超碰国产精品| 欧美成人性福生活免费看| 亚洲毛片av在线| 国产精品一区二区果冻传媒| 欧美丝袜丝nylons| 国产农村妇女毛片精品久久麻豆 | 91麻豆123| 亚洲3atv精品一区二区三区| 国产精品原创巨作av| 欧美色图天堂网| 国产亚洲短视频| 免费看日韩精品| 日本久久一区二区| 久久精品一区蜜桃臀影院| 午夜精品福利一区二区蜜股av| 成人黄页在线观看| 欧美大片在线观看一区二区| 亚洲一区二区三区在线看| 不卡av在线免费观看| 欧美va日韩va| 青青草原综合久久大伊人精品优势| 99re这里只有精品6| 国产日韩成人精品| 精品亚洲porn| 日韩三级精品电影久久久| 亚洲在线免费播放| 91麻豆成人久久精品二区三区| 亚洲国产精品v| 国产一区在线观看视频| 欧美tickling网站挠脚心| 五月激情综合色| 欧美日本不卡视频| 亚洲综合免费观看高清完整版| 99久久精品久久久久久清纯| 国产区在线观看成人精品| 激情久久五月天| 欧美精品一区二区高清在线观看| 婷婷综合五月天| 欧美一区二区视频在线观看| 午夜久久久久久电影| 911国产精品| 日本aⅴ精品一区二区三区| 欧美日韩一区二区电影| 亚洲午夜精品在线| 欧美视频一区二区三区| 亚洲va欧美va天堂v国产综合| 色av一区二区| 亚洲国产中文字幕| 91麻豆精品国产91久久久久久| 亚洲尤物视频在线| 欧美日韩精品福利| 丝袜亚洲另类欧美| 欧美一区二区三区在线视频| 麻豆精品视频在线| 精品国产1区2区3区| 国产精品一区免费视频| 欧美国产一区在线| www.色精品| 亚洲综合男人的天堂| 欧美精品少妇一区二区三区 | 久久99精品国产麻豆婷婷洗澡| 日韩一级欧美一级| 国产制服丝袜一区| 国产精品久久久爽爽爽麻豆色哟哟 | jizzjizzjizz欧美| 亚洲少妇30p| 中文字幕在线不卡一区二区三区| 欧美激情综合网| 亚洲第一搞黄网站| 欧美一区二区观看视频| 久久精品国产99久久6| 欧美高清在线精品一区| 色婷婷一区二区三区四区| 欧美xxxx在线观看| 国产精品福利一区| 99精品黄色片免费大全| 国产人久久人人人人爽| 99久久久精品免费观看国产蜜| 51精品国自产在线| 麻豆精品在线视频| 中文字幕中文字幕一区| 欧美性生交片4| 精品一区二区免费看|