CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

ช่วยดูทีคับพี่ว่าผิดตรงไหนรึป่าวคับ

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity divider is
port(
DI : in unsigned(7 downto 0);
DO : out unsigned(7 downto 0)
);
end divider;
architecture archi of divider is
begin
DO <= DI / 2;
end archi;

มันขึ้น errors อ่ะคับพี่ๆช่วยดูทีคับ

จากคุณ : นักศึกษา ตั้งกระทู้นี้เมื่อ 23:37 [23/04/2007]

ความคิดเห็นที่1

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity divide10 is
port (clk :in std_logic;
q :out std_logic;
);
end divide10;
architecture div of divide10 is
signal cnt :std_logic_vector(3 downto 0);
signal clk int :std_logic;
begin
process
begin
wait until clk'event and clk='1';
if cnt<9 then
cnt<=cnt+1;
else
cnt<="0000";
end if;
if cnt<5 then
clk_int<='1';
end if;
q<=clk_int;
end process;
end div;

อันนี้อีกอันคับ

จากคุณ : อันนี้มีข้อผิดรึป่าวคับ พี่ช่วยดูที 11:18 [24/04/2007]

ความคิดเห็นที่2

อันแรก

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity divider is
port(
DI : in unsigned(7 downto 0);
DO : out unsigned(7 downto 0)
);
end divider;

architecture Behavioral of divider is


begin

DO <= '0' & DI(7 downto 1);

end Behavioral;

จากคุณ : rei 11:53 [24/04/2007]

ความคิดเห็นที่3

ไม่แน่ใจว่า หาร clk เท่าไรกันแน่ คับ ถ้า เป็น mod 10 ได้ code แบบข้างล่างคับ

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity divide10 is
port (
clk :in std_logic;
q :out std_logic
);

end divide10 ;

architecture Behavioral of divide10 is
signal counter: integer range 0 to 10;
signal temp: std_logic;
begin

process(clk)
begin
if(rising_edge(clk)) then
if(counter < 10) then
counter <= counter + 1;
else
counter <= 0;
temp <= not temp;
end if;
end if;
end process;

q <= temp;

end Behavioral;

จากคุณ : rei 11:59 [24/04/2007]

ความคิดเห็นที่4

ขอบคุณคับ

จากคุณ : นักศึกา 21:34 [03/05/2007]
ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป