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

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

?? 220model.vhd

?? 這是基于s3c2410+uCos的LCD驅動程序源碼
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
					digit := 0;
				when '1' =>
					digit := 1;
				when '2' =>
					digit := 2;
				when '3' =>
					digit := 3;
				when '4' =>
					digit := 4;
				when '5' =>
					digit := 5;
				when '6' =>
					digit := 6;
				when '7' =>
					digit := 7;
				when '8' =>
					digit := 8;
				when '9' =>
					digit := 9;
				when 'A' =>
					digit := 10;
				when 'a' =>
					digit := 10;
				when 'B' =>
					digit := 11;
				when 'b' =>
					digit := 11;
				when 'C' =>
					digit := 12;
				when 'c' =>
					digit := 12;
				when 'D' =>
					digit := 13;
				when 'd' =>
					digit := 13;
				when 'E' =>
					digit := 14;
				when 'e' =>
					digit := 14;
				when 'F' =>
					digit := 15;
				when 'f' =>
					digit := 15;
				when others =>
					ASSERT FALSE
					REPORT "Illegal character "&  str(i) & "in Intel Hex File! "
					SEVERITY ERROR;
			end case;
			ivalue := ivalue * 16 + digit;
		end loop;
		return ivalue;
	end;

	procedure Shrink_line(L : inout LINE; pos : in integer) is
	subtype nstring is string(1 to pos);
	variable stmp : nstring;
	begin
		if pos >= 1 then
			read(l, stmp);
		end if;
	end;

end LPM_RAM_DQ;

architecture LPM_SYN of lpm_ram_dq is

--type lpm_memory is array(lpm_numwords-1 downto 0) of std_logic_vector(lpm_width-1 downto 0);
type lpm_memory is array((2**lpm_widthad)-1 downto 0) of std_logic_vector(lpm_width-1 downto 0);

signal data_tmp, data_reg : std_logic_vector(lpm_width-1 downto 0);
signal q_tmp, q_reg : std_logic_vector(lpm_width-1 downto 0);
signal address_tmp, address_reg : std_logic_vector(lpm_widthad-1 downto 0);
signal we_tmp, we_reg : std_logic;

