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

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

?? roms19fr.vhd

?? the model of cpu ARM7TDMI.
?? VHD
字號:
-- *********************************************************************************************				  
-- ROM initialized by .S19 (S-record) file
-- Modified 01.02.2003
-- Designed by Ruslan Lepetenok
-- *********************************************************************************************				  

library	IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;

use STD.textio.all;

use WORK.S19FRPackage.all;

entity ROMS19FR is generic(
								ROMWidth   : positive  := 32;
                                ROMSize    : positive  := 4096; 
	                            InFileName : string    := "test.s19";
	                            BaseAdr    : natural   := 16#300000#;
                                BigEndian  : boolean   := FALSE;
	                           	ROMBlank   : std_logic := '0';
							    DisChSTest : boolean   := FALSE   
						  );
		                port(
					         Address   : in  std_logic_vector(LOG2(ROMSize/(ROMWidth/8))-1 downto 0);
		                     DataOut   : out std_logic_vector(ROMWidth-1 downto 0)
					        );
end ROMS19FR;

architecture Beh of ROMS19FR is
type MemFileType is array(0 to ROMSize/(ROMWidth/8)-1) of std_logic_vector(ROMWidth-1 downto 0);
signal ROMFile : MemFileType := (others => (ROMWidth-1 downto 0 => '0'));

begin

assert not DisChSTest 
 report"Check-Sum test is disabled"
  severity WARNING;	
	
InitMemory:process

procedure ReadS19ToMem(MemFile : inout MemFileType; FileName : in string; 
                       BaseAdr : natural; BigEndian : boolean)is

file InputTextFile   : text open read_mode is FileName;
variable L           : line;
variable ch          : character;
variable j           : natural := 0;
variable k           : natural range 0 to 1 :=0;
variable LT          : character;
variable Address     : integer := 0;
variable LineAdrSize : positive := 1;
variable DataByte    : natural range 0 to 16#FF# := 0;
variable LineLength  : natural range 0 to 16#FF# := 0;
variable CheckSum    : std_logic_vector(7 downto 0) := x"00"; -- Checksum which was calculated 
variable CheckSumRd  : std_logic_vector(7 downto 0) := x"00"; -- Checksum which was read

begin

while not endfile(InputTextFile) loop
readline(InputTextFile,L);

-- Searching for 'S'
for i in L'range loop
read(L,ch);
if ch/=' ' then
 if ch/='S' then 
   report "Not a S-record string" severity FAILURE;	 
 else exit;
  end if;
  end if;	 
end loop;	

-- Reading of line type  
read(L,LT);
if LT<'0' or LT>'9' then 
 report "Not a S-record string" severity FAILURE;	 
end if;

-- Read line length (in bytes)
read(L,ch);
LineLength := CharToNatural(ch)*16;
read(L,ch);
LineLength := LineLength + CharToNatural(ch);

CheckSum := CONV_STD_LOGIC_VECTOR(LineLength,8);

if LT='1' or LT='2' or LT='3' then  
-- Calculate base address for the line
Address := 0;
k:=1;
 ReadStrAdr:for j in (CharToNatural(LT)+1)*2-1 downto 0 loop
  read(L,ch);
   Address := Address + CharToNatural(ch)*(16**j);
   CheckSum := CheckSum + CONV_STD_LOGIC_VECTOR(CharToNatural(ch)*(16**k),8);

 if k=1 then k:=0; 
  else k:=1;
   end if;	 

 end loop;	

-- Calculates real address
assert BaseAdr<=Address
 report"Wrong base address"
  severity FAILURE;

 Address := Address - BaseAdr;

assert Address<=ROMSize-1
 report"ROM size is not enough  to fit source S-record file"
  severity FAILURE;   
      
for j in 1 to LineLength-(CharToNatural(LT)+2) loop -- Number of data bytes to read

-- Read byte of data 
read(L,ch);
 DataByte := CharToNatural(ch)*16;
  read(L,ch);
   DataByte := DataByte + CharToNatural(ch);

CheckSum := CheckSum + CONV_STD_LOGIC_VECTOR(DataByte,8);

