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

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

?? sdram_test_component.vhd

?? 一個畢業設計
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
--Copyright (C) 1991-2004 Altera Corporation
--Any megafunction design, and related net list (encrypted or decrypted),
--support information, device programming or simulation file, and any other
--associated documentation or information provided by Altera or a partner
--under Altera's Megafunction Partnership Program may be used only to
--program PLD devices (but not masked PLD devices) from Altera.  Any other
--use of such megafunction design, net list, support information, device
--programming or simulation file, or any other related documentation or
--information is prohibited for any other purpose, including, but not
--limited to modification, reverse engineering, de-compiling, or use with
--any other silicon devices, unless such use is explicitly licensed under
--a separate agreement with Altera or a megafunction partner.  Title to
--the intellectual property, including patents, copyrights, trademarks,
--trade secrets, or maskworks, embodied in any such megafunction design,
--net list, support information, device programming or simulation file, or
--any other related documentation or information provided by Altera or a
--megafunction partner, remains with Altera, the megafunction partner, or
--their respective licensors.  No other licenses, including any licenses
--needed under any third party's intellectual property, are provided herein.
--Copying or modifying any file, or portion thereof, to which this notice
--is attached violates this copyright.

--exemplar translate_off

library altera_vhdl_support;
use altera_vhdl_support.altera_vhdl_support_lib.all;

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

library std;
use std.textio.all;

entity sdram_test_component_ram_module is 
        port (
              -- inputs:
                 signal data : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
                 signal rdaddress : IN STD_LOGIC_VECTOR (21 DOWNTO 0);
                 signal rdclken : IN STD_LOGIC;
                 signal wraddress : IN STD_LOGIC_VECTOR (21 DOWNTO 0);
                 signal wrclock : IN STD_LOGIC;
                 signal wren : IN STD_LOGIC;

              -- outputs:
                 signal q : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
              );
end entity sdram_test_component_ram_module;


architecture europa of sdram_test_component_ram_module is
              signal internal_q :  STD_LOGIC_VECTOR (31 DOWNTO 0);
              TYPE mem_array is ARRAY( 4194303 DOWNTO 0) of STD_LOGIC_VECTOR(31 DOWNTO 0);
              signal memory_has_been_read :  STD_LOGIC;
              signal read_address :  STD_LOGIC_VECTOR (21 DOWNTO 0);

      
FUNCTION convert_string_to_number(string_to_convert : STRING;
      final_char_index : NATURAL := 0)
RETURN NATURAL IS
   VARIABLE result: NATURAL := 0;
   VARIABLE current_index : NATURAL := 1;
   VARIABLE the_char : CHARACTER;

   BEGIN
      IF final_char_index = 0 THEN
         result := 0;
	 ELSE
         WHILE current_index <= final_char_index LOOP
            the_char := string_to_convert(current_index);
            IF    '0' <= the_char AND the_char <= '9' THEN
               result := result * 16 + character'pos(the_char) - character'pos('0');
            ELSIF 'A' <= the_char AND the_char <= 'F' THEN
               result := result * 16 + character'pos(the_char) - character'pos('A') + 10;
            ELSIF 'a' <= the_char AND the_char <= 'f' THEN
               result := result * 16 + character'pos(the_char) - character'pos('a') + 10;
            ELSE
               report "Ack, a formatting error!";
            END IF;
            current_index := current_index + 1;
         END LOOP;
      END IF; 
   RETURN result;