begin

	sync: process(data,data_reg, address, address_reg, we,we_reg, q_tmp, q_reg)
	begin
		if (lpm_address_control = "REGISTERED") then
			address_tmp <= address_reg;
			we_tmp <= we_reg;
		else
			address_tmp <= address;
			we_tmp <= we;
		end if;
		if (lpm_indata = "REGISTERED") then
			data_tmp <= data_reg;
		else
			data_tmp <= data;
		end if;
		if (lpm_outdata = "REGISTERED") then
			q <= q_reg;
		else
			q <= q_tmp;
		end if;
	end process;

	input_reg: process (inclock)
	begin
		if inclock'event and inclock = '1' then
			data_reg <= data;
			address_reg <= address;
			we_reg <= we;
		end if;
	end process;

	output_reg: process (outclock)
	begin
		if outclock'event and outclock = '1' then
			q_reg <= q_tmp;
		end if;
	end process;

	memory: process(data_tmp, we_tmp, address_tmp)
	variable mem_data : lpm_memory;
	variable mem_data_tmp : integer := 0;
	variable mem_init: boolean := false;
	variable i,j,k,lineno: integer := 0;
	variable buf: line ;
	variable booval: boolean ;
	FILE mem_data_file: TEXT IS IN LPM_FILE;
	variable base, byte, rec_type, datain, addr, checksum: string(2 downto 1);
	variable startadd: string(4 downto 1);
	variable ibase: integer := 0;
	variable ibyte: integer := 0;
	variable istartadd: integer := 0;
	variable check_sum_vec, check_sum_vec_tmp: std_logic_vector(7 downto 0);
	begin
		-- INITIALIZE --
		if NOT(mem_init) then
			-- INITIALIZE TO 0 --
			for i in mem_data'LOW to mem_data'HIGH loop
				mem_data(i) := (OTHERS => '0');
			end loop;

			if (LPM_FILE = "UNUSED") then
				ASSERT FALSE
				REPORT "Initialization file not found!"
				SEVERITY WARNING;
			else
				WHILE NOT ENDFILE(mem_data_file) loop
					booval := true;
					READLINE(mem_data_file, buf);
					lineno := lineno + 1;
					check_sum_vec := (OTHERS => '0');
					if (buf(buf'LOW) = ':') then
						i := 1;
						shrink_line(buf, i);
						READ(L=>buf, VALUE=>byte, good=>booval);
						if not (booval) then
							ASSERT FALSE
							REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format!"
							SEVERITY ERROR;
						end if;
						ibyte := hex_str_to_int(byte);
						check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(ibyte, 8));
						READ(L=>buf, VALUE=>startadd, good=>booval);
						if not (booval) then
							ASSERT FALSE
							REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format! "
							SEVERITY ERROR;
						end if;
						istartadd := hex_str_to_int(startadd);
						addr(2) := startadd(4);
						addr(1) := startadd(3);
						check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(hex_str_to_int(addr), 8));
						addr(2) := startadd(2);
						addr(1) := startadd(1);
						check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(hex_str_to_int(addr), 8));
						READ(L=>buf, VALUE=>rec_type, good=>booval);
						if not (booval) then
							ASSERT FALSE
							REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format! "
							SEVERITY ERROR;
						end if;
						check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(hex_str_to_int(rec_type), 8));
					else
						ASSERT FALSE
						REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format! "
						SEVERITY ERROR;
					end if;
					case rec_type is
						when "00"=>
							i := 0;
							k := 0;
							while( i < ibyte ) loop
								mem_data_tmp := 0;
								for j in 0 to 1 loop
									READ(L=>buf, VALUE=>datain,good=>booval);
									if not (booval) then
										ASSERT FALSE
										REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format! "
										SEVERITY ERROR;
									end if;
									check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(hex_str_to_int(datain), 8));
									mem_data_tmp := mem_data_tmp * 256 + hex_str_to_int(datain);
									i := i + 1;
									if (i = ibyte) then
										exit;
									end if;
								end loop;

								mem_data(ibase + istartadd + k) := CONV_STD_LOGIC_VECTOR(mem_data_tmp, lpm_Width);

								k := k + 1;
							end loop;
						when "01"=>
							exit;
						when "02"=>
							ibase := 0;
							if (ibyte /= 2) then
								ASSERT FALSE
								REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format for record type 02! "
								SEVERITY ERROR;
							end if;
							for i in 0 to (ibyte-1) loop
								READ(L=>buf, VALUE=>base,good=>booval);
								ibase := ibase * 256 + hex_str_to_int(base);
								if not (booval) then
									ASSERT FALSE
									REPORT "[Line "& int_to_str(lineno) & "]:Illegal Intel Hex Format! "
									SEVERITY ERROR;
								end if;
								check_sum_vec := unsigned(check_sum_vec) + unsigned(CONV_STD_LOGIC_VECTOR(hex_str_to_int(base), 8));
							end loop;
							ibase := ibase * 16;
						when OTHERS =>
							ASSERT FALSE
							REPORT "[Line "& int_to_str(lineno) & "]:Illegal record type in Intel Hex File! "
							SEVERITY ERROR;
					end case;
					READ(L=>buf, VALUE=>checksum,good=>booval);
					if not (booval) then
						ASSERT FALSE
						REPORT "[Line "& int_to_str(lineno) & "]:Checksum is missing! "
						SEVERITY ERROR;
					end if;

					check_sum_vec := unsigned(not (check_sum_vec)) + 1 ;
					check_sum_vec_tmp := CONV_STD_LOGIC_VECTOR(hex_str_to_int(checksum),8);

					if (check_sum_vec /= check_sum_vec_tmp) then
						ASSERT FALSE
						REPORT "[Line "& int_to_str(lineno) & "]:Incorrect checksum!"
						SEVERITY ERROR;
					end if;
				end loop;
			end if;
			mem_init := TRUE;
		end if;

		-- MEMORY FUNCTION --
		if we_tmp = '1' then
			mem_data (conv_integer(address_tmp)) := data_tmp;
		end if;
		q_tmp <= mem_data(conv_integer(address_tmp));
	end process;