--ROMWidth 8/16/32
if ROMWidth=32 then 
 -- 32-bit memory system

 if not BigEndian then 
 -- Little endian

if CONV_STD_LOGIC_VECTOR(Address,2)="00" then 
 -- A[1..0]=00

 MemFile(Address/4) := MemFile(Address/4)(31 downto 8)&
                       CONV_STD_LOGIC_VECTOR(DataByte,8); 
 
elsif CONV_STD_LOGIC_VECTOR(Address,2)="01" then 
 -- A[1..0]=01
 MemFile(Address/4) := MemFile(Address/4)(31 downto 16)&
	                   CONV_STD_LOGIC_VECTOR(DataByte,8)&
	  				   MemFile(Address/4)(7 downto 0);  

elsif CONV_STD_LOGIC_VECTOR(Address,2)="10" then 						 
 -- A[1..0]=10
   MemFile(Address/4) := MemFile(Address/4)(31 downto 24)&
    	                 CONV_STD_LOGIC_VECTOR(DataByte,8)&
                         MemFile(Address/4)(15 downto 0);   
 
elsif CONV_STD_LOGIC_VECTOR(Address,2)="11" then 						 
 -- A[1..0]=11
 MemFile(Address/4) := CONV_STD_LOGIC_VECTOR(DataByte,8)&
	                   MemFile(Address/4)(23 downto 0);
 end if;
 
 else                  
  -- Big endian 	

if CONV_STD_LOGIC_VECTOR(Address,2)="11" then 
 -- A[1..0]=11

 MemFile(Address/4) := MemFile(Address/4)(31 downto 8)&
                       CONV_STD_LOGIC_VECTOR(DataByte,8); 
 
elsif CONV_STD_LOGIC_VECTOR(Address,2)="10" then 
 -- A[1..0]=10
 MemFile(Address/4) := MemFile(Address/4)(31 downto 16)&
	                   CONV_STD_LOGIC_VECTOR(DataByte,8)&
	  				   MemFile(Address/4)(7 downto 0);  

elsif CONV_STD_LOGIC_VECTOR(Address,2)="01" then 						 
 -- A[1..0]=01
   MemFile(Address/4) := MemFile(Address/4)(31 downto 24)&
    	                 CONV_STD_LOGIC_VECTOR(DataByte,8)&
                         MemFile(Address/4)(15 downto 0);   
 
elsif CONV_STD_LOGIC_VECTOR(Address,2)="00" then 						 
 -- A[1..0]=00
 MemFile(Address/4) := CONV_STD_LOGIC_VECTOR(DataByte,8)&
	                   MemFile(Address/4)(23 downto 0);
 end if;
 end if; 

 elsif ROMWidth=16 then 
 -- 16-bit memory system
 
 if not BigEndian then 
 -- Little endian

if CONV_STD_LOGIC_VECTOR(Address,1)="0" then 
 -- A[0]=0

 MemFile(Address/2) := MemFile(Address/2)(16 downto 8)&
                       CONV_STD_LOGIC_VECTOR(DataByte,8); 
 
 elsif CONV_STD_LOGIC_VECTOR(Address,1)="1" then 						 
  -- A[0]=1
  MemFile(Address/2) := CONV_STD_LOGIC_VECTOR(DataByte,8)&
    	                MemFile(Address/2)(7 downto 0);
 end if;
 
 else                  
  -- Big endian 	
 
 if CONV_STD_LOGIC_VECTOR(Address,1)="1" then 
 -- A[0]=1

 MemFile(Address/2) := MemFile(Address/2)(16 downto 8)&
                       CONV_STD_LOGIC_VECTOR(DataByte,8); 
 
 elsif CONV_STD_LOGIC_VECTOR(Address,1)="0" then 						 
  -- A[0]=0
  MemFile(Address/2) := CONV_STD_LOGIC_VECTOR(DataByte,8)&
    	                MemFile(Address/2)(7 downto 0);
 
 end if;
 end if; 
  
elsif ROMWidth=8 then 
 -- 8-bit memory system	
 MemFile(Address) := CONV_STD_LOGIC_VECTOR(DataByte,8);
end if;	

Address := Address + 1;

