وحدة الذاكرة

G

Guest

Guest
أنا جديدة في إتش دي إل.
أريد أن أعرف كيفية كتابة وحدة الذاكرة ، وليس لدي أي فكرة حول الترميز وحدة الذاكرة التي إتش دي إل.
وحدة الذاكرة وما أعنيه هو ، وهو يستخدم لحفظ طول موحد للإشارة الواردة ، وكذلك الإشارة ينبغي أن يكون على عقد ، خلال أنهم الادخار في الذاكرة.

شكرا جزيلا.

 
ما هي الذاكرة ش تريد استخدامه؟ويخرج أولا ، سجل تحول...
ماذا تبدو مثل البيانات الخاصة بك؟المسلسل أو موازية البيانات.
مدى سرعة البيانات؟

نلقي نظرة إلى أدلة من إف بي جي إيه ش بائع تريد تنفيذ التصميم الخاص بك.هناك يمكنك الحصول على معلومات كيفية الاستدلال الذاكرة الخاصة بك في إتش دي إل.

على سبيل المثال : Xilinx : http://www.xilinx.com/support/sw_manuals/xilinx7/download/lib.zip

 
ما هي الأدوات التي تستخدم رو؟
القوالب في الأداة سوف تعطي فكرة أبت نمذجة كبشا أو مضغوط أو التحول سجل باستخدام إتش دي إل.

آخر ، ش بلز التفصيل اور الشرط.
تفسير اور لم يكن واضحا في صنع صورة لمتطلبات جولة أوروغواي.

 
كنت تريد أن تكتب نموذج أو وحدة نمطية؟
عادة ذاكرة الوصول العشوائي / المضغوط للمصمم الرقمية هو
الثابت الكلي ، لذا عليك القيام به هو كتابة كبش / تحكم مدمج ، إلا إذا كنت تريد أن تكتب نموذجا لاختبار جهاز تحكم.
إذا كنت ترغب فقط في الاختبار في إف بي جي إيه ، يمكنك استخدام في مجال الملكية الفكرية (LPM_RAM ، LPM_ROM ، dp_ram... ل @ltera)

 
وقد اطلع على
http://www.opencores.org/browse.cgi/by_category؟filter1=&filter2 =

وحدات الذاكرة المختلفة التي تنفذ هناك.

 
بناء على ما قلت ، وهنا هو الجواب :

أدناه هي ذاكرة الوصول العشوائي "" وRAM_TB "" كتب في إتش دي إل.نسخة ، وفهمه والمحاكاة.اسمحوا لي أن أعرف إذا كان لديك بعد الآن الأسئلة.

-- ************************************************ *****************
-- ram.vhd
-- كتابة البيانات إلى الكبش في عنوان معين
، ويعود للقراءة
-- نفس البيانات من نفس العنوان
--
-- مهندس تصميم : توني Andonie
--
-- تاريخ البدء : 28 يونيو 2002
-- مراجعة تواريخ :
--
-- ************************************************ *******************

ieee المكتبة ؛
ieee.std_logic_1164.all استخدام ؛
ieee.numeric_std.all استخدام ؛

رام الكيان

(الميناء

data_in : في غير موقعة (8 -- 1 downto 0) ؛ -- 8 بت من البيانات
العنوان : في غير موقعة (8 -- 1 downto 0) : = (الآخرين => '0') ؛ -- 8 بت إضافة
كنا : في std_logic ؛ -- تمكين الكتابة
data_out : من غير موقعة (8 -- 1 downto 0)

(؛)

رام الغاية ؛

العمارة behav من ذاكرة الوصول العشوائي

mem_type النوع هو مجموعة (2 ** 8 downto 0) غير موقعة من (8 -- 1 downto 0) ؛
إشارة الفنزويلية : mem_type ؛

يبدأ
الذاكرة : عملية (ونحن ، والعنوان ، ذاكرة ، data_in)
يبدأ

إذا كان (نحن = '1') ثم
الفنزويلية (to_integer (عنوان)) <= data_in ؛ -- الكتابة
إذا كانت الغاية ؛

data_out <= الفنزويلية (to_integer (عنوان)) ؛ -- قراءة

نهاية عملية الذاكرة ؛
behav الغاية ؛

-- ************************************************ *******************
-- ram_tb.vhd
-- هذا الملف سيكون اختبارا لالكبش
--
-- مهندس تصميم : توني Andonie
--
-- تاريخ البدء :
-- مواعيد المراجعة :
--
-- ************************************************ *******************

ieee المكتبة ؛
ieee.std_logic_1164.all استخدام ؛
ieee.numeric_std.all استخدام ؛

tb_ram الكيان
tb_ram الغاية ؛

العمارة behav من هو tb_ram

رام مكون

(الميناء

data_in : في غير موقعة (8 -- 1 downto 0) ؛
العنوان : في غير موقعة (8 -- 1 downto 0) ؛
كنا : في std_logic ؛
data_out : من غير موقعة (8 -- 1 downto 0)

(؛)

عنصر الغاية ؛فترة ثابت : الوقت : = 10 نانوثانية ؛

إشارة clk : std_logic ؛
إشارة w_data_in : غير موقعة (8 -- 1 downto 0) ؛
إشارة w_address : غير موقعة (8 -- 1 downto 0) ؛
إشارة w_we : std_logic ؛
إشارة w_data_out : غير موقعة (8 -- 1 downto 0) ؛

يبدأ

u1 : الكبش خريطة الميناء (

data_in => w_data_in ،
عنوان => w_address ،
نحن => w_we ،
data_out => w_data_out

(؛)

clk <= لا clk بعد فترة / 2 ؛

المحفزات : عملية
يبدأ
w_data_in <= "00000000" ؛
w_address <= "00000010" ؛
w_we <= '1' ؛

الانتظار لفترة ؛
الانتظار ؛
المحفزات عملية الغاية ؛

behav الغاية ؛

 
شكرا لكم جميعا ~

أريد أن أسأل andonie
ما يعني العبارات التالية :

mem_type النوع هو مجموعة (2 ** 8 downto 0) غير موقعة من (8 -- 1 downto 0) ؛
إشارة الفنزويلية : mem_type ؛

الفنزويلية (to_integer (عنوان)) <= data_in ؛ -- الكتابة

حقا شكرا للمساعدة تفضلت.

 
الخامس ،القيام بما يلي :

1) خذ والنماذج أدناه لتحديث "ram.vhd" و "ram_tb.vhd" بتجميعها واستثارتها باستخدام Modelsim

2) اكتب mem_type هو مجموعة (2 ** 8 downto 0) من غير موقعة (7 downto 0) ؛
إشارة الفنزويلية : mem_type ؛

أ) (2 ** 8 downto 0) يعني أن 2 ^ 8 وهو 256 رام العميق
ب) (7 downto 0) يعني أن الكبش هو 8 بت واسعة
ج) mem_type يعني أنك تعلن الذاكرة3) الفنزويلية (to_integer (عنوان)) <= data_in ؛
وهو ما يعني أن تقوم بكتابة data_in في عنوان معين
، وهذا العنوان هو فقط أعدادا صحيحة."راجع testbench" لمزيد من التفاصيل.إذا كانت لديك أسئلة furthur لا تتردد في الاتصال بي بعد الساعة 7:00 (619) 206-6183

حظ سعيد

-- ************************************************ ******************
-- الشركة : غير موجود
-- المشروع : الكبش
-- اسم الملف : ram.vhd
-- المهندس : توني Andonie
--
-- تاريخ البدء : 8 أبريل 2005
-- مراجعة التواريخ :
--
-- الوصف : كتابة البيانات إلى الكبش في عنوان معين
، ويعود للقراءة
-- نفس البيانات من نفس العنوان
--
-- ************************************************ *******************ieee المكتبة ؛
ieee.std_logic_1164.all استخدام ؛
ieee.numeric_std.all استخدام ؛

رام الكيان
(الميناء

data_in : في غير موقعة (7 downto 0) ؛
العنوان : في غير موقعة (7 downto 0) ؛
كنا : في std_logic ؛
data_out : من غير موقعة (7 downto 0)
(؛)
رام الغاية ؛

العمارة behv من ذاكرة الوصول العشوائي

mem_type النوع هو مجموعة (2 ** 8 downto 0) من غير موقعة (7 downto 0) ؛
إشارة الفنزويلية : mem_type ؛

يبدأ

الذاكرة : عملية (ونحن ، والعنوان ، ذاكرة ، data_in)
يبدأ

إذا كان (نحن = '1') ثم
الفنزويلية (to_integer (عنوان)) <= data_in ؛ -- الكتابة
إذا كانت الغاية ؛

data_out <= الفنزويلية (to_integer (عنوان)) ؛ -- قراءة

نهاية عملية الذاكرة ؛behv الغاية ؛-- ************************************************ *****************
-- الشركة : غير موجود
-- المشروع : الكبش
-- اسم الملف : ram.vhd
-- المهندس : توني Andonie
--
-- تاريخ البدء : 8 أبريل 2005
-- مراجعة التواريخ :
--
-- الوصف : testbench الكبش
--
--
-- ************************************************ ********************

ieee المكتبة ؛
ieee.std_logic_1164.all استخدام ؛
ieee.numeric_std.all استخدام ؛

ram_tb الكيان
ram_tb الغاية ؛

العمارة behv من هو ram_tb

رام مكون
(الميناء
data_in : في غير موقعة (7 downto 0) ؛
العنوان : في غير موقعة (7 downto 0) ؛
كنا : في std_logic ؛
data_out : من غير موقعة (7 downto 0)
(؛)
عنصر الغاية ؛إشارة w_data_in : غير موقعة (7 downto 0) : = (الآخرين => '0') ؛
إشارة w_address : غير موقعة (7 downto 0) : = (الآخرين => '0') ؛
إشارة w_we : std_logic : = '0' ؛
إشارة w_data_out : غير موقعة (7 downto 0) : = (غيرها => '0«) ؛

يبدأ

u1_ram : الكبش خريطة الميناء (

data_in => w_data_in ،
عنوان => w_address ،
نحن => w_we ،
data_out => w_data_out
(؛)

الرئيسية : عملية
يبدأ-- ************************************************ ******************
-- الكتابة إلى الكبش
--
-- ************************************************ ******************

-- الدورة الأولى
الانتظار لمدة 10 نانوثانية ؛
w_address <= "11000011" ؛
الانتظار لمدة 10 نانوثانية ؛
w_we <= '0' ؛
w_data_in <= "11111111" ؛
الانتظار لمدة 10 نانوثانية ؛
w_we <= '1' ؛
انتظر 4000 نانوثانية ؛
الانتظار ؛

عملية انهاء الرئيسية ؛

behv الغاية ؛

 

Welcome to EDABoard.com

Sponsor

Back
Top