END convert_string_to_number;

 FUNCTION convert_string_to_std_logic(value : STRING; num_chars : INTEGER; mem_width_bits : INTEGER)
 RETURN STD_LOGIC_VECTOR is			   
     VARIABLE conv_string: std_logic_vector((mem_width_bits + 4)-1 downto 0);
     VARIABLE result : std_logic_vector((mem_width_bits -1) downto 0);
     VARIABLE curr_char : integer;
              
     BEGIN
     result := (others => '0');
     conv_string := (others => '0');
     
          FOR I IN 1 TO num_chars LOOP
	     curr_char := num_chars - (I-1);

             CASE value(I) IS
               WHEN '0' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0000";
               WHEN '1' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0001";
               WHEN '2' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0010";
               WHEN '3' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0011";
               WHEN '4' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0100";
               WHEN '5' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0101";
               WHEN '6' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0110";
               WHEN '7' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "0111";
               WHEN '8' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1000";
               WHEN '9' =>  conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1001";
               WHEN 'A' | 'a' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1010";
               WHEN 'B' | 'b' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1011";
               WHEN 'C' | 'c' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1100";
               WHEN 'D' | 'd' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1101";
               WHEN 'E' | 'e' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1110";
               WHEN 'F' | 'f' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "1111";
               WHEN 'X' | 'x' => conv_string((4*curr_char)-1  DOWNTO 4*(curr_char-1)) := "XXXX";
               WHEN ' ' => EXIT;
               WHEN HT  => exit;
               WHEN others =>
                  ASSERT False
                  REPORT "function From_Hex: string """ & value & """ contains non-hex character"
                       severity Error;
                  EXIT;
               END case;
            END loop;

          -- convert back to normal bit size
          result(mem_width_bits - 1 downto 0) := conv_string(mem_width_bits - 1 downto 0);

          RETURN result;
        END convert_string_to_std_logic;



begin
   process (wrclock, rdaddress) -- MG
    VARIABLE data_line : LINE;
    VARIABLE the_character_from_data_line : CHARACTER;
    VARIABLE b_munging_address : BOOLEAN := FALSE;
    VARIABLE converted_number : NATURAL := 0;
    VARIABLE found_string_array : STRING(1 TO 128);
    VARIABLE string_index : NATURAL := 0;
    VARIABLE line_length : NATURAL := 0;
    VARIABLE b_convert : BOOLEAN := FALSE;
    VARIABLE b_found_new_val : BOOLEAN := FALSE;
    VARIABLE load_address : NATURAL := 0;
    VARIABLE mem_index : NATURAL := 0;
    VARIABLE mem_init : BOOLEAN := FALSE;
    
    VARIABLE wr_address_internal : STD_LOGIC_VECTOR (21 DOWNTO 0) := (others => '0');
    FILE memory_contents_file : TEXT OPEN read_mode IS "sdram.dat";  
    variable Marc_Gaucherons_Memory_Variable : mem_array; -- MG
    
    begin
   -- need an initialization process
   -- this process initializes the whole memory array from a named file by copying the
   -- contents of the *.dat file to the memory array.

   -- find the @<address> thingy to load the memory from this point 
IF(NOT mem_init) THEN
   WHILE NOT(endfile(memory_contents_file)) LOOP

      readline(memory_contents_file, data_line);
      line_length := data_line'LENGTH;


      WHILE line_length > 0 LOOP
         read(data_line, the_character_from_data_line);

	       -- check for the @ character indicating a new address wad
 	       -- if not found, we're either still reading the new address _or_loading data
         IF '@' = the_character_from_data_line AND NOT b_munging_address THEN
  	    b_munging_address := TRUE;
            b_found_new_val := TRUE; 
	    -- get the rest of characters before white space and then convert them
	    -- to a number
	 ELSE 

            IF (' ' = the_character_from_data_line AND b_found_new_val) 
		OR (line_length = 1) THEN
               b_convert := TRUE;
	    END IF;

            IF NOT(' ' = the_character_from_data_line) THEN
               string_index := string_index + 1;
               found_string_array(string_index) := the_character_from_data_line;
--               IF NOT(b_munging_address) THEN
--                 dat_string_array(string_index) := the_character_from_data_line;
--               END IF;
	       b_found_new_val := TRUE;
            END IF;
	 END IF;

     IF b_convert THEN

       IF b_munging_address THEN
          converted_number := convert_string_to_number(found_string_array, string_index);    
          load_address := converted_number;
          mem_index := load_address;
--          mem_index := load_address / 4;
          b_munging_address := FALSE;
       ELSE
	  IF (mem_index < 4194304) THEN
	    Marc_Gaucherons_Memory_Variable(mem_index) := convert_string_to_std_logic(found_string_array, string_index, 32);
            mem_index := mem_index + 1;
          END IF;
       END IF; 
       b_convert := FALSE;
       b_found_new_val := FALSE;
       string_index := 0;
    END IF;
    line_length := line_length - 1; 
    END LOOP;

END LOOP;
-- get the first _real_ block of data, sized to our memory width
-- and keep on loading.
  mem_init := TRUE;
END IF;
-- END OF READMEM



      -- Write data
      if wrclock'event and wrclock = '1' then
        wr_address_internal := wraddress;
        if wren = '1' then 
          Marc_Gaucherons_Memory_Variable(CONV_INTEGER(UNSIGNED(wr_address_internal))) := data;
        end if;
      end if;

      -- read data
      q <= Marc_Gaucherons_Memory_Variable(CONV_INTEGER(UNSIGNED(rdaddress)));
      


    end process;
end europa;

--exemplar translate_on


--synthesis read_comments_as_HDL on
--library altera_vhdl_support;
--use altera_vhdl_support.altera_vhdl_support_lib.all;
--
--library ieee;
--use ieee.std_logic_1164.all;
--use ieee.std_logic_arith.all;
--use ieee.std_logic_unsigned.all;
--
--library std;
--use std.textio.all;
--
--entity sdram_test_component_ram_module is 
--        port (
--              
--                 signal data : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
--                 signal rdaddress : IN STD_LOGIC_VECTOR (21 DOWNTO 0);
--                 signal rdclken : IN STD_LOGIC;
--                 signal wraddress : IN STD_LOGIC_VECTOR (21 DOWNTO 0);
--                 signal wrclock : IN STD_LOGIC;
--                 signal wren : IN STD_LOGIC;
--

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人你懂的| 亚洲图片一区二区| 精品久久久久一区二区国产| 91.成人天堂一区| 午夜天堂影视香蕉久久| 亚洲欧美二区三区| 亚洲免费观看在线视频| 1000精品久久久久久久久| 国产精品无码永久免费888| 国产欧美日韩在线看| 国产拍揄自揄精品视频麻豆| 国产亚洲精品福利| 国产精品黄色在线观看| 国产真实乱子伦精品视频| 看电视剧不卡顿的网站| 麻豆精品一区二区综合av| 国产精品资源站在线| 国产91露脸合集magnet| 99热国产精品| 欧美精品久久一区二区三区| 日韩你懂的在线播放| 久久综合视频网| 亚洲男人的天堂一区二区 | 国产一区在线精品| 国产在线不卡一区| 粉嫩嫩av羞羞动漫久久久| 91网站最新地址| 欧美猛男超大videosgay| 欧美三级在线播放| 精品福利视频一区二区三区| 国产偷国产偷精品高清尤物| 中文乱码免费一区二区| 亚洲成人tv网| 久久97超碰国产精品超碰| 国产一区二区三区在线观看精品 | 国产精品青草综合久久久久99| 久久久99久久精品欧美| 亚洲美腿欧美偷拍| 精品一区二区三区日韩| 成人免费视频视频| 欧美日韩一区二区三区四区| 久久亚洲精品小早川怜子| 国产欧美日韩视频在线观看| 一区二区三区中文在线| 免费在线观看一区二区三区| 99久久久久久99| 精品入口麻豆88视频| 国产一区二区看久久| 欧美日韩在线综合| 国产精品美女www爽爽爽| 日韩综合一区二区| 国产精品视频你懂的| 免费观看成人av| 972aa.com艺术欧美| 精品国产露脸精彩对白| 日韩黄色在线观看| 日本电影亚洲天堂一区| xnxx国产精品| 视频一区国产视频| 91久久精品一区二区三| 国产精品久久久久久妇女6080| 蜜臀精品久久久久久蜜臀| 欧美亚洲国产怡红院影院| 国产精品福利一区| 极品销魂美女一区二区三区| 欧美日韩国产免费| 亚洲午夜激情网页| 91官网在线免费观看| 国产亚洲美州欧州综合国| 毛片av一区二区| 51精品秘密在线观看| 亚洲国产视频a| 色婷婷狠狠综合| 亚洲视频网在线直播| av亚洲精华国产精华| 久久色成人在线| 韩国精品在线观看| 久久久国际精品| 国产一区二区三区四| 26uuu欧美日本| 风间由美性色一区二区三区| 久久久不卡影院| 国产成a人无v码亚洲福利| 国产午夜精品久久久久久免费视| 国产剧情一区二区| 中文字幕av资源一区| 成人av在线一区二区三区| 亚洲欧洲精品一区二区精品久久久| 成人在线视频一区| 亚洲特级片在线| 91国在线观看| 日本成人中文字幕| 精品久久人人做人人爰| 国产精品资源在线观看| 亚洲视频免费看| 精品1区2区3区| 国产美女在线精品| 一区二区在线观看免费| 欧美伊人久久久久久午夜久久久久| 丝袜亚洲另类丝袜在线| 日韩精品一区二区三区在线| 成人一区二区三区中文字幕| 有码一区二区三区| 欧美日韩第一区日日骚| 久久国产三级精品| 久久亚区不卡日本| 91小视频免费看| 亚洲成a人片在线观看中文| 日韩一级完整毛片| 成人免费不卡视频| 丝袜美腿亚洲色图| 国产色一区二区| 欧美三区在线观看| 国产在线观看一区二区| 亚洲精品国产无天堂网2021| 日韩欧美国产成人一区二区| 国产91在线|亚洲| 亚洲成a人v欧美综合天堂下载 | 国产东北露脸精品视频| 欧美高清在线一区| 欧美日韩国产一级二级| 波多野洁衣一区| 蜜臀av性久久久久蜜臀av麻豆| 成人精品国产一区二区4080| 日韩vs国产vs欧美| 一区二区三区不卡视频| 久久久不卡网国产精品一区| 欧美日韩一卡二卡| www.在线欧美| 国内偷窥港台综合视频在线播放| 伊人色综合久久天天人手人婷| 欧美精品一区二区三区在线播放| 欧美性生交片4| zzijzzij亚洲日本少妇熟睡| 久久 天天综合| 丝袜美腿高跟呻吟高潮一区| 国产精品久久久久久久久久免费看| 日韩三级中文字幕| 一本色道久久综合亚洲精品按摩| 精品一二线国产| 日韩av不卡在线观看| 亚洲欧美日本在线| 国产九色sp调教91| 日本女优在线视频一区二区| 亚洲高清免费观看高清完整版在线观看| 国产精品免费视频观看| 国产亚洲人成网站| 精品福利一区二区三区| 日韩视频国产视频| 欧美日韩国产大片| 色综合欧美在线| 91一区一区三区| 成人少妇影院yyyy| 久久这里只有精品首页| 欧美一区二区在线免费观看| 欧美专区在线观看一区| 91精品福利在线| 日本欧美在线看| 日韩国产高清影视| 亚洲二区视频在线| 国产精品国产三级国产a| 国产精品久久久久久久久果冻传媒 | 亚洲国产aⅴ成人精品无吗| 一区二区三区久久久| 亚洲黄色av一区| 日韩中文字幕1| 日本免费新一区视频| 精品一区二区三区香蕉蜜桃| 精品在线免费视频| 成人精品视频.| 91欧美激情一区二区三区成人| 欧美做爰猛烈大尺度电影无法无天| 日本黄色一区二区| 日韩成人伦理电影在线观看| 日韩黄色片在线观看| 久久福利资源站| 国产成人av电影| 在线观看网站黄不卡| 欧美精品精品一区| 精品国产乱码久久久久久夜甘婷婷| 国产亚洲精品aa午夜观看| 亚洲欧洲日韩综合一区二区| 亚洲韩国精品一区| 激情五月播播久久久精品| 最新日韩av在线| 日韩精品午夜视频| 粉嫩一区二区三区在线看| 色狠狠一区二区| 日韩美女天天操| 国产精品色哟哟| 五月天网站亚洲| 国产99精品国产| 欧美精品高清视频| 中文字幕第一区| 日本成人中文字幕在线视频| 国产高清精品网站| 青青草伊人久久| 91视频国产观看| xfplay精品久久| 亚洲一卡二卡三卡四卡|