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

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

?? makehex.vhd

?? Actel Fusion System Management Development Kit UART Example. Contains Libero design using CoreABC. P
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
variable d0,d1,d2,d3  : std_logic_vector(72 downto 0);
variable ll           : LINE;
variable FSTATUS      : FILE_OPEN_STATUS;
variable filename     : string(1 to 14); 
variable filenameA    : string(1 to 15); 
variable filenameC    : string(1 to 12); 
variable filenameNmem : string(1 to 12); 
variable filenameNhex : string(1 to 12); 
variable str          : string(1 to 14); 
variable strnvm       : string(1 to 40); 
variable dbytes       : integer_array (0 to 511);
variable nvmaddr      : integer;
variable NVMBYTES     : integer;
variable NVMWIDTH     : integer;
variable bytes        : byte_arrayx(0 to 31);
variable hexaddr      : integer;
variable hexstr       : string(1 to 80);
begin
  wait for 10 ns;
  if not enable then
    wait;
  end if;
  if RAMWIDTH<=32 then
    NVMBYTES := RAMDEPTH * 4;
  else
    NVMBYTES := RAMDEPTH * 8;
  end if;
  printf("Creating the Memory Files ID=%d TM=%d",fmt(ID)&fmt(TESTMODE));
  printf("Generator version VHDL 2.3.0 ");
  printf("Memory Information ");
  printf("  Core Configuration AW %d DW %d SW %d",fmt(AWIDTH)&fmt(DWIDTH)&fmt(SWIDTH));
   
  if NROWS>9 or NCOLS>9 then
    printf("Not Creating RAM Initialization files - too many instructions");
  else
    printf("Generating RAM Files");
    printf("  Total RAM size %d x %d",fmt(RAMDEPTH)&fmt(RAMWIDTH));
    printf("  No of Rows %d  No Columns %d ",fmt(NROWS)&fmt(NCOLS));
    printf("  No of 512x9 RAM Blocks %d ",fmt(NRAMS));
    printf("  Initialization RAM size %d x 9",fmt(RIDEPTH));
    printf("  Initialization Address Port Width %d ",fmt(RIWIDTH));
    filenameC :=  "RAMABC_" & CHARACTER'VAL(ID+48) & ".mem";
    file_open(fstatus,FSTRC,filenameC,write_mode);
    printf("  Complete Memory Image File  %s",fmt(filenameC));
    for r in 0 to NROWS-1 loop
      for c in 0 to NCOLS-1 loop
        
        filename :=  "RAMABC_" & CHARACTER'VAL(ID+48) & CHARACTER'VAL(R+48) & CHARACTER'VAL(C+48) & ".mem";
        printf("  Individual RAM Image COL %d ROW %d to %s",fmt(c)&fmt(r)&fmt(filename));
        for i in 0 to 511 loop   
          addr  := r*512 + i;
          dbits := 9*c;
          if addr<2**ICWIDTH then
            address <= conv_std_logic_vector(addr,ICWIDTH);
            wait for 1 ns;
            data := INSCOMPRESSED(dbits+8 downto dbits);
          else
            data := ( others => '0');
          end if;
          dbytes(i)   := conv_integer(data(8 downto 0));
          if DEBUG and i<1 then
             printf("Full Instruction %58b",fmt(INSTRUCTION));
             printf("  Compressed Instruction(w=%d) %58b",fmt(RAMWIDTH)&fmt(INSCOMPRESSED));
               printf("  ROW %d COL %d RAM %d=%09b",fmt(r)&fmt(c)&fmt(i)&fmt(data(8 downto 0)));
          end if;
        end loop;
        
        file_open(fstatus,FSTR,filename,write_mode);
        if not (fstatus=open_ok) then
          assert FALSE  report "  Failed to open Memory File " & filename severity FAILURE; 
        end if;
        for i in 0 to 511 loop   
           sprintf(str,"%09b",fmt(dbytes(i)));
           write( ll , str(1 to 9) );
           writeline(FSTR, ll);   
           write( ll , str(1 to 9) );
           writeline(FSTRC, ll);   
        end loop;
        file_close( FSTR); 
        
        if apa then
          filenameA :=  "RAMABC_" & CHARACTER'VAL(ID+48) & CHARACTER'VAL(R+48) & CHARACTER'VAL(C+48) & "L.mem";
          file_open(fstatus,FSTR,filenameA,write_mode);
          for i in 0 to 255 loop   
             sprintf(str,"%09b",fmt(dbytes(i)));
             write( ll , str(1 to 9) );
             writeline(FSTR, ll);   
          end loop;
          file_close( FSTR); 
          filenameA :=  "RAMABC_" & CHARACTER'VAL(ID+48) & CHARACTER'VAL(R+48) & CHARACTER'VAL(C+48) & "H.mem";
          file_open(fstatus,FSTR,filenameA,write_mode);
          for i in 256 to 511 loop   
             sprintf(str,"%09b",fmt(dbytes(i)));
             write( ll , str(1 to 9) );
             writeline(FSTR, ll);   
          end loop;
          file_close( FSTR); 
        end if;
        
      end loop;
          
    end loop;
    file_close(FSTRC); 
  end if;
 
  NVMWIDTH := 32;
  if RAMWIDTH>32 then
    NVMWIDTH := 64;
  end if;
  
  printf("Generating NVM Files");
  filenameNhex :=  "NVMABC_" & CHARACTER'VAL(ID+48) & ".hex";
  file_open(fstatus,Fhex,filenameNhex,write_mode);
  filenameNmem :=  "NVMABC_" & CHARACTER'VAL(ID+48) & ".mem";
  file_open(fstatus,Fmem,filenameNmem,write_mode);
  printf("  NVM simulation file %s",fmt(filenameNmem));
  printf("  NVM programming file %s",fmt(filenameNhex));
  printf("  NVM uses %d bytes per instruction (Actual Bits=%0d)",fmt(NVMWIDTH/8)&fmt(RAMWIDTH));
  printf("  NVM size %d in byte mode",fmt(RAMDEPTH*NVMWIDTH/8));
  printf("  In SmartGen configure a Data Storage Client");
  printf("     Start Address 0");
  printf("     8-bits wide");
  printf("     %d words",fmt(RAMDEPTH*NVMWIDTH/8));
  printf("     Memory Content File %s (Intel Hex)",fmt(filenameNhex));
  
  nvmaddr :=0;
  hexaddr :=0;
  for i in 0 to RAMDEPTH/4-1 loop   
    for j in 0 to 3 loop
      addr  := i*4+j;
      address <= conv_std_logic_vector(addr,ICWIDTH);
      wait for 1 ns;
      dataw := ( others => '0');
      dataw(IWWIDTH-1+9 downto 0) := INSCOMPRESSED;
      case j is
        when 0 => D0 := dataw;
        when 1 => D1 := dataw;
        when 2 => D2 := dataw;
        when 3 => D3 := dataw;
      end case;
    end loop;
    
    --MEM File Loaded By Simulator
    if NVMWIDTH<=32 then
       sprintf(strnvm,"000%08x%08x%08x%08x",  fmt(d3(31 downto 0))
                                             &fmt(d2(31 downto 0))
                                             &fmt(d1(31 downto 0))
                                             &fmt(d0(31 downto 0)));
       write( ll , strnvm(1 to 32+3) );
       writeline(Fmem, ll);  
       nvmaddr := nvmaddr +1;
    else
       sprintf(strnvm,"000%08x%08x%08x%08x",  fmt(d1(63 downto 32))
                                             &fmt(d1(31 downto 0))
                                             &fmt(d0(63 downto 32))
                                             &fmt(d0(31 downto 0)));
       write( ll , strnvm(1 to 32+3) );
       writeline(Fmem, ll);  
       sprintf(strnvm,"000%08x%08x%08x%08x",  fmt(d3(63 downto 32))
                                             &fmt(d3(31 downto 0))
                                             &fmt(d2(63 downto 32))
                                             &fmt(d2(31 downto 0)));
       write( ll , strnvm(1 to 32+3) );
       writeline(Fmem, ll);  
       nvmaddr := nvmaddr +2;
    end if;
    if nvmaddr-8*(nvmaddr/8)=0 then
      sprintf(strnvm,"@000000000000000000000000000000%04h",fmt(nvmaddr*2));
      write( ll , strnvm(1 to 35) );
      writeline(Fmem, ll);  
    end if; 
    
    -- Hex file loaded by Programmer
    if (65536*(hexaddr/65536)=hexaddr) and hexaddr>0 then	  
      hexstr := create_addr_ihex(hexaddr);   -- insert address record on 64K boundaries
      write( ll , hexstr(1 to 15) );
      writeline(Fhex, ll);  
    end if;
	
    if NVMWIDTH<=32 then
      bytes(0)  := d0( 7 downto 0);
      bytes(1)  := d0(15 downto 8);
      bytes(2)  := d0(23 downto 16);
      bytes(3)  := d0(31 downto 24);
      bytes(4)  := d1( 7 downto 0);
      bytes(5)  := d1(15 downto 8);
      bytes(6)  := d1(23 downto 16);
      bytes(7)  := d1(31 downto 24);
      bytes(8)  := d2( 7 downto 0);
      bytes(9)  := d2(15 downto 8);
      bytes(10) := d2(23 downto 16);
      bytes(11) := d2(31 downto 24);
      bytes(12) := d3( 7 downto 0);
      bytes(13) := d3(15 downto 8);
      bytes(14) := d3(23 downto 16);
      bytes(15) := d3(31 downto 24);
      hexstr  := create_ihex(16,hexaddr,bytes);
      hexaddr := hexaddr + 16;
      write( ll , hexstr(1 to 2*16+11) );
      writeline(Fhex, ll);  
    else
      bytes(0)  := d0( 7 downto 0);
      bytes(1)  := d0(15 downto 8);
      bytes(2)  := d0(23 downto 16);
      bytes(3)  := d0(31 downto 24);
      bytes(4)  := d0(39 downto 32);
      bytes(5)  := d0(47 downto 40);
      bytes(6)  := d0(55 downto 48);
      bytes(7)  := d0(63 downto 56);
      bytes(8)  := d1( 7 downto 0);
      bytes(9)  := d1(15 downto 8);
      bytes(10) := d1(23 downto 16);
      bytes(11) := d1(31 downto 24);
      bytes(12) := d1(39 downto 32);
      bytes(13) := d1(47 downto 40);
      bytes(14) := d1(55 downto 48);
      bytes(15) := d1(63 downto 56);
      hexstr := create_ihex(16,hexaddr,bytes);
      write( ll , hexstr(1 to 2*16+11) );
      writeline(Fhex, ll);  
      hexaddr := hexaddr + 16;
      bytes(0)  := d2( 7 downto 0);
      bytes(1)  := d2(15 downto 8);
      bytes(2)  := d2(23 downto 16);
      bytes(3)  := d2(31 downto 24);
      bytes(4)  := d2(39 downto 32);
      bytes(5)  := d2(47 downto 40);
      bytes(6)  := d2(55 downto 48);
      bytes(7)  := d2(63 downto 56);
      bytes(8)  := d3( 7 downto 0);
      bytes(9)  := d3(15 downto 8);
      bytes(10) := d3(23 downto 16);
      bytes(11) := d3(31 downto 24);
      bytes(12) := d3(39 downto 32);
      bytes(13) := d3(47 downto 40);
      bytes(14) := d3(55 downto 48);
      bytes(15) := d3(63 downto 56);
      hexstr := create_ihex(16,hexaddr,bytes);
      write( ll , hexstr(1 to 2*16+11) );
      writeline(Fhex, ll);  
      hexaddr := hexaddr + 16;
    end if;
    
  end loop;
  hexstr := ( others => NUL);
  hexstr(1 to 11) := ":00000001FF";
  write( ll ,hexstr(1 to 11));
  writeline(Fhex, ll);   
  file_close(Fhex); 
  file_close(Fmem); 
          
  printf("Finished Memory File Creation");
  printf(" ");
  wait;