end LPM_SYN;


---------------------------------------------------------------------------

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
use work.LPM_COMPONENTS.all;
use std.textio.all;

entity LPM_RAM_DP is
	generic (LPM_WIDTH : positive;
			 LPM_WIDTHAD : positive;
			 LPM_NUMWORDS : natural := 0;
			 LPM_INDATA : string := "REGISTERED";
			 LPM_OUTDATA : string := "REGISTERED";
			 LPM_RDADDRESS_CONTROL : string := "REGISTERED";
			 LPM_WRADDRESS_CONTROL : string := "REGISTERED";
			 LPM_FILE : string := "UNUSED";
			 LPM_TYPE : string := "LPM_RAM_DP";
			 LPM_HINT : string := "UNUSED");
	port (RDCLOCK : in std_logic := '0';
		  RDCLKEN : in std_logic := '1';
		  RDADDRESS : in std_logic_vector(LPM_WIDTHad-1 downto 0);
		  RDEN : in std_logic := '1';
		  DATA : in std_logic_vector(LPM_WIDTH-1 downto 0);
		  WRADDRESS : in std_logic_vector(LPM_WIDTHad-1 downto 0);
		  WREN : in std_logic;
		  WRCLOCK : in std_logic := '0';
		  WRCLKEN : in std_logic := '1';
		  Q : out std_logic_vector(LPM_WIDTH-1 downto 0));

	function int_to_str( value : integer ) return string is
	variable ivalue,index : integer;
	variable digit : integer;
	variable line_no: string(8 downto 1) := "        ";  
	begin
		ivalue := value;
		index := 1;
		while (ivalue > 0 ) loop
			digit := ivalue MOD 10;
			ivalue := ivalue/10;
			case digit is
				when 0 =>
					line_no(index) := '0';
				when 1 =>
					line_no(index) := '1';
				when 2 =>
					line_no(index) := '2';
				when 3 =>
					line_no(index) := '3';
				when 4 =>
					line_no(index) := '4';
				when 5 =>
					line_no(index) := '5';
				when 6 =>
					line_no(index) := '6';
				when 7 =>
					line_no(index) := '7';
				when 8 =>
					line_no(index) := '8';
				when 9 =>
					line_no(index) := '9';
				when others =>
					ASSERT FALSE
					REPORT "Illegal number!"
					SEVERITY ERROR;
			end case;
			index := index + 1;
		end loop;
		return line_no;
	end;

	function hex_str_to_int( str : string ) return integer is
	variable len : integer := str'length;
	variable ivalue : integer := 0;
	variable digit : integer;
	begin
		for i in len downto 1 loop
			case str(i) is
				when '0' =>
					digit := 0;
				when '1' =>
					digit := 1;
				when '2' =>
					digit := 2;
				when '3' =>
					digit := 3;
				when '4' =>
					digit := 4;
				when '5' =>
					digit := 5;
				when '6' =>
					digit := 6;
				when '7' =>
					digit := 7;
				when '8' =>
					digit := 8;
				when '9' =>
					digit := 9;
				when 'A' =>
					digit := 10;
				when 'a' =>
					digit := 10;
				when 'B' =>
					digit := 11;
				when 'b' =>
					digit := 11;
				when 'C' =>
					digit := 12;
				when 'c' =>
					digit := 12;
				when 'D' =>
					digit := 13;
				when 'd' =>
					digit := 13;
				when 'E' =>
					digit := 14;
				when 'e' =>
					digit := 14;
				when 'F' =>
					digit := 15;
				when 'f' =>
					digit := 15;
				when others =>
					ASSERT FALSE
					REPORT "Illegal character "&  str(i) & "in Intel Hex File! "
					SEVERITY ERROR;
			end case;
			ivalue := ivalue * 16 + digit;
		end loop;
		return ivalue;
	end;

	procedure Shrink_line(L : inout LINE; pos : in integer) is
	subtype nstring is string(1 to pos);
	variable stmp : nstring;
	begin
		if pos >= 1 then
			read(l, stmp);
		end if;
	end;

end LPM_RAM_DP;

architecture LPM_SYN of lpm_ram_dp is

