N
nicklas_a74
Guest
Hi
Ako ay may nakasulat na ang VHDL code sa ibaba.Ang binabalak na gamitin ay upang magkaroon ng isang estado machine.
na nagsimula mula sa 0.Kailan ko bang gamitin ang switch at ang operator ng ito ay dapat na ang mga tindahan ng lumipat
halaga at ang operator at pumunta sa estado 1.Pagkatapos, kung ako pindutin pantay na ito ay dapat na tindahan ng isang bagong
lumipat na halaga at depende sa operator kung saan ako ay may ginagamit na kalkulahin resulta
atbpNgunit kapag ako tumakbo ito sa aking koneksyon 2 board ito doest magtrabaho bilang inilaan.
Please help me sa mga iminungkahing Corrections sa code sa ibaba.
proseso (estado, operand, pantay-pantay, lumipat, clk)
variable tal1, tal2: std_logic_vector (7 downto 0);
variable na resulta: std_logic_vector (15 downto 0);
variable temp_operand: std_logic_vector (2 downto 0);
simulan
kung rising_edge (clk) pagkatapos ay
kaso ng estado ay
kapag s0 => kung operand / = "000" at pagkatapos ay
temp_operand: = operand;
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
tal1: = lumipat (7 downto 0);
estado <= s1;
kung hindi
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
dulo kung;
kapag s1 => kung pantay ='1 'at pagkatapos ay
tal2: = lumipat (7 downto 0);
kaso temp_operand ay
kung "100" => resulta: = ( "00000000" & tal1) tal2;
dispx <= resulta;
estado <= s2;
kapag "010" => resulta: = ( "00000000" & tal1)-tal2;
dispx <= resulta;
estado <= s2;
kapag ang iba => resulta: = tal1 * tal2;
dispx <= resulta;
estado <= s2;
dulo kaso;
kung hindi
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
dulo kung;kapag s2 => kung lumipat / = tal2 pagkatapos
estado <= s0;
kung hindi
estado <= s2;
dispx <= resulta;
dulo kung;
kapag ang iba => estado <= s0;
dulo kaso;
dulo kung;
dulo proseso;
Ako ay may nakasulat na ang VHDL code sa ibaba.Ang binabalak na gamitin ay upang magkaroon ng isang estado machine.
na nagsimula mula sa 0.Kailan ko bang gamitin ang switch at ang operator ng ito ay dapat na ang mga tindahan ng lumipat
halaga at ang operator at pumunta sa estado 1.Pagkatapos, kung ako pindutin pantay na ito ay dapat na tindahan ng isang bagong
lumipat na halaga at depende sa operator kung saan ako ay may ginagamit na kalkulahin resulta
atbpNgunit kapag ako tumakbo ito sa aking koneksyon 2 board ito doest magtrabaho bilang inilaan.
Please help me sa mga iminungkahing Corrections sa code sa ibaba.
proseso (estado, operand, pantay-pantay, lumipat, clk)
variable tal1, tal2: std_logic_vector (7 downto 0);
variable na resulta: std_logic_vector (15 downto 0);
variable temp_operand: std_logic_vector (2 downto 0);
simulan
kung rising_edge (clk) pagkatapos ay
kaso ng estado ay
kapag s0 => kung operand / = "000" at pagkatapos ay
temp_operand: = operand;
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
tal1: = lumipat (7 downto 0);
estado <= s1;
kung hindi
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
dulo kung;
kapag s1 => kung pantay ='1 'at pagkatapos ay
tal2: = lumipat (7 downto 0);
kaso temp_operand ay
kung "100" => resulta: = ( "00000000" & tal1) tal2;
dispx <= resulta;
estado <= s2;
kapag "010" => resulta: = ( "00000000" & tal1)-tal2;
dispx <= resulta;
estado <= s2;
kapag ang iba => resulta: = tal1 * tal2;
dispx <= resulta;
estado <= s2;
dulo kaso;
kung hindi
dispx (7 downto 0) <= lumipat (7 downto 0);
dispx (15 downto 8) <= "11101110";
dulo kung;kapag s2 => kung lumipat / = tal2 pagkatapos
estado <= s0;
kung hindi
estado <= s2;
dispx <= resulta;
dulo kung;
kapag ang iba => estado <= s0;
dulo kaso;
dulo kung;
dulo proseso;