P
prasanthri
Guest
كنت قد كتبت مدونة لمد فرنك فرنسي في إتش دي إل.عندما أديت ما بعد طريق المحاكاة حصلت على تأخير غير مقبول في الإخراج.كنت على مدار الساعة من 10 نانوثانية الفترة (100 ميغاهيرتز) وعلى مدار الساعة المدخلات.ولكن الإخراج هو المتغير الوحيد نحو 6 نانوثانية بعد حافة الإيجابية على مدار الساعة لأنه هو الذي يهدف الى تغيير.أنا أستخدم Xilinx بورصة اسطنبول للتوليف وModelsim سراج الدين للمحاكاة.هنا هو رمز كنت قد كتبت...
رمز
IEEE المكتبة ؛
IEEE.STD_LOGIC_1164.ALL استخدام ؛
IEEE.STD_LOGIC_ARITH.ALL استخدام ؛
IEEE.STD_LOGIC_UNSIGNED.ALL استخدام ؛
---- حرر التالي مكتبة الإعلان إذا instantiating
---- أي Xilinx الأوليات في هذا الرمز.
-- مكتبة UNISIM ؛
-- استخدام UNISIM.VComponents.all ؛
قوات الأمر الواقع هو كيان
الميناء (البيانات : في STD_LOGIC ؛
clk : في STD_LOGIC ؛
إعادة : في STD_LOGIC ؛
س : من STD_LOGIC) ؛
قوات الأمر الواقع الغاية ؛
العمارة السلوكية للقوات الأمر الواقع هو
يبدأ
عملية (clk ، إعادة تعيين)
يبدأ
إذا إعادة تعيين = '1' ثم
ف <= '0' ؛
أيضا
إذا rising_edge (clk) ثم
ف <= البيانات ؛
آخر لاغية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
نهاية السلوكية ؛
اختبار البدلاء
ieee المكتبة ؛
استخدام ieee.std_logic_1164.ALL ؛
ieee.std_logic_unsigned.all الاستعمال ؛
استخدام ieee.numeric_std.ALL ؛
هو كيان tb_dff_vhd
انتهى tb_dff_vhd ؛
بنية سلوك هو tb_dff_vhd
-- إعلان مكون للوحدة تحت الاختبار (UUT)
عنصر قوات الأمر الواقع
بورت (
بيانات : في std_logic ؛
clk : في std_logic ؛
إعادة : في std_logic ؛
ف : نفاد std_logic
(؛)
عنصر الغاية ؛
-- المدخلات
إشارة البيانات : std_logic : = '0' ؛
إشارة clk : std_logic : = '0' ؛
إشارة إعادة : std_logic : = '0' ؛
-- المخرجات
إشارة ف : std_logic ؛
ستبدأ
-- إنشاء مثيل الوحدة تحت الاختبار (UUT)
uut : قوات الأمر الواقع خريطة الميناء (
بيانات => البيانات ،
clk => clk ،
إعادة تعيين => إعادة تعيين ،
ف => ف
(؛)
إعادة <= '1' ، '0' بعد 100 نانو ثانية ؛
بيانات <= لا بيانات بعد 200 نانو ثانية ؛
clk <= لا clk بعد 5 نانوثانية ؛
الغاية ؛
رمز
IEEE المكتبة ؛
IEEE.STD_LOGIC_1164.ALL استخدام ؛
IEEE.STD_LOGIC_ARITH.ALL استخدام ؛
IEEE.STD_LOGIC_UNSIGNED.ALL استخدام ؛
---- حرر التالي مكتبة الإعلان إذا instantiating
---- أي Xilinx الأوليات في هذا الرمز.
-- مكتبة UNISIM ؛
-- استخدام UNISIM.VComponents.all ؛
قوات الأمر الواقع هو كيان
الميناء (البيانات : في STD_LOGIC ؛
clk : في STD_LOGIC ؛
إعادة : في STD_LOGIC ؛
س : من STD_LOGIC) ؛
قوات الأمر الواقع الغاية ؛
العمارة السلوكية للقوات الأمر الواقع هو
يبدأ
عملية (clk ، إعادة تعيين)
يبدأ
إذا إعادة تعيين = '1' ثم
ف <= '0' ؛
أيضا
إذا rising_edge (clk) ثم
ف <= البيانات ؛
آخر لاغية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
نهاية السلوكية ؛
اختبار البدلاء
ieee المكتبة ؛
استخدام ieee.std_logic_1164.ALL ؛
ieee.std_logic_unsigned.all الاستعمال ؛
استخدام ieee.numeric_std.ALL ؛
هو كيان tb_dff_vhd
انتهى tb_dff_vhd ؛
بنية سلوك هو tb_dff_vhd
-- إعلان مكون للوحدة تحت الاختبار (UUT)
عنصر قوات الأمر الواقع
بورت (
بيانات : في std_logic ؛
clk : في std_logic ؛
إعادة : في std_logic ؛
ف : نفاد std_logic
(؛)
عنصر الغاية ؛
-- المدخلات
إشارة البيانات : std_logic : = '0' ؛
إشارة clk : std_logic : = '0' ؛
إشارة إعادة : std_logic : = '0' ؛
-- المخرجات
إشارة ف : std_logic ؛
ستبدأ
-- إنشاء مثيل الوحدة تحت الاختبار (UUT)
uut : قوات الأمر الواقع خريطة الميناء (
بيانات => البيانات ،
clk => clk ،
إعادة تعيين => إعادة تعيين ،
ف => ف
(؛)
إعادة <= '1' ، '0' بعد 100 نانو ثانية ؛
بيانات <= لا بيانات بعد 200 نانو ثانية ؛
clk <= لا clk بعد 5 نانوثانية ؛
الغاية ؛