--type lpm_memory is array(lpm_numwords-1 downto 0) of std_logic_vector(lpm_width-1 downto 0);
type lpm_memory is array((2**lpm_widthad)-1 downto 0) of std_logic_vector(lpm_width-1 downto 0);

signal data_tmp, data_reg : std_logic_vector(lpm_width-1 downto 0);
signal q_tmp, q_reg : std_logic_vector(lpm_width-1 downto 0);
signal rdaddress_tmp, rdaddress_reg : std_logic_vector(lpm_widthad-1 downto 0);
signal wraddress_tmp, wraddress_reg : std_logic_vector(lpm_widthad-1 downto 0);
signal wren_tmp, wren_reg : std_logic;
signal rden_tmp, rden_reg : std_logic;

begin
	sync: process(data,data_reg, rdaddress, rdaddress_reg, wren,wren_reg, 
				  rden, rden_reg, q_tmp, q_reg)
	begin
		if (lpm_rdaddress_control = "REGISTERED") then
			rdaddress_tmp <= rdaddress_reg;
			rden_tmp <= rden_reg;
		else
			rdaddress_tmp <= rdaddress;
			rden_tmp <= rden;
		end if;
		if (lpm_wraddress_control = "REGISTERED") then
			wraddress_tmp <= wraddress_reg;
			wren_tmp <= wren_reg; 
		else
			wraddress_tmp <= wraddress;
			wren_tmp <= wren;
		end if;
		if (lpm_indata = "REGISTERED") then
			data_tmp <= data_reg;
		else
			data_tmp <= data;
		end if;
		if (lpm_outdata = "REGISTERED") then
			q <= q_reg;
		else
			q <= q_tmp;
		end if;
	en

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃精品视频在线| 国产高清不卡二三区| 精品成人免费观看| 一本色道久久加勒比精品 | 在线精品亚洲一区二区不卡| 午夜一区二区三区视频| 欧美国产在线观看| 制服丝袜一区二区三区| 色国产综合视频| 国产成人免费视频网站| 久久精品99久久久| 夜夜精品视频一区二区| 国产精品欧美极品| 精品人伦一区二区色婷婷| 欧美系列亚洲系列| 91看片淫黄大片一级在线观看| 韩国三级在线一区| 蜜桃精品在线观看| 日韩精品欧美成人高清一区二区| 日韩美女视频一区| 国产精品视频一区二区三区不卡| 欧美成人激情免费网| 欧美精品1区2区3区| 欧美日韩国产小视频| 91在线高清观看| 国产成人av电影在线播放| 久久97超碰国产精品超碰| 日韩不卡一区二区三区| 亚洲国产精品嫩草影院| 一区二区三区国产精品| 亚洲欧洲av在线| 中文字幕在线不卡视频| 国产精品视频看| 国产精品久久久久久久久动漫| 久久综合狠狠综合久久综合88 | 日韩女优av电影| 91麻豆精品国产91久久久久| 538在线一区二区精品国产| 欧美日韩美女一区二区| 7777精品伊人久久久大香线蕉的 | 亚洲国产综合视频在线观看| 亚洲精品视频在线看| 亚洲精品一二三区| 亚洲国产精品欧美一二99| 亚洲444eee在线观看| 视频一区视频二区中文| 婷婷成人综合网| 蜜臀av性久久久久蜜臀aⅴ| 久久99热99| 国产精品一区二区黑丝| 国产91在线观看丝袜| 国产成人av电影在线| 99国产一区二区三精品乱码| 91麻豆福利精品推荐| 欧美视频日韩视频在线观看| 欧美日韩国产在线观看| 日韩免费观看2025年上映的电影| 精品少妇一区二区三区在线视频| 久久久影视传媒| 国产精品盗摄一区二区三区| 亚洲综合网站在线观看| 日产欧产美韩系列久久99| 国产在线视频一区二区三区| 国产91精品在线观看| 99re这里只有精品视频首页| 在线国产亚洲欧美| 欧美一级二级三级乱码| 久久蜜臀精品av| 亚洲婷婷在线视频| 天天免费综合色| 奇米一区二区三区av| 国产精品一级二级三级| 色哟哟一区二区| 日韩免费视频线观看| 国产欧美日韩中文久久| 一区二区成人在线视频| 久久国产欧美日韩精品| 99久久精品久久久久久清纯| 欧美日韩亚洲高清一区二区| xnxx国产精品| 夜夜精品视频一区二区| 国产精品一区免费在线观看| 欧美综合色免费| 久久亚洲精精品中文字幕早川悠里| 国产精品欧美一区喷水| 三级在线观看一区二区 | 成人免费看视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲第一二三四区| 国产伦理精品不卡| 欧美视频一区二区在线观看| 久久精品视频免费观看| 亚洲成人激情av| 成人手机电影网| 日韩一级欧美一级| 亚洲欧美欧美一区二区三区| 久久99久久99精品免视看婷婷| 色综合天天综合在线视频| 精品美女一区二区三区| 亚洲人精品午夜| 国产一区二区女| 91麻豆精品国产91久久久| 亚洲三级视频在线观看| 国产在线播精品第三| 欧美精品久久一区| 亚洲欧美日韩成人高清在线一区| 国产又粗又猛又爽又黄91精品| 欧美日韩1区2区| 亚洲精品国产一区二区精华液| 国产乱国产乱300精品| 91精品国产aⅴ一区二区| 亚洲女人****多毛耸耸8| 国产精品一区2区| 日韩精品一区国产麻豆| 午夜激情一区二区| 91麻豆成人久久精品二区三区| 国产日韩精品一区二区浪潮av| 麻豆精品国产传媒mv男同| 51午夜精品国产| 爽爽淫人综合网网站| 欧美日韩精品久久久| 一二三区精品视频| 91免费版在线| 亚洲视频狠狠干| 96av麻豆蜜桃一区二区| 国产精品素人视频| 成人性色生活片| 国产亲近乱来精品视频| 国精产品一区一区三区mba视频| 日韩免费高清av| 久久国产精品72免费观看| 欧美zozozo| 国产精品99久久久| 国产偷国产偷精品高清尤物| 国产精品影视在线观看| 久久久久久久久久久久久女国产乱| 毛片av一区二区| 日韩精品一区二区三区在线 | 国产精品久久三| 成人av网站在线观看| 中文字幕精品—区二区四季| 国产**成人网毛片九色 | 丰满少妇久久久久久久| 国产精品丝袜黑色高跟| 成人精品视频一区二区三区| 国产精品乱码一区二三区小蝌蚪| 成人精品小蝌蚪| 一区二区日韩av| 欧美日韩国产天堂| 老司机免费视频一区二区| www激情久久| 成人午夜又粗又硬又大| 亚洲视频一区二区在线| 欧美日韩中字一区| 美日韩一区二区三区| 国产日韩亚洲欧美综合| 91在线精品一区二区三区| 亚洲一区日韩精品中文字幕| 91精品国产综合久久香蕉的特点| 韩国欧美国产1区| 国产精品久久久久久久久动漫 | 国产米奇在线777精品观看| 国产日韩av一区| 色综合中文字幕| 亚洲成av人片在www色猫咪| 2017欧美狠狠色| 99国产精品久久久久久久久久 | 精品国一区二区三区| 国产福利一区二区三区视频 | 精品免费一区二区三区| 成人高清视频在线| 五月天激情综合| 国产午夜三级一区二区三| 在线亚洲人成电影网站色www| 免费在线观看成人| 国产精品狼人久久影院观看方式| 欧美在线综合视频| 国内久久精品视频| 一区二区三区免费| 精品国产欧美一区二区| 一本色道久久综合亚洲精品按摩 | 国产精选一区二区三区| 亚洲精品日日夜夜| 精品动漫一区二区三区在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 精品中文字幕一区二区| 亚洲天堂网中文字| 日韩欧美成人激情| 欧美中文字幕一区二区三区亚洲| 国产美女精品人人做人人爽| 亚洲一本大道在线| 亚洲国产精品成人综合| 6080亚洲精品一区二区| 91麻豆.com| 国产精品888| 免费成人在线观看| 亚洲综合清纯丝袜自拍| 欧美国产禁国产网站cc| 日韩三级视频中文字幕| 在线观看亚洲专区|