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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sdram_test_component.vhd

?? 一個(gè)畢業(yè)設(shè)計(jì)
?? VHD
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
--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;
--

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久图片| 555夜色666亚洲国产免| 日韩美一区二区三区| 国产精品国模大尺度视频| 美女在线一区二区| 91官网在线免费观看| 中文字幕成人网| 久久www免费人成看片高清| 欧美色手机在线观看| 中文字幕在线不卡视频| 国产美女av一区二区三区| 欧美一区二区三区四区视频| 亚洲午夜激情av| 在线一区二区观看| 国产精品久久久久久久久晋中| 激情深爱一区二区| 欧美一区二区三区婷婷月色| 一区二区三区在线观看视频| 99精品热视频| 中文字幕五月欧美| 国产精品一区二区91| 日韩精品中文字幕在线一区| 日韩专区一卡二卡| 欧美日韩国产免费| 亚洲欧美一区二区三区孕妇| 成人黄页毛片网站| 中文字幕av在线一区二区三区| 国产一区二区在线影院| 精品久久人人做人人爰| 麻豆免费看一区二区三区| 欧美一区二区日韩一区二区| 亚洲成精国产精品女| 欧美中文字幕不卡| 亚洲午夜影视影院在线观看| 欧美色精品在线视频| 亚洲无线码一区二区三区| 欧美自拍丝袜亚洲| 亚洲第一电影网| 欧美日韩国产中文| 奇米色一区二区| 日韩欧美国产三级| 久久99精品久久只有精品| 欧美成人一区二区三区片免费| 久久99久久久久久久久久久| 日韩欧美一区二区久久婷婷| 麻豆国产欧美日韩综合精品二区| 日韩欧美一二区| 国产精品资源在线| 国产精品久久一级| 色婷婷av久久久久久久| 亚洲一区在线观看免费观看电影高清 | 国产亚洲欧洲997久久综合| 国产呦精品一区二区三区网站| 久久久精品欧美丰满| 成人国产电影网| 一个色综合网站| 3d动漫精品啪啪1区2区免费 | 亚洲视频香蕉人妖| 在线日韩av片| 人人超碰91尤物精品国产| 精品国产成人系列| 成人免费毛片aaaaa**| 亚洲欧美另类在线| 欧美性感一区二区三区| 日韩国产欧美在线观看| 2017欧美狠狠色| www.欧美日韩| 午夜视频一区二区| 日韩欧美国产一二三区| 国产99久久久国产精品| 一区二区三区毛片| 日韩精品自拍偷拍| av中文字幕在线不卡| 亚洲成人av免费| 久久久国产综合精品女国产盗摄| 成年人网站91| 天天影视色香欲综合网老头| 久久久噜噜噜久久人人看 | 日韩中文字幕不卡| 久久久精品日韩欧美| 日本精品一级二级| 免费亚洲电影在线| 18成人在线观看| 91精品国产综合久久蜜臀| 大桥未久av一区二区三区中文| 亚洲午夜久久久久中文字幕久| 精品国产亚洲在线| 99re热这里只有精品视频| 蜜臀久久99精品久久久久久9| 国产精品久久毛片a| 欧美精品第1页| 国产成人午夜精品5599| 亚洲综合免费观看高清完整版| 欧美刺激午夜性久久久久久久 | 美女视频一区在线观看| 国产精品美女久久久久久久久| 精品视频1区2区3区| 处破女av一区二区| 日本视频一区二区| 亚洲三级电影网站| 精品国产凹凸成av人网站| 91黄色在线观看| 国产一区在线看| 午夜精品久久一牛影视| 国产精品亲子乱子伦xxxx裸| 欧美一区二区三区白人| 91在线国内视频| 精品一区二区三区在线观看 | 亚洲精品精品亚洲| 久久久另类综合| 欧美日韩国产另类不卡| 99视频有精品| 国产在线麻豆精品观看| 日韩电影免费一区| 亚洲欧美视频在线观看视频| 久久久精品tv| 精品日韩一区二区三区| 欧美精品丝袜久久久中文字幕| 99精品久久久久久| 国产精品一区三区| 美女视频黄久久| 天堂蜜桃91精品| 亚洲精品日产精品乱码不卡| 国产午夜精品一区二区三区视频| 日韩亚洲欧美中文三级| 欧美日韩免费在线视频| 91麻豆免费看片| 成人午夜电影久久影院| 国精产品一区一区三区mba桃花| 视频在线在亚洲| 亚洲国产一区二区三区| 亚洲黄色小说网站| 国产精品久久精品日日| 久久久久久久免费视频了| 日韩精品最新网址| 日韩午夜av电影| 欧美一区二区性放荡片| 9191精品国产综合久久久久久| 在线观看日韩一区| 色av综合在线| 色狠狠综合天天综合综合| 99精品桃花视频在线观看| jiyouzz国产精品久久| 成人理论电影网| 国产99久久久国产精品潘金网站| 国产福利91精品| 国产成人午夜精品5599| 国产成人一级电影| 国产91在线观看丝袜| 成人一区二区视频| 成人激情文学综合网| va亚洲va日韩不卡在线观看| 99久久国产综合精品麻豆| av不卡在线观看| 91免费看视频| 91成人免费在线| 欧洲一区在线电影| 欧美日韩aaaaaa| 欧美精品vⅰdeose4hd| 91精品午夜视频| 欧美成人aa大片| 久久久高清一区二区三区| 欧美—级在线免费片| 亚洲欧洲精品一区二区三区不卡 | 欧美va亚洲va香蕉在线| 精品国产1区二区| 国产欧美一区二区精品秋霞影院| 国产情人综合久久777777| 国产精品女主播在线观看| 日韩一区中文字幕| 亚洲午夜在线观看视频在线| 日韩专区欧美专区| 激情六月婷婷久久| 成人性视频免费网站| 91同城在线观看| 欧美性生活影院| 日韩美女在线视频| 国产欧美日韩三区| 尤物在线观看一区| 日本成人在线网站| 福利电影一区二区三区| 99re视频精品| 欧美一区二区在线免费播放| 久久久久久久综合狠狠综合| 亚洲欧洲国产日本综合| 亚洲一卡二卡三卡四卡五卡| 日本不卡视频在线| 国产高清精品久久久久| 色一情一伦一子一伦一区| 91精品国产综合久久精品麻豆| 精品国产一区二区三区忘忧草| 国产精品丝袜久久久久久app| 亚洲激情综合网| 美女高潮久久久| 成人久久久精品乱码一区二区三区| 欧洲在线/亚洲| 久久色在线视频| 一区二区三区国产| 久久www免费人成看片高清| 99视频热这里只有精品免费|