مرتضي صاحب الزماني Memory Modeling. مرتضي صاحب الزماني مدل ساده package body Mem_Pkg is constant DataWidth_c : Natural := 8; constant AddrWidth_c : Natural.

Slides:



Advertisements
Similar presentations
Queue theory.
Advertisements

مهدی آذرنوش مبحث ششم : آرایه ها و رشته ها حسابگری الگوریتمی.
Logic Block Architectures. 2 Crosspoint Solution  Requires the use of large amounts of programmable interconnect −  suffer from area-inefficiency 
در جامعه، افرادي که موقعيت و مسؤليت خود را مي‌دانند از راحتي و امنيت بيشتري برخوردارند هر کلاس از جامعه، مجموعه‌اي از امکانات و تواناييهاي مجاز برخوردار.
ARM Session , Spring Copyright © 2012 Mohammad Moallemi.
1 آزمايشگاه سيستم های هوشمند ( Domain-specific Architecture.
ارائه روشي براي شناسايي کاراکترهاي دستنويس، برپايه شبکه LVQ.
بنام خدا معرفي روشهاي اصلاح شده در بهينه سازي کولوني مورچه ها و پيشنهاد يک local optimization.
ارائه درس روباتيکز Extended Kalman Filter فريد ملازم استاد مربوطه دکتر شيري دانشگاه امير کبير – دانشکده کامپيوتر و فناوري اطلاعات.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
1 تدوين راهبرد برای يک برنامه جلب حمايت همه جانبه Mohsen Shams, MD. PhD Candidate in Health Education, School of Public Health, Tehran University of Medical.
1 آزمايشگاه سيستم های هوشمند ( ارزيابي معماري نرم افزار.
ادامه برنامه های فرعی عباسپور 1 متغير ها در برنامه های فرعی هر نوع متغيری که در برنامه فرعی اعلان می شود مخصوص همان برنامه است و در خارج از آن موجوديت.
1 Part V: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
1 مرتضي صاحب الزماني 1 کاربردها. 2 مرتضي صاحب الزماني 2 کاربردهاي کلي Emulation: براي debug کردن مدار و اطمينان از صحت عملکرد. سرعت چندان مهم نيست ( تست.
Lesson four Grade three
مرتضي صاحب الزماني 1 Data Types. Digital Design Contest مرتضي صاحب الزماني 2.
مرتضي صاحب الزماني 1 Data Structures. مرتضي صاحب الزماني 2 Corner Stitching.
مرتضي صاحب الزماني 1 Synthesis. مرتضي صاحب الزماني 2 Synthesis What is Synthesis? RTL-style Combinatorial Logic Sequential Logic Finite State Machines.
Main Project : Simple Processor Mini-Project : 3-bit binary counter (using 7400 series) Memory By Oluwayomi B. Adamo.
مرتضي صاحب الزماني 1 Basic Graph Algorithms. مرتضي صاحب الزماني 2 Graph Data Structures Adjacency Matrix [©Bazargan]
آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد.
روابط مجموعه ها سلیمی. دکتر سلیمانی. نظریه فازی در سال 1965 بوسیله یک دانشمند ایرانی بنام پروفسور لطفی زاده معرفی گردید. گرچه این نظریه در ابتدا با.
مرتضي صاحب الزماني 1 Operators. Assignments In DA(BS) Deadline: 3 Ordibehesht مرتضي صاحب الزماني 2.
Department of Computer Eng. & IT Amirkabir University of Technology (Tehran Polytechnic) Data Structures Lecturer: Abbas Sarraf Order.
VHDL Models For Memory And Busses 구 본 진.
سيستم خبره مرکب ( ترکيب پيشرو و پسرو ) زماني که يک فرضيه احتمالي براي جواب داشته باشيم، روش backward مي تواند خيلي کاراتر و مناسبتر باشد. اگر هيچ احتمال.
پشته Stack ساختمان داده ها و الگوريتمها. 2 آشنايي مجموعه پويا (Dynamic Set ): مجموعه اي است كه تركيب و تعداد عناصر آن ممكن است در طول زمان اجراي برنامه.
1 فصل سوم سينماتيك مستقيم. 2 محتواي فصل   تعريف مجموعه فازي   تابع عضويت   نمايش مجموعه هاي فازي   برش آلفا   متغيرهاي زباني   ساخت مجموعه.
Image Enhancement in the
به نام خدا.
Information Retrieval
بررسي حافظه هاي ديناميکي و
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
اسلاتهاي توسعه جلسه ششم.
ساختمان داده ها و الگوريتمها
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
اصول کامپيوتر 1 – معرفي درس
مرتب سازي مقايسه اي مرتب سازي خطي
آرايه ها و ساختارها.
آرايه ها.
ANOVA: Analysis Of Variance
ليست هاي پيوندي.
ANOVA: Analysis Of Variance
وحید حقيقت دوست دانشکده فنی و مهندسی دانشگاه شاهد
Quick Sort مرتب سازي سريع.
کارت گرافيک و مانيتور جلسه هفتم.
آشنايي با برنامه نويسي به زبان C++
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
معرفي درس ساختمان داده ها و الگوريتمها
اسلایدهای فصل هشتم کتاب سیلبرشاتز دانشکده مهندسی کامپیوتر دانشگاه شریف
تبدیل فوریه (Fourier Transform)
نمايش اعداد در کامپيوتر چهار عمل اصلي
Similarity transformation
کارت گرافيک و مانيتور جلسه هفتم.
(Structured Query Language)
تراشه ها ي منطقي برنامه پذ ير
سميرا قانوني زهرا معدني
گزگز و خواب رفتگي انگشتان دست
فاطمه بهمن زیاری ، مریم امینی مدل های خطی 1 بهمن1393
مدلسازي تجربي – تخمين پارامتر
هیدرولیک جریان در کانالهای باز
SY604 NAT PPPoE Configuration
Test آزمون نرم افزار Mansooreh Jalalyazdi.
با تشکر از دکتر جواد سلیمی
گزارش کار آزمايشگاه مکانيک خاک
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
Concurrent Statements
Presentation transcript:

مرتضي صاحب الزماني Memory Modeling

مرتضي صاحب الزماني مدل ساده package body Mem_Pkg is constant DataWidth_c : Natural := 8; constant AddrWidth_c : Natural := 16; constant MaxDepth_c : Natural := 2 ** AddrWidth_c; -- 64K end Mem_Pkg; … entity Memory_Nty is generic (FileName_g : String(1 to 12):= "memdata_.txt"); port( MemAddr : in Natural; MemData : inout Std_Logic_Vector(Mem_Pkg.DataWidth_c - 1 downto 0); RdWrF : in Std_Logic; CeF : in Std_Logic); -- Chip Select end Memory_Nty;

مرتضي صاحب الزماني مدل ساده architecture Memory_a of Memory_Nty is begin -- Memory_a Memory_Lbl : process(MemAddr, MemData, RdWrF, CeF) subtype Data_Typ is Std_Logic_Vector(Mem_Pkg.DataWidth_c - 1 downto 0); subtype MemSize_Typ is integer range 0 to Mem_Pkg.MaxDepth_c - 1; type Mem_Typ is array(MemSize_Typ) of Data_Typ; variable Memory_v : Mem_Typ; begin … end; اشکالات : حافظه ي زياد و زمان شبيه سازي بالا.

مرتضي صاحب الزماني مدل کارآ تر فقط براي I/O از std_logic_vector استفاده شود و براي داخل حافظه آرايه ي INTEGER به کاررود. ( براي std_logic معمولا به ازاي هر عنصر، يک بايت گرفته مي شود ). به توابع تبديل type نياز داريم. مقادير metalogical از دست مي روند. عناصر حافظه را مي توان VARIABLE گرفت چون SIGNAL زمان و حافظه ي زيادي مصرف مي کند. ( فقط interface هاي حافظه از نوع سيگنال باشند ).

مرتضي صاحب الزماني مدل Fixed Array Caching معمولا براي شبيه سازي به تعداد محدودي از عناصر حافظه دسترسي مي يابيم ( نه مثلا کل 4GB).  از يک آرايه به سايز مثلا 256 استفاده مي کنيم ( به طولي که انتظار داريم کاربر به آن تعداد دسترسي خواهد يافت ). Addr data Addr data Addr data (0) (1) (255) به يک متغير نياز داريم که نشان دهد تا کجا نوشته ايم (max).  با هر دسترسي به حافظه در فيلد آدرسها جستجو مي کنيم. براي نوشتن : به محض يافتن آدرس مورد تقاضا، داده را در آن انديس مي نويسيم. اگر اين آدرس قبلا موجود نبود آن را در آدرس ++max مي نويسيم. براي خواندن : اگر اين آدرس قبلا موجود نبود “XXX..X” را روي خط data قرار مي دهيم.

مرتضي صاحب الزماني مدل Fixed Array Caching entity RAM is generic(DataWidth_g : positive := 16; AddrWidth_g : positive := 32); port(Address : in Std_Logic_Vector(AddrWidth_g -1 downto 0); Data : inout Std_Logic_Vector(DataWidth_g -1 downto 0); CeF : in Std_Logic; RdWrF : in Std_Logic); end RAM; architecture RAMFIX_A of RAM is constant CacheSize_c : positive := 255; subtype CacheRange_Typ is integer range 0 to CacheSize_c; type CacheBlock_Typ is record Address: std_logic_vector (AddrWidth_g - 1 downto 0); Data : std_logic_vector (DataWidth_g - 1 downto 0); end record; begin

مرتضي صاحب الزماني مدل Fixed Array Caching Mem_Lbl: process(Address, Data, RdWrF, CeF) type RAM_Typ is array (CacheRange_Typ) of CacheBlock_Typ; variable IndexMax_v : CacheRange_Typ := 0; variable RAM_v : RAM_Typ := (others => (Address => (others => 'X'), Data => (others => 'X'))); variable FoundAddr_v : Boolean;

مرتضي صاحب الزماني مدل Fixed Array Caching begin if (CeF = '0') or (CeF = 'L') then FoundAddr_v := False; Search_Lbl: for Cache_i in 0 to IndexMax_v loop if RAM_v(Cache_i).Address = Address then -- Already accessed FoundAddr_v := True; if RdWrF'event and -- check for rising edge for a write ((RdWrF = '1') or (RdWrF = 'H')) and ((RdWrF'last_value = '0') or (RdWrF'last_value = 'L')) then RAM_v(Cache_i).Address := Address; RAM_v(Cache_i).Data := Data; elsif ((RdWrF = '1') or (RdWrF = 'H')) then Data <= RAM_v(Cache_i).Data; elsif RdWrF'event and -- check for falling edge for a write ((RdWrF = '0') or (RdWrF = 'L')) and ((RdWrF'last_value = '1') or (RdWrF'last_value = 'H')) then null;

مرتضي صاحب الزماني مدل Fixed Array Caching else assert false report "Error in RdWrF signal" severity Warning; end if; exit Search_Lbl; end if; end loop;

مرتضي صاحب الزماني مدل Fixed Array Caching if not FoundAddr_v then if RdWrF'event and -- check for rising edge for a write ((RdWrF = '1') or (RdWrF = 'H')) and ((RdWrF'last_value = '0') or (RdWrF'last_value = 'L')) then RAM_v(IndexMax_v).Address := Address; RAM_v(IndexMax_v).Data := Data; if IndexMax_v /= CacheSize_c then IndexMax_v := IndexMax_v + 1; else assert false report "Maximum limit for cache entry is reached" severity note; end if;

مرتضي صاحب الزماني مدل Fixed Array Caching elsif ((RdWrF = '1') or (RdWrF = 'H')) then Data 'X'); elsif RdWrF'event and -- check for falling edge for a write ((RdWrF = '0') or (RdWrF = 'L')) and ((RdWrF'last_value = '1') or (RdWrF'last_value = 'H')) then null; else assert false report "Error in RdWrF signal" severity Warning; end if; else -- Ce_F /='0'| 'L' data 'Z'); end if; end process Mem_Lbl; end RamFix_a;

مرتضي صاحب الزماني مدل Fixed Page Caching براي هر page address ، يک صفحه از RAM ( و نه يک word ) در دسترس قرار مي گيرد. Addr Data ِ Data … Data (0) (255) Addr Data ِ Data … Data

مرتضي صاحب الزماني مدل Dynamic Page Caching مانند Fixed Page اما به صورت ليست پيوندي.