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

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

?? bitplanes.v

?? Verilog, c and asm source codes of the Minimig system, a fpga implementation of the Amiga computer.
?? V
字號:
// Copyright 2006, 2007 Dennis van Weeren//// This file is part of Minimig//// Minimig is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 3 of the License, or// (at your option) any later version.//// Minimig is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program.  If not, see <http://www.gnu.org/licenses/>.//////// This is the bitplane part of denise // It accepts data from the bus and converts it to serial video data (6 bits).// It supports all ocs modes and also handles the pf1<->pf2 priority handling in// a seperate module.//// 11-05-2005		-started coding// 15-05-2005		-first finished version// 16-05-2005		-fixed hires scrolling, now you can fetch 2 words early// 22-05-2005		-fixed bug in dual playfield mode when both playfields where transparant// 22-06-2005		-moved playfield engine / priority logic to seperate modulemodule bitplanes(clk,regaddress,datain,hires,bpldata);input 	clk;	   				//bus clockinput 	[8:1]regaddress; 		//register addressinput 	[15:0]datain;	 		//bus data ininput 	hires;		   		//high resolution mode selectoutput 	[6:1]bpldata;			//bitplane data out//register names and adresses		parameter BPLCON1=9'h102;  		parameter BPL1DAT=9'h110;parameter BPL2DAT=9'h112;parameter BPL3DAT=9'h114;parameter BPL4DAT=9'h116;parameter BPL5DAT=9'h118;parameter BPL6DAT=9'h11a;//local signalsreg 		[7:0]bplcon1;			//bplcon1 registerwire		hclk;				//high res double pumped clockreg		hclkl1;				//helper latch for generating hclk;reg		hclkl2;	   			//helper latch for generating hclk;reg		[15:0]bpl2dat;			//buffer register for bit plane 2reg		[15:0]bpl3dat;			//buffer register for bit plane 3reg		[15:0]bpl4dat;			//buffer register for bit plane 4reg		[15:0]bpl5dat;			//buffer register for bit plane 5reg		[15:0]bpl6dat;			//buffer register for bit plane 6wire		load;				//parallel load signal//--------------------------------------------------------------------------------------//generate hclk hclk is in sync with clk but driven by logic instead of general clockalways @(posedge clk)	hclkl1<=~hclkl1;always @(negedge clk)	hclkl2<=hclkl1;assign hclk=hclkl1^hclkl2;//--------------------------------------------------------------------------------------//writing bplcon1 register : horizontal scroll codes for even and odd bitplanesalways @(posedge clk)	if(regaddress[8:1]==BPLCON1[8:1])		bplcon1<=datain[7:0];//--------------------------------------------------------------------------------------//bitplane buffer register for plane 2always @(posedge clk)	if(load)		bpl2dat<=16'b0000000000000000;		else if(regaddress[8:1]==BPL2DAT[8:1])		bpl2dat<=datain[15:0];//bitplane buffer register for plane 3always @(posedge clk)	if(load)		bpl3dat<=16'b0000000000000000;		else if(regaddress[8:1]==BPL3DAT[8:1])		bpl3dat<=datain[15:0];//bitplane buffer register for plane 4always @(posedge clk)	if(load)		bpl4dat<=16'b0000000000000000;		else if(regaddress[8:1]==BPL4DAT[8:1])		bpl4dat<=datain[15:0];//bitplane buffer register for plane 5always @(posedge clk)	if(load)		bpl5dat<=16'b0000000000000000;		else if(regaddress[8:1]==BPL5DAT[8:1])		bpl5dat<=datain[15:0];//bitplane buffer register for plane 6always @(posedge clk)	if(load)		bpl6dat<=16'b0000000000000000;		else if(regaddress[8:1]==BPL6DAT[8:1])		bpl6dat<=datain[15:0];//generate load signal when plane 1 is writtenassign load=(regaddress[8:1]==BPL1DAT[8:1])?1:0;//--------------------------------------------------------------------------------------//instantiate bitplane 1 parallel to serial converters, this plane is loaded directly from busbplshift bpls1 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(datain),				.delay(bplcon1[3:0]),				.out(bpldata[1])	);//instantiate bitplane 2 to 6 parallel to serial converters, (loaded from buffer registers)bplshift bpls2 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(bpl2dat),				.delay(bplcon1[7:4]),				.out(bpldata[2])	);bplshift bpls3 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(bpl3dat),				.delay(bplcon1[3:0]),				.out(bpldata[3])	);bplshift bpls4 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(bpl4dat),				.delay(bplcon1[7:4]),				.out(bpldata[4])	);bplshift bpls5 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(bpl5dat),				.delay(bplcon1[3:0]),				.out(bpldata[5])	);bplshift bpls6 (	.clk(clk),				.hclk(hclk),				.load(load),				.hires(hires),				.data(bpl6dat),				.delay(bplcon1[7:4]),				.out(bpldata[6])	);//--------------------------------------------------------------------------------------endmodule//--------------------------------------------------------------------------------------//--------------------------------------------------------------------------------------//This is the playfield engine.//It takes the raw bitplane data and generates a//single or dual playfield//it also generated the nplayfield valid data signals which are needed//by the main video priority logic in Denisemodule playfields(bpldata,dblpf,pf2pri,nplayfield,plfdata);input 	[6:1]bpldata;	   		//raw bitplane data ininput 	dblpf;		   		//double playfield selectinput	pf2pri;				//playfield 2 priority selectoutput	[2:1]nplayfield;		//playfield 1,2 valid dataoutput	[5:0]plfdata;			//playfield data out//local signalsreg		[2:1]nplayfield;		//see abovereg		[5:0]plfdata;			//see above//generate playfield 1,2 data valid signalsalways @(dblpf or bpldata)begin	if(dblpf)//dual playfield	begin		if(bpldata[5] || bpldata[3] || bpldata[1])//detect data valid for playfield 1			nplayfield[1]=1;		else			nplayfield[1]=0;			if(bpldata[6] || bpldata[4] || bpldata[2])//detect data valid for playfield 2			nplayfield[2]=1;		else			nplayfield[2]=0;		end	else//single playfield is always playfield 2	begin		nplayfield[1]=0;		if(bpldata[6:1]!=6'b000000)			nplayfield[2]=1;		else			nplayfield[2]=0;		endend//--------------------------------------------------------------------------------------//playfield 1 and 2 priority logicalways @(nplayfield or dblpf or pf2pri or bpldata)begin	if(dblpf)//dual playfield	begin		if(pf2pri)//playfield 2 (2,4,6) has priority		begin			if(nplayfield[2])				plfdata[5:0]={3'b001,bpldata[6],bpldata[4],bpldata[2]};			else if(nplayfield[1])				plfdata[5:0]={3'b000,bpldata[5],bpldata[3],bpldata[1]};			else//both planes transparant, select background color				plfdata[5:0]=6'b000000;		end		else//playfield 1 (1,3,5) has priority		begin			if(nplayfield[1])				plfdata[5:0]={3'b000,bpldata[5],bpldata[3],bpldata[1]};			else	if(nplayfield[2])				plfdata[5:0]={3'b001,bpldata[6],bpldata[4],bpldata[2]};			else//both planes transparant, select background color				plfdata[5:0]=6'b000000;		end	end	else//normal single playfield (playfield 2 only)		plfdata[5:0]=bpldata[6:1];end//--------------------------------------------------------------------------------------endmodule//--------------------------------------------------------------------------------------//--------------------------------------------------------------------------------------//this is the bitplane parallel to serial converter//it can operate in normal mode or hires mode//clk is 7.09379 MHz (low resolution pixel clock)//hclk is also 7.09379 MHz (high resolution double rate pixel clock) but driven by logic//hires is double pumped (data on rising AND falling edge of clk)module bplshift(clk,hclk,load,hires,data,delay,out);input 	clk;		   			//lores pixel clockinput	hclk;				//hires clock that can drive logic	(double pumped)input	load;				//load shift registerinput	hires;				//high resolution / double pump selectinput	[15:0]data;			//parallel load data inputinput	[3:0]delay;			//delay select (for scrolling)output	out;					//shift register out//local signalsreg		[7:0]mshifteven;		//main shifter for even bits (0,2..)reg		[7:0]mshiftodd;		//main shifter for odd bits (1,3..)reg		[15:0]dshifteven;		//delayed scrolling shifter for even bits (0,2..)reg		[15:0]dshiftodd;		//delayed scrolling shifter for odd bits (1,3..)reg		enable;				//enable (toggles at clk/2)reg		senable;				//shifters enablereg		oddselect;			//odd shifter selectreg	 	[4:0]select;			//delayed pixel select//--------------------------------------------------------------------------------------//generate enable signalalways @(posedge clk)	if(load)//upon load synchronize toggling enable signal		enable<=1;	else		enable<=~enable;//--------------------------------------------------------------------------------------//main shifteralways @(posedge clk)	if(load)//load new parallel data into shifter		begin			mshifteven[7:0]<={data[14],data[12],data[10],data[8],data[6],data[4],data[2],data[0]};			mshiftodd[7:0]<={data[15],data[13],data[11],data[9],data[7],data[5],data[3],data[1]};		end	else if(senable)//shift when enabled		begin			mshifteven[7:0]<={mshifteven[6:0],1'b0};			mshiftodd[7:0]<={mshiftodd[6:0],1'b0};		end//delayed shifteralways @(posedge clk)	if(senable)		begin			dshifteven[15:0]<={dshifteven[14:0],mshifteven[7]};			dshiftodd[15:0]<={dshiftodd[14:0],mshiftodd[7]};		end		 //--------------------------------------------------------------------------------------wire		oddpixel;				//odd shift register delayed outputwire		evenpixel;			//even shift register delayed outputwire 	sout;				//final shift register delay outputreg		dout;				//1 clk delayed version of sout//select even and odd pixelassign oddpixel=dshiftodd[select[3:0]];//select odd pixelassign evenpixel=dshifteven[select[3:0]];//select even pixel//select final shifter outputassign sout=(oddselect)?oddpixel:evenpixel;//delay sout by 1 clock for pixel resolution scrolling in lores modealways @(posedge clk)	dout<=sout;//assign output dataassign out=(select[4])?dout:sout;//--------------------------------------------------------------------------------------//main hires/lores shifter and scroll controlalways @(hires or enable or hclk or delay)	if(hires)//hires mode	begin		senable=1;//shifter always enabled in this mode (2 pixels per clock)		oddselect=hclk;		select[4:0]={1'b0,delay[3:0]};//only delay in 2 pixel steps	end	else	begin		senable=enable;//shifter enable once every 2 clocks		oddselect=~enable;		select[4:0]={delay[0],1'b0,delay[3:1]};//scroll in 1 pixel steps	end			endmodule		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99九九99九九九视频精品| 欧美日韩亚洲综合一区二区三区| 日韩高清电影一区| 久久久久国产精品厨房| 欧美一级日韩一级| 欧美精品久久一区| 欧美欧美午夜aⅴ在线观看| av一区二区不卡| 成人性视频网站| 国产福利一区二区三区在线视频| 麻豆视频一区二区| 亚洲一区二区不卡免费| 一区二区三区视频在线看| 国产精品青草久久| 国产精品全国免费观看高清| 中文字幕不卡在线观看| 国产欧美一区二区在线观看| 国产日韩综合av| 中文天堂在线一区| 国产精品传媒视频| 国产亲近乱来精品视频| 久久久国产精品午夜一区ai换脸| 精品国产乱码久久久久久浪潮| 欧美精品自拍偷拍动漫精品| 欧美日韩一区三区| 7777精品伊人久久久大香线蕉的| 欧美性大战久久久久久久蜜臀| 在线观看日韩一区| 欧美三级电影在线观看| 欧美高清视频一二三区| 日韩一区二区高清| 欧美三级韩国三级日本一级| 欧美男生操女生| 欧美电影免费观看完整版| 日韩欧美电影一二三| 精品三级av在线| 国产三级精品三级| 亚洲女人小视频在线观看| 一区二区日韩电影| 免费高清在线视频一区·| 国产在线视频一区二区三区| 国产成人av资源| 91免费视频网| 欧美一区二区三区视频免费 | 91视视频在线直接观看在线看网页在线看| 97国产精品videossex| 欧美自拍偷拍午夜视频| 在线不卡免费欧美| 久久久久国产免费免费| 亚洲人成网站色在线观看| 偷拍自拍另类欧美| 久久国产精品区| 成人高清视频在线| 欧美人狂配大交3d怪物一区| 久久免费看少妇高潮| 国产精品理伦片| 天堂一区二区在线免费观看| 麻豆精品蜜桃视频网站| 成人av午夜电影| 色爱区综合激月婷婷| 亚洲一区二区在线免费看| 久久精品免费看| 99久久免费精品| 欧美一区二区大片| 亚洲丝袜美腿综合| 久久国产精品一区二区| www.99精品| 日韩免费看的电影| 亚洲美女在线国产| 激情综合亚洲精品| 欧美日韩中文字幕一区二区| 日韩一区二区三区四区五区六区| 国产精品免费看片| 久久www免费人成看片高清| jizzjizzjizz欧美| 欧美另类高清zo欧美| 国产嫩草影院久久久久| 亚洲h在线观看| 成人精品免费网站| 日韩欧美国产精品一区| 一区二区三区**美女毛片| 国产一区二区不卡老阿姨| 911精品产国品一二三产区| 亚洲精选视频在线| www.欧美.com| 国产精品黄色在线观看| 国产suv精品一区二区883| 欧美xxxxx牲另类人与| 免费在线成人网| 91精品国产乱| 日韩av一二三| 欧美精品乱码久久久久久| 一级做a爱片久久| 91美女精品福利| 中文字幕一区二区三区蜜月| 国产精品1区2区3区| 久久蜜桃一区二区| 精品精品国产高清a毛片牛牛| 日韩国产欧美视频| 91精品免费观看| 日日噜噜夜夜狠狠视频欧美人 | 国产精品妹子av| 成人永久aaa| 国产精品天天看| 99视频在线观看一区三区| 自拍偷拍亚洲欧美日韩| 99精品久久只有精品| 亚洲麻豆国产自偷在线| 在线精品视频小说1| 亚洲一卡二卡三卡四卡五卡| 欧美日韩国产片| 日本成人中文字幕在线视频| 欧美一级搡bbbb搡bbbb| 精品综合久久久久久8888| 久久影院电视剧免费观看| 国产酒店精品激情| 中文字幕日韩一区二区| 欧美体内she精视频| 日本在线不卡视频| 久久婷婷国产综合国色天香| 国产成+人+日韩+欧美+亚洲| 国产精品久久久久一区| 色狠狠一区二区三区香蕉| 性做久久久久久久久| 欧美一区三区二区| 国产中文字幕精品| 亚洲欧洲成人av每日更新| 欧美日韩在线综合| 国模套图日韩精品一区二区| 国产人久久人人人人爽| 日本精品一级二级| 日本aⅴ免费视频一区二区三区| 奇米影视一区二区三区小说| 久久久国产精品午夜一区ai换脸| av在线不卡免费看| 午夜精品久久久久久久99水蜜桃 | 久久精品人人做人人综合| gogo大胆日本视频一区| 午夜精品福利一区二区蜜股av | 亚洲欧美一区二区不卡| 欧美精品久久一区| 岛国av在线一区| 亚洲一区二区三区自拍| 久久这里都是精品| 欧美在线色视频| 国产一区二区91| 亚洲国产aⅴ天堂久久| 久久久久成人黄色影片| 在线观看不卡视频| 国产在线精品一区二区不卡了| 最新国产成人在线观看| 日韩一区二区在线观看视频播放| 成人久久18免费网站麻豆 | 成人黄色免费短视频| 午夜视频在线观看一区| 国产情人综合久久777777| 欧美日韩一区二区三区免费看| 国产成人亚洲综合色影视| 午夜视频在线观看一区二区三区| 国产欧美日韩亚州综合| 欧美久久久久久蜜桃| av电影天堂一区二区在线观看| 日韩国产精品大片| 亚洲精品va在线观看| 久久久噜噜噜久噜久久综合| 欧美日韩国产免费一区二区| 99精品偷自拍| 国产成人免费av在线| 美腿丝袜亚洲三区| 亚洲成人久久影院| 中文字幕一区二区5566日韩| 日韩欧美一区中文| 在线免费观看视频一区| 国产成人精品免费网站| 精品一区二区在线播放| 午夜婷婷国产麻豆精品| 亚洲欧洲综合另类在线| 国产精品天天看| 久久影视一区二区| 欧美一区二区啪啪| 欧美午夜在线观看| 色妞www精品视频| 成人久久久精品乱码一区二区三区| 久久国产剧场电影| 轻轻草成人在线| 午夜成人免费视频| 亚洲免费观看视频| 日韩一区在线播放| 欧美激情一区二区三区不卡| 久久这里只精品最新地址| 日韩免费看的电影| 日韩一级高清毛片| 日韩一区二区高清| 制服丝袜亚洲精品中文字幕| 欧美综合久久久| 91成人免费网站| 一本大道av一区二区在线播放| 95精品视频在线| 91浏览器在线视频| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 |