end loop;  -- Data bytes reading is finished for current string

else      -- Not a data line (S0,S4-S9)

 -- Dummy read 	
 for j in 1 to LineLength-1 loop -- Number of data bytes to read	
  -- Read byte of data 
   read(L,ch);
    DataByte := CharToNatural(ch)*16;
     read(L,ch);
      DataByte := DataByte + CharToNatural(ch);
	   -- Checksum
        CheckSum := CheckSum + CONV_STD_LOGIC_VECTOR(DataByte,8);	
 end loop;	
end if;

-- Checksum comparison
-- Read byte of checksum
read(L,ch);
DataByte := CharToNatural(ch)*16;
read(L,ch);
DataByte := DataByte + CharToNatural(ch);

CheckSum := not CheckSum;

if not DisChSTest then
assert CheckSum = CONV_STD_LOGIC_VECTOR(DataByte,8)
 report "Error in checksum"	 
  severity FAILURE;
end if;
  
end loop; -- Reading of the file is finished	

report "S19 file read is done"	 
  severity NOTE;

end ReadS19ToMem;					   
-- End of procedures

variable MemoryFile : MemFileType := (others => (ROMWidth-1 downto 0 => ROMBlank));
 begin
  ReadS19ToMem(MemoryFile,InFileName,BaseAdr,BigEndian);
   ROMFile <= MemoryFile;
    wait;
end process;

DataOut <= ROMFile(CONV_INTEGER(Address));
	
