Professional Documents
Culture Documents
www.opencores.org
tính
Khoa CNTT, ĐHBKHN.
Mobile: +84983588135
Email: kiennt-fit@mail.hut.edu.vn
Phương Phương
pháp pháp
thiết kế thiết kế
bằng HDL truyền
thống
ENTITY full_adder IS
PORT (a,b,cin: in bit;
s,cout:out bit);
END full_adder;
LIBRARY work;
Copyright © by N.T.K - 8/2008
Thư viện LIBRARY
std_logic_1164
Gói của thư viện IEEE hỗ trợ multi-level
logic.
std
Gói thư viện tài nguyên (kiểu dữ liệu, text
IO…) cho môi trường thiết kế VHDL.
work
Gói thư viện chứa các thiết kế của người
dùng mới tạo ra.
BLACK_BOX
rst
q[7:0]
d[7:0]
co
clk
ENTITY mux IS
PORT (a, b: IN std_logic_vector(7 downto 0);
sel: IN STD_LOGIC_VECTOR(0 to 1);
c: OUT STD_LOGIC_VECTOR(7 downto 0));
END mux;
Copyright © by N.T.K - 8/2008
Cấu trúc code
Thư viện LIBRARY
ENTITY
ARCHITECTURE
ENTITY full_adder IS
PORT (a,b,cin: in std_logic;
s,cout:out std_logic);
END full_adder;
A(7:0) Architecture dataflow of full_adder is
C(7:0) begin
B(7:0) Adder s <= a xor b xor cin;
cout <= (a and b) or (a and cin)
or (b and
cin);
end dataflow;
Copyright © by N.T.K - 8/2008
library IEEE;
use IEEE.std_logic_1164.all;
ENTITY adder IS
PORT (A,B: IN std_logic_vector(7 downto 0);
C: OUT std_logic_vector(7 downto
0));
END adder;
A(7:0)
C(7:0) Architecture dataflow of adder is
B(7:0) Adder begin
C <= A+B;
end dataflow;
Signal
External Internal
Signal Signal
PACKAGE sigdecl IS
TYPE bus_type IS ARRAY(0 to 7) OF std_logic;
B E
D F
về sử
ones: OUT INTEGER RANGE 0 TO 8);
END count_ones;
---------------------------------------
dụng ARCHITECTURE ok OF count_ones IS
BEGIN
1D
1Dx1D 2D
Ví dụ về mảng 2D
TYPE matrix2D IS ARRAY (0 TO 3, 7 DOWNTO 0) OF STD_LOGIC;
-- 2D array
Ví BEGIN
PROCESS(addr, cs)
VARIABLE rom_init : BOOLEAN := FALSE; --line 1
y
AND (i < 64) LOOP
READ(rom_data_file, rom_data(i)); --line 8
i := i + 1; --line 9
cập
END LOOP;
rom_init := true; --line 10
END IF;
ELSE
--line 11
data <= rom_data(addr); --line 12
Nhóm: 6 người/nhóm
Đề tài môn học Thiết kế nhờ
MT
Đề tài có 2 phần:
Phần 1: Nghiên cứu ví dụ về viết CPU
trong tài liệu “VHDL Programming by
Example 4th Ed” – Douglas L.Perry.
Phần 2: Thực hiện 1 trong các đề tài sau: