S
sora5563
Guest
عند استخدام تشو (على) rtus أدوات لجمع تصحيح بلدي ذاكرة مزدوجة الميناء تصميم
يأخذ مني ساعة لجمع وتوليف ملف شفرة المصدر.
رام فقط بحجم 64 بايت ، وبعد النجاح في تجميع 5 دقائق.
العصر عندما تزيد تبعا لحجم ذاكرة الوصول العشوائي للضعف ،
فلنقل 128bytes حوالي 10minutes أو أكثر ، وهكذا.
ام الذهاب إلى تصميم 4 ك بايت ذاكرة نفسي مع مشروع صغير.كل شيء
جيدة باستثناء ذاكرة مع تجميع مرات تستهلك ساعات من الزمن.
ان مستاء جدا.
************************************************
مكتبة IEEE ؛
استخدام IEEE.std_logic_1164.all ؛
استخدام IEEE.std_logic_arith.all ؛
هو كيان RAM128
العامة)
ج : integer : = 7 ؛
الكلمات : integer : = 128 ؛
م : integer : = 8
(؛)
الميناء)
clk : في STD_LOGIC ؛
TxR : في STD_LOGIC ؛
TxW : في STD_LOGIC ؛
AddrTx1 : في STD_LOGIC_VECTOR (1 downto 0) ؛
AddrTx2 : في STD_LOGIC_VECTOR (1 downto 0) ؛
DataTxIn : في STD_LOGIC_VECTOR (ام 1 downto 0) ؛
DataTxOut : من أصل STD_LOGIC_VECTOR (ام 1 downto 0) ؛
AddrRx1 : في STD_LOGIC_VECTOR (1 downto 0) ؛
AddrRx2 : في STD_LOGIC_VECTOR (1 downto 0) ؛
RxW : في STD_LOGIC ؛
RxR : في STD_LOGIC ؛
DataRxIn : في STD_LOGIC_VECTOR (ام 1 downto 0) ؛
DataRxOut : من أصل STD_LOGIC_VECTOR (ام 1 downto 0)
(؛)
نهاية RAM128 ؛
الهيكل RAM128_arch من هو RAM128
فرعي الخلية std_logic_vector (ام 1 downto 0) ؛
هو نوع ramArray مجموعة (0 الكلام - 1) للخلية ؛
إشارة رام : ramArray ؛
إشارة AddrMatch : std_logic ؛
يبدأ
AddrMatch <= '1' عندما AddrTx1 = AddrRx2) آخر '0' ؛
عملية (clk ، AddrTx1 ، AddrRx2 ، TxW ، RxW ، AddrMatch)
يبدأ
إذا كان (clk'event وclk = '1')
، ثم
إذا كان (TxW = '1') و (AddrMatch = '0')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
أيضا
إذا كان (TxW = '1') و (AddrMatch = '1') و (RxW = '1')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كان (RxW = '1') و (AddrMatch = '0')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrRx2))) <= DataRxIn ؛
أيضا
إذا كان (TxW = '1') و (AddrMatch = '1') و (RxW = '1')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
عملية (RxR ، AddrRx1 ، الرام)
يبدأ
إذا كان (RxR = '1')
، ثم
DataRxOut <= الرام (CONV_INTEGER (غير موقعة (AddrRx1))) ؛
أيضا
DataRxout <= (الآخرين => '0') ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
عملية (TxR ، AddrTx2 ، الرام)
يبدأ
إذا كان (TxR = '1')
، ثم
DataTxOut <= الرام (CONV_INTEGER (غير موقعة (AddrTx2))) ؛
أيضا
DataTxOut <= (الآخرين => '0') ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
نهاية RAM128_arch ؛
************************************************** ****************
هل هناك خبراء يمكن أن تساعد على معالجة هذه المشكلة؟
هل هناك أفكار جيدة للحد من الوقت للتجميع؟
هذا يجعلني مجنون!
الرجاء المساعدة على وظيفة appreciatable الأفكار الخاصة بك!
<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="سعيد جدا" border="0" />
يأخذ مني ساعة لجمع وتوليف ملف شفرة المصدر.
رام فقط بحجم 64 بايت ، وبعد النجاح في تجميع 5 دقائق.
العصر عندما تزيد تبعا لحجم ذاكرة الوصول العشوائي للضعف ،
فلنقل 128bytes حوالي 10minutes أو أكثر ، وهكذا.
ام الذهاب إلى تصميم 4 ك بايت ذاكرة نفسي مع مشروع صغير.كل شيء
جيدة باستثناء ذاكرة مع تجميع مرات تستهلك ساعات من الزمن.
ان مستاء جدا.
************************************************
مكتبة IEEE ؛
استخدام IEEE.std_logic_1164.all ؛
استخدام IEEE.std_logic_arith.all ؛
هو كيان RAM128
العامة)
ج : integer : = 7 ؛
الكلمات : integer : = 128 ؛
م : integer : = 8
(؛)
الميناء)
clk : في STD_LOGIC ؛
TxR : في STD_LOGIC ؛
TxW : في STD_LOGIC ؛
AddrTx1 : في STD_LOGIC_VECTOR (1 downto 0) ؛
AddrTx2 : في STD_LOGIC_VECTOR (1 downto 0) ؛
DataTxIn : في STD_LOGIC_VECTOR (ام 1 downto 0) ؛
DataTxOut : من أصل STD_LOGIC_VECTOR (ام 1 downto 0) ؛
AddrRx1 : في STD_LOGIC_VECTOR (1 downto 0) ؛
AddrRx2 : في STD_LOGIC_VECTOR (1 downto 0) ؛
RxW : في STD_LOGIC ؛
RxR : في STD_LOGIC ؛
DataRxIn : في STD_LOGIC_VECTOR (ام 1 downto 0) ؛
DataRxOut : من أصل STD_LOGIC_VECTOR (ام 1 downto 0)
(؛)
نهاية RAM128 ؛
الهيكل RAM128_arch من هو RAM128
فرعي الخلية std_logic_vector (ام 1 downto 0) ؛
هو نوع ramArray مجموعة (0 الكلام - 1) للخلية ؛
إشارة رام : ramArray ؛
إشارة AddrMatch : std_logic ؛
يبدأ
AddrMatch <= '1' عندما AddrTx1 = AddrRx2) آخر '0' ؛
عملية (clk ، AddrTx1 ، AddrRx2 ، TxW ، RxW ، AddrMatch)
يبدأ
إذا كان (clk'event وclk = '1')
، ثم
إذا كان (TxW = '1') و (AddrMatch = '0')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
أيضا
إذا كان (TxW = '1') و (AddrMatch = '1') و (RxW = '1')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كان (RxW = '1') و (AddrMatch = '0')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrRx2))) <= DataRxIn ؛
أيضا
إذا كان (TxW = '1') و (AddrMatch = '1') و (RxW = '1')
، ثم
الرام (CONV_INTEGER (غير موقعة (AddrTx1))) <= DataTxIn ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
عملية (RxR ، AddrRx1 ، الرام)
يبدأ
إذا كان (RxR = '1')
، ثم
DataRxOut <= الرام (CONV_INTEGER (غير موقعة (AddrRx1))) ؛
أيضا
DataRxout <= (الآخرين => '0') ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
عملية (TxR ، AddrTx2 ، الرام)
يبدأ
إذا كان (TxR = '1')
، ثم
DataTxOut <= الرام (CONV_INTEGER (غير موقعة (AddrTx2))) ؛
أيضا
DataTxOut <= (الآخرين => '0') ؛
إذا كانت الغاية ؛
في نهاية هذه العملية ؛
نهاية RAM128_arch ؛
************************************************** ****************
هل هناك خبراء يمكن أن تساعد على معالجة هذه المشكلة؟
هل هناك أفكار جيدة للحد من الوقت للتجميع؟
هذا يجعلني مجنون!
الرجاء المساعدة على وظيفة appreciatable الأفكار الخاصة بك!
<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="سعيد جدا" border="0" />