C
CyberBoy
Guest
أنا أكتب هذه الشفرة في لغة في إتش دي إل...أحتاج أن نفهم لماذا ، عندما كنت محاكاة هذا الرمز..."انتظار" الدولة هي بلدي وقفز محاكاة بدء من "تهيئة" الدولة
رمز :ieee المكتبة ؛
استخدام ieee.std_logic_1164.ALL ؛
استخدام ieee.std_logic_arith.ALL ؛
استخدام ieee.numeric_std.ALL ؛
استخدام ieee.std_logic_signed.ALL ؛-- سينوبسيس translate_off
-- مكتبة UNISIM ؛
-- استخدام UNISIM.Vcomponents.ALL ؛
-- سينوبسيس translate_onLCD_Driver الكيان
الميناء (clk : في std_logic ؛
clk_out : خارج std_logic ؛
D8_D0 : خارج std_logic_vector (8 downto 0) ؛ -- جمهورية صربسكا إشارة 8bit
count_ext : خارج std_logic_vector (31 downto 0) ؛
أون : خارج std_logic ؛
sel_ext : خارج std_logic ؛
address_ext : خارج std_logic_vector (31 downto 0)) ؛
LCD_Driver الغاية ؛العمارة السلوكية للهو LCD_Driverrom_array النوع هو مجموعة (0 إلى 15) من std_logic_vector (8 downto 0) ؛
مدمج ثابت : rom_array : = ( "000110000" ،
"000110000" ،
"000110000" ،
"000110000" ،
"000010000" ،
"000000001" ،
"000000110" ،
"000001111" ،
"100110110" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000") ؛إشارة clock_int : std_logic ؛أركان بحر نوع (الانتظار ، تهيئة وتجهيز) ؛
إشارة sel : أركان بحر ؛
يبدأعملية (clk)
العد متغير : صحيح ؛
يبدأ
إذا كان (rising_edge (clk)) ثم
العد : العد = 1 ؛
إذا كان (العد> 100) ثم -- 20000
clock_int <= لا clock_int ؛ العد : = 0 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛عملية (clock_int)
عنوان المتغير : صحيح ؛
العد متغير : صحيح : = 0 ؛
متغير count2 : صحيح : = 0 ؛
-- sel متغير : صحيح : = 0 ؛يبدأ
إذا كان (rising_edge (clock_int)) ثم
sel القضية
عندما تنتظر =>
العد : 1 = العد ؛
إذا كان (العدد = 76) ثم
sel <= تهيئة ؛ العد : = 0 ؛
العنوان : = 0 ؛
إذا كانت الغاية ؛
عندما تهيئة =>
العد : 1 = العد ؛
إذا كان (العدد = 25) ثم
أون <= '1' ؛ العنوان : عنوان 1 = ؛
إذا كانت الغاية ؛إذا كان (العدد = 50) ثم
sel <= تجهيز ؛ العد : = 0 ؛ أون <= '0' ؛
إذا كانت الغاية ؛عند معالجة =>
count2 : = count2 1 ؛
إذا كان (count2 <9) ثم
إذا كان (عد = 0) ثم
أون <= '1' ؛
العنوان : عنوان 1 = ؛
العد : = 1 ؛
elsif (عد = 1) ، ثم
أون <= '0' ؛
العد : = 0 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
حالة الغاية ؛
إذا كانت الغاية ؛
D8_D0 <= المضغوط (عنوان) ؛
address_ext <= CONV_STD_LOGIC_VECTOR (عنوان ، 32) ؛
count_ext <= CONV_STD_LOGIC_VECTOR (العد ، 32) ؛
عملية الغاية ؛clk_out <= clock_int ؛نهاية السلوكية ؛
رمز :ieee المكتبة ؛
استخدام ieee.std_logic_1164.ALL ؛
استخدام ieee.std_logic_arith.ALL ؛
استخدام ieee.numeric_std.ALL ؛
استخدام ieee.std_logic_signed.ALL ؛-- سينوبسيس translate_off
-- مكتبة UNISIM ؛
-- استخدام UNISIM.Vcomponents.ALL ؛
-- سينوبسيس translate_onLCD_Driver الكيان
الميناء (clk : في std_logic ؛
clk_out : خارج std_logic ؛
D8_D0 : خارج std_logic_vector (8 downto 0) ؛ -- جمهورية صربسكا إشارة 8bit
count_ext : خارج std_logic_vector (31 downto 0) ؛
أون : خارج std_logic ؛
sel_ext : خارج std_logic ؛
address_ext : خارج std_logic_vector (31 downto 0)) ؛
LCD_Driver الغاية ؛العمارة السلوكية للهو LCD_Driverrom_array النوع هو مجموعة (0 إلى 15) من std_logic_vector (8 downto 0) ؛
مدمج ثابت : rom_array : = ( "000110000" ،
"000110000" ،
"000110000" ،
"000110000" ،
"000010000" ،
"000000001" ،
"000000110" ،
"000001111" ،
"100110110" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000" ،
"000000000") ؛إشارة clock_int : std_logic ؛أركان بحر نوع (الانتظار ، تهيئة وتجهيز) ؛
إشارة sel : أركان بحر ؛
يبدأعملية (clk)
العد متغير : صحيح ؛
يبدأ
إذا كان (rising_edge (clk)) ثم
العد : العد = 1 ؛
إذا كان (العد> 100) ثم -- 20000
clock_int <= لا clock_int ؛ العد : = 0 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛عملية (clock_int)
عنوان المتغير : صحيح ؛
العد متغير : صحيح : = 0 ؛
متغير count2 : صحيح : = 0 ؛
-- sel متغير : صحيح : = 0 ؛يبدأ
إذا كان (rising_edge (clock_int)) ثم
sel القضية
عندما تنتظر =>
العد : 1 = العد ؛
إذا كان (العدد = 76) ثم
sel <= تهيئة ؛ العد : = 0 ؛
العنوان : = 0 ؛
إذا كانت الغاية ؛
عندما تهيئة =>
العد : 1 = العد ؛
إذا كان (العدد = 25) ثم
أون <= '1' ؛ العنوان : عنوان 1 = ؛
إذا كانت الغاية ؛إذا كان (العدد = 50) ثم
sel <= تجهيز ؛ العد : = 0 ؛ أون <= '0' ؛
إذا كانت الغاية ؛عند معالجة =>
count2 : = count2 1 ؛
إذا كان (count2 <9) ثم
إذا كان (عد = 0) ثم
أون <= '1' ؛
العنوان : عنوان 1 = ؛
العد : = 1 ؛
elsif (عد = 1) ، ثم
أون <= '0' ؛
العد : = 0 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
حالة الغاية ؛
إذا كانت الغاية ؛
D8_D0 <= المضغوط (عنوان) ؛
address_ext <= CONV_STD_LOGIC_VECTOR (عنوان ، 32) ؛
count_ext <= CONV_STD_LOGIC_VECTOR (العد ، 32) ؛
عملية الغاية ؛clk_out <= clock_int ؛نهاية السلوكية ؛