VHDL tổng hợp
Thiết kế RSFF đồng bộ tín hiệu Rst Posted on 13/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; entity RSFF_DB is port( R : in STD_LOGIC; S : in STD_LOGIC; RST : in STD_LOGIC; CLK : in STD_LOGIC; Q : out STD_LOGIC ); end RSFF_DB; –}} End of automatically maintained section architecture RSFF_DB of RSFF_DB is signal q0: std_logic; begin process (CLK,RST,R,S) variable RS:std_logic_vector (1 downto 0); begin RS:=R&S; if (CLK’event and CLK=’1′) then if (RST=’1′) then q0<=’0′; else case RS is when “00″=>q0<=q0; when “01″=>q0<=’1′; when “10″=>q0<=’0′; when others=>q0<=’X'; end case; end if; end if; end process; Q<=q0; — enter your statements here – end RSFF_DB; Mô phỏng : Thiết kế RSFF không đồng bộ tín hiệu Rst Posted on 13/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; entity RSFF is port( R : in STD_LOGIC; S : in STD_LOGIC; RST : in STD_LOGIC; CLK : in STD_LOGIC; Q : out STD_LOGIC ); end RSFF; –}} End of automatically maintained section architecture RSFF of RSFF is signal q0: std_logic; begin process (CLK,RST,R,S) variable RS:std_logic_vector (1 downto 0); begin RS:=R&S; if (RST=’1′) then q0<=’0′; else if (CLK’event and CLK=’1′) then case RS is when “00″=>q0<=q0; when “01″=>q0<=’1′; when “10″=>q0<=’0′; when others=>q0<=’X'; end case; end if; end if; end process; Q<=q0; end RSFF; Mô phỏng : DFF đồng bộ tín hiệu RST Posted on 13/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF is port( d : in STD_LOGIC; rst : in STD_LOGIC; clk : in STD_LOGIC; q : out STD_LOGIC ); end DFF; –}} End of automatically maintained section architecture DFF of DFF is begin process(clk,rst,d) begin if(clk’event and clk=’1′) then if(rst=’1′) then q<=’0′; else q<=d; end if; end if; end process; end DFF; Mô phỏng : Thiết kế mạch DEMUX 1_8 Posted on 13/05/2013 library IEEE; use IEEE.STD_LOGIC_1164.all; entity DEMUX1_8 is port( x : in STD_LOGIC; sel : in STD_LOGIC_VECTOR(2 downto 0); y : out STD_LOGIC_VECTOR(7 downto 0) ); end DEMUX1_8; –}} End of automatically maintained section architecture DEMUX1_8 of DEMUX1_8 is begin with sel select y<=”ZZZZZZZ”&x when “000″, “ZZZZZZ”&x&’Z’ when “001″, “ZZZZZ”&x&”ZZ” when “010″, “ZZZZ”&x&”ZZZ” when “011″, “ZZZ”&x&”ZZZZ” when “100″, “ZZ”&x&”ZZZZZ” when “101″, ‘Z’&x&”ZZZZZZ” when “110″, x&”ZZZZZZZ” when “111″, unaffected when others; end DEMUX1_8; Mô phỏng Thiết kế mạch giải mã 7 đoạn Posted on 13/05/2013 Code: library IEEE; use IEEE.STD_LOGIC_1164.all; entity GiaiMa7Doan is port( A : in integer range 0 to 9; Q : out STD_LOGIC_VECTOR(6 downto 0) ); end GiaiMa7Doan; –}} End of automatically maintained section architecture GiaiMa7Doan of GiaiMa7Doan is begin with A select Q<=”1111110″ when 0, “0110000″ when 1, “1101101″ when 2, “1111001″when 3, “0110011″ when 4, “1011011″ when 5 , “1011111″ when 6 , “1110000″ when 7, “1111111″ when 8, “1111011″ when 9 , “XXXXXXX” when others ; — enter your statements here – end GiaiMa7Doan; Mô Phỏng : Thiết kế bộ mã hóa nhị phân – Gray Posted on 15/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code: library IEEE; use IEEE.STD_LOGIC_1164.all; entity NhiPhan_Gray is port( A : in STD_LOGIC_VECTOR(3 downto 0); G : out STD_LOGIC_VECTOR(3 downto 0) ); end NhiPhan_Gray; }} End of automatically maintained section architecture NhiPhan_Gray of NhiPhan_Gray is begin with A select G<= "0000" when "0000", "0001" when "0001", "0010" when "0011", "0011" when "0010", "0100" when "0110", "0101" when "0111", "0110" when "0101", "0111" when "0100", "1000" when "1100", "1001" when "1101", "1010" when "1111", "1011" when "1110", "1100" when "1010", "1101" when "1011", "1110" when "1001", "1111" when "1000", "XXXX" when others; end NhiPhan_Gray; Mô phỏng : Thiết kế bộ so sánh 2 số nhị phân 4 bit Posted on 13/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; entity sosanh4bit is port( a : in STD_LOGIC_VECTOR(3 downto 0); b : in STD_LOGIC_VECTOR(3 downto 0); x1 : out STD_LOGIC; x2 : out STD_LOGIC; x3 : out STD_LOGIC ); end sosanh4bit; –}} End of automatically maintained section architecture sosanh4bit of sosanh4bit is begin x1<=’1′ when a>b else ’0′; x2<=’1′ when a=b else ’0′; x3<=’1′ when a — enter your statements here – end sosanh4bit; Mô phỏng : Thiết kế bộ ALU 4 bit Posted on 13/05/2013 Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.std_logic_unsigned.all; entity alu is port( a : in STD_LOGIC_VECTOR(3 downto 0); b : in STD_LOGIC_VECTOR(3 downto 0); sel : in STD_LOGIC_VECTOR(1 downto 0); q : out STD_LOGIC_VECTOR(3 downto 0) ); end alu; architecture alu of alu is begin with sel select q <= a+b when “00″, a-b when “01″, a and b when “10″, a or b when others; end alu; Mô phỏng : [...]... mạch kiểm tra chuỗi dữ liệu Posted on 17/05/2013 Đề bài :Thiết mạch kiểm tra chuỗi dữ liệu vào nối tiếp đầu ra nhận giá trị bằng 1 nếu đầu vào là 4 số liên tiếp “1000” và đầu ra bằng 0 trong các trường hợp còn lại Sơ đồ chuyển trạng thái : Nếu thấy bài viết hữu ích hãy like và share nó với bạn bè: Code : library IEEE; use IEEE.STD_LOGIC_1164.all; entity kiemtrachuoi is port( RST : in STD_LOGIC; CLK