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

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

?? dspuva16.v

?? 16bit 定點DSP。是很精練的例子
?? V
?? 第 1 頁 / 共 2 頁
字號:
	`define	OP_RET		(`OP_NOP & (IR[11:9] == 3'h1))	// RET (or IRET)
	`define	OP_COND_ASG	(`OP_ARITH & ~IR[13])		// IF (flag) rD = rT|K



	//--------------------------//
	// Instruction Register: IR //
	//--------------------------//

	reg		OldMAC;		// Registers 'one' if last instruction was a MAC one
	reg  [3:0]	OldRegD;	// Destination Registry of a MAC instruction
	reg  [3:0]	FlagSelect;	// Flag Selected by the current instruction

	always @(posedge CLK or posedge ResetFF)
	begin
		if      (ResetFF)	OldMAC <= 1'b0;
		else if (`PHASE1)	OldMAC <= `OP_MAC;

		if      (ResetFF)	OldRegD <= r0;
		else if (`PHASE1)	OldRegD <= rD;

		if      (ResetFF)	FlagSelect <= 4'b0000;
		else if (`PHASE1)	FlagSelect <= CODEdata[11:8];

		if      (ResetFF)				IR <= 16'h0000;
		else if (`PHASE1)				IR <= CODEdata;
		else if ((`PHASE2 | `PHASE3) & `OP_COND_ASG)	IR <= {OpCode, rS, rS, rT};
	end


	//---------------------//
	// Program Counter: PC //
	//---------------------//

	reg	PCinc, PCflag;	// Auxiliary

	wire [12:0]	PCmask  = (PCflag) ? {RelAddr[7],RelAddr[7],RelAddr[7],RelAddr[7], RelAddr[7:0], 1'b1} : 13'h0001;
	wire [12:0]	PCadder = {PC, PCinc} + PCmask;

	always @(posedge CLK or posedge ResetFF)
	begin
		if (ResetFF)
		begin
			PC	<= 12'h000;
			PCinc	<= 1'b0;
			PCflag	<= 1'b0;
		end
		else
		begin
			if      (`PHASE3 & `OP_GOTO)	PC <= (AbsAddr << MODEL);	// GOTO
			else if (`PHASE3 & `OP_RET)	PC <= ACC[11:0];		// RET
			else				PC <= PCadder[12:1];		// Others

			PCinc	<= (`PHASE0) | (`PHASE2 & (rT == r0) & `OP_ALUMAC);	// OpFetch or K used

			PCflag  <= `PHASE2 & `OP_JP & Flag;			// '1' if relative jump
		end
	end

	assign CODEaddr = PC[MODEL+7:0];		// The logic not used is optimized away 


	//----------------------------------------------//
	// Bank of 16 Internal 24-bit Registers: r0-r15 //
	//----------------------------------------------//

	reg  [23:0]	RegsBank[0:15];	// Register Bank Memory
	reg   [3:0]	RegAddr;	// Register Bank Address

	wire RegWE = (`PHASE0 & `OP_ALU)	// ALU operation
		   | (`PHASE0 & `OP_IN)		// INport command
		   | (`PHASE1 &  OldMAC)	// MAC operation
		   | (`PHASE3 & `OP_CALL);	// CALL command

	always @(posedge CLK or posedge ResetFF)
	begin
		if (ResetFF)	RegAddr <= r0;
		else case (State)			// synopsys parallel_case full_case
			st0:	RegAddr <= OldRegD;		// Destination for MAC
			st1:	RegAddr <= CODEdata[3:0];	// Second Operand
			st2:	RegAddr <= rS;			// First Operand
			st3:	RegAddr <= rD;			// Destination for ALU
		endcase
	end

	always @(posedge CLK)
	begin
	   if (RegWE)	RegsBank[RegAddr] <= DataBus;	// Sync Write from DataBus
	end

	assign RegOut = RegsBank[RegAddr];		// Async Read

	always @(posedge CLK or posedge ResetFF)	// Sync Register Output
	begin
		if (ResetFF)	ACC <= 24'h000000;
		else 		ACC <= RegOut;
	end


	//--------------------------------------------------//
	// Multiplier-Accumulator and Arithmetic-Logic Unit //
	//--------------------------------------------------//

	wire [23:0]	ALUmac, ALUlogic, ALUarith;	// ALU outputs

	wire [23:0]	RegS = (rS == r0) ? 24'h000000	      : RegOut;	// rS or 0
	wire [23:0]	RegT = (rT == r0) ? {CODEdata, 8'h00} : ACC;	// rT or K

	ALUuva16 ALUandMAC
	(
		.Clk		(CLK),
		.InA		(RegS),
		.InB		(RegT),
		.InC		(RegOut),
		.Phase		(State),
		.OpCode		(OpCode),
		.FlagIn		(Flag),
		.Vflag		(ALUoverflow),
		.OutMAC		(ALUmac),
		.OutLogic	(ALUlogic),
		.OutArith	(ALUarith)
	);


	//-------------------//
	// Internal Data Bus //
	//-------------------//

	assign  DataBus = (`PHASE0 & `OP_ARITH)	? ALUarith	  : 24'bz;	// Arithmetic operation
	assign  DataBus = (`PHASE0 & `OP_LOGIC)	? ALUlogic	  : 24'bz;	// Logic operation
	assign  DataBus = (`PHASE1)		? ALUmac	  : 24'bz;	// MAC operation
	assign  DataBus = (`PHASE3 | `PHASE2)	? {12'h000,PC}	  : 24'bz;	// Return Address on CALLs
	assign  DataBus = (`PHASE0 & `OP_CTRL)	? {PORTin, 8'h00} : 24'bz;	// External input through PORT
	assign  DataBus = (`PHASE0 & `OP_MAC)	? 24'hFFFFFF	  : 24'bz;	// Otherwise, pull-up


	//-------//
	// Flags //
	//-------//

	`define	EQ	3'b000
	`define	NE	3'b001
	`define	OV	3'b010
	`define	NV	3'b011
	`define	GE	3'b100
	`define	GT	3'b101
	`define	LE	3'b110
	`define	LT	3'b111

	reg	ZFF, SFF, VFF;	// Internal flags: zero, sign and overflow.

	always @(posedge CLK or posedge ResetFF)
	begin
		if (ResetFF)
			{ZFF, SFF, VFF} <= 3'b000;
		else if (`PHASE0)			// Updates flags on ALU and INPORT ops
		begin
			ZFF <= (DataBus == 24'h000000);	// One if null result
			SFF <= DataBus[23];		// One if negative result
			VFF <= ALUoverflow;		// One if overflow on add/sub
		end
	end

	always @(ZFF or SFF or VFF or FlagSelect)
	begin
		case (FlagSelect[2:0])		// synopsys parallel_case full_case
			`EQ:	Flag =  ZFF;		// equal (to zero)
			`NE:	Flag = ~ZFF;		// not equal (to zero)
			`OV:	Flag =  VFF;		// overflow
			`NV:	Flag = ~VFF;		// not overflow
			`GE:	Flag = ~SFF |  ZFF;	// greater or equal (to zero)
			`GT:	Flag = ~SFF & ~ZFF;	// greater than (zero)
			`LE:	Flag =  SFF |  ZFF;	// less or equal (to zero)
			`LT:	Flag =  SFF & ~ZFF;	// less than (zero)
		endcase
	end


	//-----------------------------------//
	// External Interface: 128 I/O ports //
	//-----------------------------------//

	reg  [6:0]	PORTaddr;		// Port Address Register
	reg		IOread, IOwrite;

	always @(posedge CLK or posedge ResetFF)
	begin
		if (ResetFF)
			PORTaddr <= 7'h00;
		else if (`PHASE2)
		begin
`ifdef LOW_POWER
		    if (`OP_IO)					// Only changes when used
`endif
			PORTaddr <= (`OUT_IN) ? {IR[6:4],IR[11:8]} : IR[6:0];	// OUT or IN operation
		end

		if (ResetFF)	IOwrite <= 1'b0;
		else		IOwrite <= `PHASE2 & `OP_OUT;	// On the last subcycle

		if (ResetFF)	IOread  <= 1'b0;
		else		IOread  <= `PHASE3 & `OP_IN;	// On the first subcycle
	end

	assign	PORTout = ACC[23:8];

	// External I/O ports must decode PORTaddr
	// to gain control on PORTin bus (else pull-up)


endmodule	// DSPuva16

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一二三| 在线观看一区不卡| 久久综合九色综合97_久久久| 亚洲一区二区在线播放相泽 | 久久久美女毛片 | 精品一区二区免费| 欧美成人三级电影在线| 国产一区欧美日韩| 国产无遮挡一区二区三区毛片日本| 国产乱一区二区| 国产视频在线观看一区二区三区| 国产成人免费高清| 中文字幕一区二区日韩精品绯色| av电影在线观看一区| 夜夜揉揉日日人人青青一国产精品 | 亚洲不卡在线观看| 91精品婷婷国产综合久久| 久久精品国产色蜜蜜麻豆| 国产欧美一区二区精品性色超碰| www.亚洲在线| 亚洲mv大片欧洲mv大片精品| 欧美va在线播放| 国产一区二区视频在线播放| 亚洲欧美乱综合| 欧美日韩久久一区| 国产一区二区三区在线观看免费视频 | 亚洲欧洲日韩女同| 欧美私模裸体表演在线观看| 免费成人小视频| 国产视频一区二区在线观看| av电影在线不卡| 日韩中文字幕亚洲一区二区va在线| 日韩一区和二区| 国产91精品久久久久久久网曝门| 亚洲资源在线观看| 久久综合精品国产一区二区三区| 99久免费精品视频在线观看| 日韩av中文在线观看| 国产精品久久精品日日| 日韩区在线观看| www.激情成人| 日韩国产欧美在线播放| 国产精品视频免费看| 欧美一区三区二区| 在线观看日韩高清av| 国产成人精品aa毛片| 日韩二区三区在线观看| 中文字幕在线不卡国产视频| 精品国产乱码久久久久久蜜臀| 色中色一区二区| 成人一区二区三区在线观看| 免费三级欧美电影| 亚洲一区二区三区四区的| 国产日产欧美精品一区二区三区| 日韩免费看的电影| 欧美自拍丝袜亚洲| 91丨porny丨国产入口| 精品中文av资源站在线观看| 午夜精品久久久久久久蜜桃app| 国产精品三级av| 精品国产露脸精彩对白| 91精品国产综合久久久蜜臀粉嫩| 99久久精品一区二区| 国产在线不卡一区| 久久99精品一区二区三区| 日韩激情一区二区| 日韩二区在线观看| 午夜精品一区二区三区三上悠亚| 亚洲精品成人在线| 综合久久一区二区三区| 国产精品久久免费看| 国产日韩欧美a| 国产亚洲成av人在线观看导航| 精品久久久久久综合日本欧美| 91麻豆精品国产91| 欧美高清你懂得| 91麻豆精品国产综合久久久久久| 欧美亚洲免费在线一区| 日本电影欧美片| 一本大道久久a久久精品综合| 99视频在线精品| av在线综合网| 91免费在线看| 在线观看中文字幕不卡| 欧美三区在线观看| 日韩欧美美女一区二区三区| 欧美精品一区二区在线播放 | 久久国产精品第一页| 日本欧洲一区二区| 看片的网站亚洲| 国产一区二区电影| 成人免费福利片| 99久久精品免费看国产免费软件| 91亚洲永久精品| 91麻豆国产精品久久| 精品视频色一区| 日韩视频在线一区二区| 久久免费视频色| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 一个色综合av| 另类综合日韩欧美亚洲| 国产成人免费9x9x人网站视频| 国产91精品一区二区| 一本色道久久综合亚洲精品按摩| 欧美日韩成人综合| 精品国产一二三区| 国产精品久久久久影院老司| 亚洲宅男天堂在线观看无病毒| 美腿丝袜亚洲三区| 99久久伊人久久99| 日韩一级二级三级| 国产精品理论在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 男男gaygay亚洲| 9i看片成人免费高清| 91精品国产色综合久久不卡电影 | 99久久婷婷国产| 7777女厕盗摄久久久| 国产亚洲精品bt天堂精选| 亚洲一区二区四区蜜桃| 国产九色sp调教91| 欧美日韩在线播放一区| 久久久亚洲高清| 一区二区激情小说| 国产成人午夜电影网| 欧美性感一区二区三区| 国产精品丝袜黑色高跟| 男女视频一区二区| 欧美三级蜜桃2在线观看| 欧美激情资源网| 久久国产剧场电影| 欧美视频一区在线| 亚洲欧洲韩国日本视频| 精品一区二区综合| 欧美日韩国产免费一区二区 | 欧美性色黄大片| 中国av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 成人av资源网站| 欧美精品一区二区不卡| 偷偷要91色婷婷| 91极品美女在线| 国产精品午夜在线观看| 免费高清在线一区| 制服视频三区第一页精品| 亚洲伦理在线精品| 暴力调教一区二区三区| 国产亚洲精久久久久久| 加勒比av一区二区| 欧美一级黄色录像| 日韩av在线播放中文字幕| 欧美在线制服丝袜| 亚洲一卡二卡三卡四卡五卡| www.视频一区| 国产欧美精品日韩区二区麻豆天美 | 2020国产精品自拍| 麻豆精品一区二区三区| 欧美美女网站色| 亚洲一二三四区不卡| 欧美三级电影网| 亚洲一区二区五区| 在线观看日韩毛片| 亚洲一区影音先锋| 欧美视频三区在线播放| 亚洲一区二区三区精品在线| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲一区av在线| 欧美在线观看视频一区二区 | 精品福利一区二区三区| 另类成人小视频在线| 日韩精品一区二区三区视频播放 | 欧美裸体bbwbbwbbw| 五月开心婷婷久久| 日韩欧美国产系列| 精品一区二区三区蜜桃| 久久精品在线观看| 成人av影院在线| 亚洲精选视频免费看| 欧美日免费三级在线| 日本美女一区二区| 国产午夜精品理论片a级大结局| 国产91丝袜在线播放| 亚洲精品久久嫩草网站秘色| 欧美久久免费观看| 美腿丝袜一区二区三区| 欧美韩国日本不卡| 日本久久电影网| 人人超碰91尤物精品国产| 国产亚洲欧美日韩在线一区| 99精品欧美一区二区蜜桃免费| 一区二区三区欧美激情| 91麻豆精品国产91久久久| 国产酒店精品激情| 樱花影视一区二区| 日韩三级视频中文字幕| 成人性视频免费网站| 亚洲成人www| 国产亚洲欧洲997久久综合| 在线视频欧美区| 精品一区二区三区在线播放视频 |