end Beh;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久夜色精品一区| 亚洲黄色小说网站| 亚洲精品免费在线| 激情av综合网| 欧洲色大大久久| 国产精品理论片在线观看| 美国三级日本三级久久99| 91视频一区二区三区| 欧美激情在线观看视频免费| 毛片一区二区三区| 欧美日韩国产综合视频在线观看 | 成人精品视频.| 日韩午夜电影在线观看| 亚洲自拍另类综合| 色综合久久久久网| 欧美极品美女视频| 国产a精品视频| 精品精品国产高清a毛片牛牛| 亚洲成人在线免费| 日本精品免费观看高清观看| 国产精品国产三级国产有无不卡| 狠狠色狠狠色综合系列| 精品欧美乱码久久久久久1区2区| 天天综合网 天天综合色| 在线观看日韩精品| 亚洲一区二区三区在线播放| 日本韩国欧美一区| 亚洲一级二级在线| 欧美在线观看一区二区| 亚洲一区二区三区四区在线| 在线视频一区二区免费| 亚洲自拍偷拍网站| 6080yy午夜一二三区久久| 亚洲成a人在线观看| 欧美日韩大陆一区二区| 日本不卡视频在线观看| 日韩视频免费观看高清完整版| 调教+趴+乳夹+国产+精品| 欧美喷潮久久久xxxxx| 麻豆免费看一区二区三区| 精品三级av在线| 精品在线视频一区| 国产精品三级在线观看| 91在线高清观看| 亚洲国产精品自拍| 日韩一区二区在线看片| 国产精品综合久久| 国产精品福利电影一区二区三区四区| 99精品黄色片免费大全| 天堂影院一区二区| 久久综合色播五月| 色婷婷一区二区三区四区| 亚洲成av人片在线观看无码| 欧美一区二区三区在| 国产一区二区三区免费观看| 亚洲欧洲国产专区| 8x8x8国产精品| 国产精品一区二区在线观看不卡 | 日本不卡中文字幕| 亚洲精品一区二区三区四区高清| 成人av电影在线网| 日本中文字幕一区二区有限公司| 久久伊99综合婷婷久久伊| 97超碰欧美中文字幕| 免费成人性网站| 亚洲欧美色一区| 精品成人佐山爱一区二区| 9久草视频在线视频精品| 日韩高清一区二区| 中国av一区二区三区| 欧美日韩成人综合天天影院| 懂色av一区二区三区蜜臀| 亚洲国产综合91精品麻豆| 久久久不卡影院| 欧美精品久久一区| 97se亚洲国产综合自在线| 狠狠网亚洲精品| 亚洲成在人线在线播放| 国产日韩成人精品| 欧美一区二区女人| 欧美影片第一页| av电影在线观看完整版一区二区| 蜜桃av一区二区三区电影| 一区二区三区欧美久久| 国产日韩欧美精品电影三级在线| 91超碰这里只有精品国产| 91在线免费播放| 成人国产精品免费| 国产麻豆成人传媒免费观看| 日韩高清在线观看| 亚洲午夜久久久久久久久电影院 | 精品国产伦一区二区三区观看体验 | 欧美性感一类影片在线播放| 成人午夜电影久久影院| 久久99这里只有精品| 午夜精品久久久久久久久| 亚洲摸摸操操av| 亚洲欧洲成人自拍| 亚洲国产精品激情在线观看| 久久久亚洲综合| 精品美女在线观看| 日韩精品一区二区三区视频在线观看| 欧美性欧美巨大黑白大战| 色综合激情五月| 97se亚洲国产综合自在线观| 国产福利不卡视频| 国产一区二区精品久久| 国内精品国产成人国产三级粉色 | 丝袜a∨在线一区二区三区不卡| 亚洲精品菠萝久久久久久久| 亚洲女与黑人做爰| 亚洲精品高清在线观看| 亚洲在线视频免费观看| 亚洲自拍偷拍网站| 日韩黄色免费电影| 男女男精品视频网| 美腿丝袜亚洲三区| 免费成人av资源网| 激情五月婷婷综合| 高清成人免费视频| 91女厕偷拍女厕偷拍高清| 91久久人澡人人添人人爽欧美| 日本精品一区二区三区高清| 欧美日韩一区二区三区四区| 欧美日韩视频第一区| 欧美精品v国产精品v日韩精品| 欧美精品在线视频| 日韩精品一区二区三区四区视频 | 美女视频一区二区三区| 精久久久久久久久久久| 国产激情精品久久久第一区二区 | 丰满少妇在线播放bd日韩电影| 成人高清免费在线播放| 色综合天天视频在线观看| 欧美三片在线视频观看| 精品国产乱码久久久久久蜜臀 | 色诱亚洲精品久久久久久| 欧美日本在线视频| 精品久久一二三区| 亚洲免费观看高清| 免费一区二区视频| 成人开心网精品视频| 欧美日韩日日骚| 久久亚洲精品小早川怜子| 亚洲精品成a人| 久久疯狂做爰流白浆xx| 不卡免费追剧大全电视剧网站| 欧美性生交片4| 国产日韩欧美在线一区| 亚洲一二三专区| 国产精品一区不卡| 欧美日韩视频在线一区二区| 久久久精品人体av艺术| 亚洲专区一二三| 国产一区二区日韩精品| 欧美体内she精视频| 久久久久久一二三区| 一区二区日韩av| 国产黄人亚洲片| 欧美一级爆毛片| 亚洲一二三区在线观看| 国产精品99久久久久久宅男| 欧美日韩视频不卡| 国产精品第四页| 久久91精品久久久久久秒播| 色香蕉久久蜜桃| 国产欧美日韩精品在线| 蜜桃av一区二区三区| 欧美午夜理伦三级在线观看| 国产精品初高中害羞小美女文| 久久成人精品无人区| 欧美三级一区二区| 国产精品久久久久9999吃药| 极品少妇一区二区| 日韩精品专区在线| 图片区小说区国产精品视频| 99久久精品国产精品久久| 久久精品夜色噜噜亚洲aⅴ| 五月天一区二区三区| 欧美系列日韩一区| 亚洲欧美日本韩国| 国产成人午夜99999| 久久综合九色欧美综合狠狠 | 在线电影院国产精品| 一区二区视频在线看| 成人一区二区三区视频在线观看| 日韩午夜av一区| 久久不见久久见中文字幕免费| 91精品国产综合久久香蕉的特点| 亚洲国产另类av| 欧美男男青年gay1069videost| 亚洲一区二区三区视频在线| 色爱区综合激月婷婷| 亚洲欧美国产高清| 91福利在线导航| 亚洲国产你懂的| 欧美人伦禁忌dvd放荡欲情| 日本不卡123| 精品国产一区二区三区久久影院| 麻豆精品久久精品色综合|