end process;


end RTL;
  
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产电影一区二区三区| 天天亚洲美女在线视频| 亚洲免费色视频| 男女激情视频一区| 日韩福利视频网| 色呦呦国产精品| 欧美成人性战久久| 亚洲精品视频在线看| 免费在线一区观看| 欧美中文字幕一区二区三区| 欧美国产精品中文字幕| 精品在线免费观看| 欧美一区二区三区四区高清| 亚洲黄色片在线观看| 粉嫩av一区二区三区粉嫩| 欧美tickling挠脚心丨vk| 午夜精品福利一区二区三区av| 91蝌蚪porny成人天涯| 久久精品视频免费| 激情图片小说一区| 日韩欧美国产综合| 蜜臀a∨国产成人精品| 91精品国产综合久久精品app| 亚洲精品五月天| 91老师片黄在线观看| 国产精品九色蝌蚪自拍| 成人av网站免费观看| 国产精品久久久久久久久久久免费看| 久久99热国产| 久久影院电视剧免费观看| 国内精品嫩模私拍在线| 精品久久人人做人人爰| 国内一区二区在线| 国产婷婷色一区二区三区在线| 黄色小说综合网站| 国产亚洲人成网站| 成人黄色电影在线| 亚洲欧美日韩久久精品| 色天使久久综合网天天| 夜夜揉揉日日人人青青一国产精品| 成人午夜激情影院| 亚洲精品国产高清久久伦理二区| 91麻豆精品视频| 亚洲第一福利一区| 亚洲四区在线观看| 欧美日韩中文一区| 免费观看91视频大全| 精品成人a区在线观看| 国产乱一区二区| 国产精品福利在线播放| 欧美中文字幕一区二区三区亚洲| 丝袜美腿亚洲色图| 久久久综合视频| av网站一区二区三区| 亚洲永久免费视频| 日韩欧美不卡一区| 99这里都是精品| 亚洲va国产天堂va久久en| 4438成人网| 国产精品综合二区| 亚洲精品成人a在线观看| 制服丝袜一区二区三区| 国产精品一二三区在线| 一区二区免费看| 精品日韩一区二区| 色悠久久久久综合欧美99| 另类小说欧美激情| 综合分类小说区另类春色亚洲小说欧美 | 欧美色网站导航| 美女精品自拍一二三四| 亚洲色图欧美激情| 欧美xxxxxxxx| 欧洲av一区二区嗯嗯嗯啊| 狠狠色伊人亚洲综合成人| 亚洲精品水蜜桃| 欧美经典一区二区三区| 6080午夜不卡| 91蜜桃在线免费视频| 久久超碰97中文字幕| 亚洲一区二区三区四区在线观看| 久久人人超碰精品| 欧美精品欧美精品系列| zzijzzij亚洲日本少妇熟睡| 久久99精品视频| 午夜影视日本亚洲欧洲精品| 中文字幕精品综合| 精品电影一区二区| 欧美一区二区在线不卡| 欧美影院午夜播放| 色先锋久久av资源部| 国产河南妇女毛片精品久久久 | 国产精品麻豆欧美日韩ww| 91麻豆精品国产91久久久 | 亚洲久草在线视频| 久久久国产综合精品女国产盗摄| 欧美日本国产视频| 国产精品水嫩水嫩| 精品免费国产一区二区三区四区| 色天天综合久久久久综合片| 成人激情小说乱人伦| 九色综合国产一区二区三区| 午夜婷婷国产麻豆精品| 亚洲欧美电影院| 中文字幕在线一区| 国产精品视频一二三区| 日本一区二区久久| 久久人人爽人人爽| 久久久久久久久伊人| 久久综合久久99| 久久久久久夜精品精品免费| 久久女同性恋中文字幕| 久久久久成人黄色影片| 久久久久亚洲蜜桃| 欧美极品少妇xxxxⅹ高跟鞋| 欧美激情一区二区三区不卡| 国产欧美日韩一区二区三区在线观看| 久久伊99综合婷婷久久伊| 精品国产一二三区| 久久综合精品国产一区二区三区| 欧美xxxx老人做受| 国产色产综合产在线视频| 欧美经典三级视频一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品电影一区二区| 亚洲欧美精品午睡沙发| 一区二区成人在线视频| 首页国产丝袜综合| 久久99精品久久久久久国产越南 | 99视频精品全部免费在线| 97精品视频在线观看自产线路二| 99久久99久久免费精品蜜臀| 91美女片黄在线观看| 欧美精品三级在线观看| 精品国产一区二区亚洲人成毛片| 欧美激情在线看| 一级特黄大欧美久久久| 免费观看91视频大全| 国产精品自产自拍| 97久久超碰国产精品| 欧美久久一二三四区| 精品粉嫩超白一线天av| 国产精品久久久久久一区二区三区| 成人欧美一区二区三区| 日韩精品每日更新| 国产91富婆露脸刺激对白| 91亚洲午夜精品久久久久久| 91精品国产高清一区二区三区蜜臀| 精品欧美一区二区在线观看| 国产欧美综合在线观看第十页| 亚洲蜜桃精久久久久久久| 免费日韩伦理电影| bt欧美亚洲午夜电影天堂| 欧美欧美午夜aⅴ在线观看| 久久久久久久久久久久电影| 亚洲精品伦理在线| 国产一区二区三区综合| 欧洲精品一区二区三区在线观看| 日韩欧美高清在线| 亚洲国产人成综合网站| 国产精品一区二区男女羞羞无遮挡| 色狠狠一区二区| 国产精品污网站| 免费在线观看一区二区三区| 色嗨嗨av一区二区三区| 久久免费电影网| 免费成人在线播放| 在线观看日韩电影| 国产农村妇女毛片精品久久麻豆| 日本中文字幕一区| 日本韩国一区二区三区视频| 2021中文字幕一区亚洲| 日韩高清国产一区在线| 色婷婷综合久色| 中文字幕一区二区在线播放| 国产一区二区三区四区在线观看| 欧美另类久久久品| 亚洲最新视频在线观看| 成人ar影院免费观看视频| 欧美成人伊人久久综合网| 日韩vs国产vs欧美| 欧美三级蜜桃2在线观看| 亚洲天堂免费看| 成人精品视频.| 久久久91精品国产一区二区精品| 青青草视频一区| 91精品国产aⅴ一区二区| 亚洲一区二区三区四区在线观看 | 97久久精品人人做人人爽50路| 久久午夜电影网| 精品一区二区久久| 日韩午夜av电影| 日韩国产欧美在线播放| 欧美巨大另类极品videosbest | 免费观看在线色综合| 欧美一区二区视频网站| 亚洲大片一区二区三区| 欧美色精品天天在线观看视频| **欧美大码日韩| 99久久99久久精品免费观看| 中文字幕色av一区二区三区|