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

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

?? a.vhd

?? ASIC Design using VHDL by Shyam Mani
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
                    IF(to_integer(unsigned(small_count)) = 1) THEN
                      ba_sig <= addr_from_up(23 downto 22) ;
                      command_bus <= precharge;
                      addr_sig <= addr_sig; 
                      rd_wr_just_terminated <= '1';
                    ELSIF(to_integer(unsigned(small_count)) = trp) THEN
                      ba_sig <= ba_sig; 
                      command_bus <= nop;
                      rd_wr_just_terminated <= '0';
                      addr_sig <= addr_sig; 
                    ELSE
                      ba_sig <= ba_sig; 
                      command_bus <= nop;
                      addr_sig <= addr_sig; 
                      rd_wr_just_terminated <= rd_wr_just_terminated;
                    END IF;



                ----------------------------------------------------
                --dram auto_refereshes
                ----------------------------------------------------
              ELSIF(auto_ref_pending = '1') THEN
              --perform auto ref, and decrement auto ref counter
                IF (small_all_zeros = '1')THEN
                --IF (to_integer(unsigned(small_count)) = trp)THEN
                  command_bus <= auto_ref; 
                  --auto_ref_in_prog <= '1';
                  one_auto_ref_complete <= '0'; 
                ELSIF ((to_integer(unsigned(small_count)) = trfc)) THEN
                  command_bus <= nop; 
                  one_auto_ref_complete <= '1'; 
                  --auto_ref_in_prog <= '0';
                ELSE
                  command_bus <= nop; 
                  one_auto_ref_complete <= '0'; 
                  --auto_ref_in_prog <= auto_ref_in_prog;
                END IF;
                ----------------------------------------------------
                --dram auto_refereshes Ends
                ----------------------------------------------------
              --ELSIF(auto_ref_pending = '0') THEN
              END IF; --(if dram_init_done_s = '1')
            END IF; --IF(reset = '1')
          END IF; --IF(RISING_EDGE(clk_in))
	END PROCESS init_reg;

--##############################################################################
--  Process:  
--##############################################################################

	reset_del_count_gen_reg: PROCESS(clk_in)
	BEGIN
        IF(RISING_EDGE(clk_in)) THEN
          dram_init_done_s_del <= dram_init_done_s;
        END IF;
	END PROCESS reset_del_count_gen_reg;

--generate a pulse on reset_del_count while dram_init_done_s goes high
reset_del_count <= dram_init_done_s AND not(dram_init_done_s_del);


--##############################################################################
--  Process:  
--##############################################################################
	gen_auto_ref_pending_cmb: PROCESS (no_of_refs_needed)

	BEGIN
        IF(to_integer(unsigned(no_of_refs_needed)) = 0) THEN 
          auto_ref_pending <= '0';
        ELSE
          auto_ref_pending <= '1';
        END IF;
	END PROCESS gen_auto_ref_pending_cmb;


--##############################################################################
--  Process: This process is responsible for generating counts for
--           producing delays after a command is issued to the dram
--           to ensure the various timing requirements for the dram
--           It is thaught that this counter is reset as soon as
--           any command is issued, therafter we can produce delays
--           w.r.t the count held in this register
--           since a command is characterized by command_bus(4)
--           command_bus(3) and command_bus(2), if any of them is
--           '0', we will reset this counter. 
--           This counter will be free running. 
--##############################################################################

	small_count_reg: PROCESS(clk_in,reset)
        VARIABLE all_ones: std_logic;
	BEGIN
        IF(reset = '1') THEN
            small_count <= (others => '0');
        ELSIF(RISING_EDGE(clk_in)) THEN
          --IF((command_bus(2) = '0') OR (command_bus(3) = '0') 
          --OR (command_bus(4) = '0')) THEN
            all_ones  := small_count(0);
            FOR i in 1 to len_small - 1 LOOP
              all_ones := all_ones AND small_count(i);
            END LOOP;
            IF((one_auto_ref_time_done = '1' AND wr_n_from_up = '1'
                AND rd_n_from_up = '1') OR 
              --above means when there is no read or write cycle going on
              --then only auto ref events happen
              (one_auto_ref_complete = '1' AND wr_n_from_up = '1'
                AND rd_n_from_up = '1') OR 
              --above means when there is no read or write cycle going on
              --then only auto ref events happen

              (wr_n_from_up_del_1 = '0' AND rd_n_from_up = '1'
               AND wr_n_from_up = '1') OR
              --the above means, that its just that a read or write is 
              --over

              (wr_n_from_up_pulse = '1') OR

              (  (to_integer(unsigned(small_count)) = trp) AND
                 (rd_wr_just_terminated = '1')  )

              ) THEN
              --the above means, that just after the read and wirte is over
              --the issued precharge command is also over, the small counter
              --needs to be reset, in order to count for an auto_ref cycle.


              --In summary the reset of the small_count will be performed
              --1) In auto referesh mode, at each referesh compete
              --2) During write operation to count the trcd which is the wait
              --3) During read  operation to count the trcd which is the wait
              --   Time after ACTIVE COMMAND
              --4) Just after READ/WRITE command is over, for PRECHARGE op
              --5).Just after READ/WRITE command is over and PRECHARGE is also
                   --over, so that it starts fresh counting for A_REF.

              small_count <= (others => '0');
            ELSIF(all_ones = '1') THEN
              small_count <= small_count;
            ELSE
              --Let the small_count until it reaches its max value
              --where it will hang and wait for further reset command issued
              --As written above
              --IF((wr_n_from_up = '0') OR (rd_n_from_up = '0') 
              --OR (auto_ref_pending = '1')) THEN
                small_count <= incr_vec(small_count);
              --ELSE
              --  small_count <= small_count;
              --END IF;
            END IF; -- IF(all_ones = '1')
          --END IF; --((command_bus(2) = '0')...
        END IF; --reset
        --END IF; --(RISING_EDGE(clk_in))

	END PROCESS small_count_reg;

--##############################################################################
--  Process:  
--##############################################################################
	gen_small_all_zeros_cmb: PROCESS (small_count)
	VARIABLE small_all_zeros_var: std_logic;
	BEGIN
          small_all_zeros_var := small_count(0);
        FOR i in 1 to len_small - 1 LOOP
          small_all_zeros_var := small_all_zeros_var OR small_count(i);
        END LOOP;
        small_all_zeros <= not(small_all_zeros_var);
	END PROCESS gen_small_all_zeros_cmb;

--##############################################################################
--  Process:  
--##############################################################################

	wr_n_from_up_del_reg: PROCESS(clk_in)
	BEGIN
        IF(RISING_EDGE(clk_in)) THEN
          wr_n_from_up_del_1 <= wr_n_from_up AND rd_n_from_up;
          wr_n_from_up_del_2 <= wr_n_from_up_del_1;
        END IF;
	END PROCESS wr_n_from_up_del_reg;
        wr_n_from_up_pulse <= not(wr_n_from_up AND rd_n_from_up) 
                                 AND (wr_n_from_up_del_1);
        --wr_n_from_up_pulse <= not(wr_n_from_up_del_1) AND (wr_n_from_up_del_2);

--##############################################################################
--  Process:  
--##############################################################################

	dram_busy_gen: PROCESS(clk_in)
        BEGIN
        IF(RISING_EDGE(clk_in)) THEN
          IF(reset = '1') THEN
            dram_busy_sig <= '0';
          ELSE
            IF((to_integer(unsigned(no_of_refs_needed)) /= 0) AND 
            (( wr_n_from_up_del_1 = '0' AND 
               rd_n_from_up = '1' AND wr_n_from_up = '1'))) THEN
              dram_busy_sig <= '1';
            ELSIF((to_integer(unsigned(no_of_refs_needed)) /= 0) AND
            ( wr_n_from_up = '0' OR rd_n_from_up = '0')) THEN
              dram_busy_sig <= '0';
            ELSIF(to_integer(unsigned(no_of_refs_needed)) = 0) THEN
              dram_busy_sig <= '0';
            ELSE
              dram_busy_sig <= '1';
            END IF;
          END IF;
        END IF;
	END PROCESS dram_busy_gen;

--##############################################################################
--  Process:  
--##############################################################################

	cke_gen_reg: PROCESS(clk_in)
        BEGIN
          IF(RISING_EDGE(clk_in)) THEN
            IF(reset = '1') THEN
              cke <= '0';
            ELSE
              cke <= '1';
            END IF;
          END IF;
	END PROCESS cke_gen_reg;

clk  <= clk_in ;

cs_n <= command_bus(5);
ras_n <= command_bus(4);
cas_n <= command_bus(3);
we_n <= command_bus(2);
dqm <= command_bus(1 downto 0);
dram_init_done <= dram_init_done_s;
addr <= addr_sig;
dram_busy <= dram_busy_sig ;
ba <= ba_sig;

END rtl;

--##############################################################################
--OPTIONAL CONFIGURATION STATEMENT BELOW, can be UNCOMMENTED IF DESIRED
--##############################################################################

--CONFIGURATION dramcntrl_conf OF dramcntrl IS
--  FOR rtl
--  END FOR;
--END dramcntrl_conf;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩电影| 日韩欧美国产不卡| 国产成人精品亚洲日本在线桃色| 三级欧美在线一区| 亚洲与欧洲av电影| 亚洲国产你懂的| 亚洲人成小说网站色在线| 亚洲欧美激情在线| 亚洲一区二区三区激情| 亚洲成人午夜影院| 日日噜噜夜夜狠狠视频欧美人| 天天做天天摸天天爽国产一区| 天堂久久久久va久久久久| 美女被吸乳得到大胸91| 国产精品一区二区91| 成人av免费观看| 色先锋aa成人| 3d成人h动漫网站入口| 日韩码欧中文字| 《视频一区视频二区| 亚洲国产视频a| 久久国产剧场电影| 成人午夜免费电影| 精品视频全国免费看| 欧美大片在线观看一区二区| wwwwww.欧美系列| 自拍偷拍欧美精品| 日本视频免费一区| 成人精品视频一区二区三区尤物| 91美女视频网站| 日韩免费一区二区| 亚洲色图一区二区三区| 五月婷婷另类国产| 成人性生交大合| 欧美日韩国产一级片| 久久你懂得1024| 亚洲图片有声小说| 国产一区 二区| 欧美日韩一区中文字幕| 久久久精品免费观看| 一区二区日韩电影| 国产精品一区在线观看乱码| 一本色道综合亚洲| 亚洲精品一区二区三区在线观看| 亚洲欧美综合色| 久久66热re国产| 欧美性视频一区二区三区| 久久天天做天天爱综合色| 亚洲综合一二区| 成人激情动漫在线观看| 日韩精品一区二区三区中文不卡| ...中文天堂在线一区| 激情文学综合网| 欧美日韩成人综合在线一区二区| 中文字幕欧美激情一区| 免费久久99精品国产| 欧美在线999| 亚洲三级在线免费观看| 国产成人av电影在线| 欧美一区二区精品久久911| 亚洲综合在线五月| 97久久精品人人做人人爽| 久久综合狠狠综合| 久久精品久久久精品美女| 欧美日韩精品一区二区| 亚洲精品视频在线观看免费| av亚洲精华国产精华精华| 久久这里只精品最新地址| 蜜臀久久99精品久久久久久9| 欧美日韩国产精品成人| 亚洲一区在线观看视频| 在线中文字幕一区| 一区二区三区日韩欧美| 色综合网色综合| 亚洲欧美精品午睡沙发| 色狠狠av一区二区三区| 亚洲欧洲中文日韩久久av乱码| 波多野结衣亚洲| 国产精品福利影院| 99国产欧美久久久精品| 亚洲三级免费电影| 在线影视一区二区三区| 亚洲自拍偷拍网站| 欧美日韩mp4| 蜜桃一区二区三区在线观看| 日韩视频国产视频| 国产综合久久久久影院| 久久综合久久综合久久| 粉嫩13p一区二区三区| 国产精品午夜在线观看| 99久久国产免费看| 亚洲一区二区三区三| 69堂国产成人免费视频| 黑人巨大精品欧美一区| 国产日本一区二区| 色综合久久中文综合久久97| 亚洲综合在线电影| 日韩欧美在线网站| 国产福利一区在线观看| 亚洲天堂免费看| 69av一区二区三区| 国产美女精品在线| 亚洲欧美日韩国产一区二区三区| 欧美性色黄大片| 久久er99热精品一区二区| 国产日韩亚洲欧美综合| 在线视频亚洲一区| 久久电影网电视剧免费观看| 国产精品色眯眯| 欧美精品国产精品| 国产福利91精品| 亚洲成av人影院在线观看网| 精品国产百合女同互慰| 一本高清dvd不卡在线观看| 日本美女视频一区二区| 中文字幕一区三区| 日韩午夜三级在线| 97久久超碰国产精品电影| 麻豆精品视频在线观看| 中文字幕亚洲精品在线观看| 欧美一二三区在线| 91丨porny丨国产入口| 九色porny丨国产精品| 综合久久久久久| 亚洲精品一区二区三区精华液| 91麻豆免费看片| 国产精品一区一区三区| 日本成人超碰在线观看| 成人欧美一区二区三区视频网页| 欧美韩国一区二区| 欧美一区二区人人喊爽| 91麻豆文化传媒在线观看| 国产综合久久久久久久久久久久| 亚洲影院免费观看| 国产精品乱码一区二区三区软件| 日韩一区二区三区三四区视频在线观看| 成人久久18免费网站麻豆| 久久99精品久久久久久国产越南| 亚洲午夜精品在线| 136国产福利精品导航| 国产精品无人区| 国产三级一区二区| 337p日本欧洲亚洲大胆精品| 欧美伦理影视网| 欧美最猛性xxxxx直播| 成人av资源网站| 成人黄页毛片网站| 成人午夜视频在线| 国产不卡视频一区二区三区| 国产一区二区三区观看| 青青草视频一区| 青青国产91久久久久久 | 久久国产精品第一页| 亚洲国产成人va在线观看天堂| 亚洲免费色视频| 亚洲精品你懂的| 亚洲一区在线观看免费观看电影高清| 洋洋成人永久网站入口| 亚洲一区二区综合| 天堂久久一区二区三区| 青青草97国产精品免费观看无弹窗版| 日韩电影在线免费看| 日欧美一区二区| 精品在线亚洲视频| 国产毛片精品国产一区二区三区| 国产露脸91国语对白| 丰满少妇在线播放bd日韩电影| 成人丝袜18视频在线观看| av成人老司机| 国产午夜精品一区二区| 国产午夜精品一区二区| 中文字幕 久热精品 视频在线| 国产精品动漫网站| 亚洲一区二区三区四区在线观看 | 免费观看在线色综合| 极品少妇xxxx偷拍精品少妇| 国产成人福利片| 色猫猫国产区一区二在线视频| 欧美日韩亚洲丝袜制服| 日韩欧美一区二区视频| 国产午夜一区二区三区| 一区二区三区蜜桃网| 蜜桃av一区二区| av男人天堂一区| 欧美理论片在线| 国产欧美一区二区三区沐欲| 亚洲激情自拍视频| 免费一级欧美片在线观看| 成人精品小蝌蚪| 3d动漫精品啪啪1区2区免费| 国产日韩精品一区二区浪潮av| 一区二区高清免费观看影视大全| 秋霞国产午夜精品免费视频| jvid福利写真一区二区三区| 欧美日韩电影在线| 国产精品久久看| 免费在线观看一区| 91蝌蚪国产九色| 精品国产亚洲在线| 亚洲一区二区四区蜜桃|