LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
PHẦN A
CHƯƠNG I: GIỚI THIỆU VỀ BỘ KIỂM SOÁT CID CHO THUÊ BAO CÓ ĐĂNG KÝ
DỊCH VỤ CLI.
I..Tổng quát:
1..Mô tả:
Dòch vụ bổ sung CLI cung cấp phương tiện truyền thông tin nhận dạng cuộc gọi từ
thuê bao gọi cho thuê bao nhận cuộc gọi băng cách truy xuất tương tự.
Mọi cuộc gọi cho khách hàng có thuê bao dòch vụ CLI sẽ kích khởi việc nối thiết bò điều chế
tần số trung tâm với đường truy xuất của khách hàng. Thông tin nhận dạng CLI trên đường
dây trong giai đoạn thiết lập cuộc gọi. Thiết bò đầu cuối của khách hàng sẽ giải mã thông tin
này và truyền qua máy tính để chương trình xử lí và hiển thò lên màn hình.
2..Điều kiện cần:
Truyền dữ liệu từ tổng đài đến trạm cuối:
Hoạt động trên đường truyền âm thanh và xảy ra ở thời gian thiết lập cuộc gọi, trước
khi chuông reo, máy trạm cuối ở trạng thái gác máy.
Sử dụng cách truyền dữ liệu bằng tần âm thanh dựa vào phương thức điều chế ITU_TV23.
+Yêu cầu thiết bò ở hai đầu để truyền dữ liệu V23:
phía khách hàng có thuê bao dòch vụ này có một bộ điều chế có thể giải mã các tần
số V23.
II..Phương thức phục vụ:
1..Cung cấp:
Dòch vụ CLI (nhận dạng số của cuộc gọi đến) được cung cấp ở thuê bao.
2..Hoạt động tổng quát:
Truyền các dữ liệu trên điều chế V23 được thực hiện ở cấp đơn vò kiểm soát.
Phương thức kiểm soát cuộc gọi cơ bản thực hiện bắc cầu nối đến bộ điều chế, bộ này
truyền các thông tin trên tần số V23 khi thiết lập cuộc gọi đến khách hàng có thuê bao dòch
vụ này.
Truyền dữ liệu đến thiết bò đầu cuối của khách hàng phải tuân theo nghi thức được
mô tả trong tài liệu BELLCORE.
3..Huỷ bỏ:
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 5
PRESENTETION
LAYER
DATA LINK
LAYER
PHYSICAL
LAYER
PRESENTETION
LAYER
DATA LINK
LAYER
PHYSICAL
LAYER
TRANSMISSION
STOP START
12
3
45678
DATA
First bit transmitted
CHECK MARK SIGNAL
V2
Mark bits
L2 V1T2 L1 T1 L
T
CHANNEL SEIZURE
Parameter 2 Parameter 1
Data
Level 1
Data level 2
4..Đònh thời:
Truyền dữ liệu được phối hợp với tín hiệu chuông và xảy ra trước lúc chuông reo.
Trạm cuối ở trạng thái “on hook”.
Message được truyền đi trong khoảng thời gian giữa xung chuông đầu tiên và mẫu
xung cho chuông.
Chế độ đònh thời được xác đònh như sau:
a..Bước A:
Tương ứng với thòi gian trôi qua giữa lúc thiết lập đường dẫn âm tần và cạnh lên của
tín hiệu chuông thứ nhất.
b..Bước B:
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 6
D
V23
B
CA
E
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
Tín hiệu báo xung chuông đầu tiên. Bước này cần để đánh thức bộ giải điều chế đặt ở
phía trạm cuối (min: 200ms, max: 300ms).
c..Bước C: thời gian chờ đợi:
Quãng delay này cần để đảm bảo rằng trạm cuối có đủ thời gian để chuyển sang mức
trở kháng thấp (min: 500ms, max: 700ms).
d..Bước D:
Truyền dữ liệu dựa trên điều chế V23. Bước này không vượt quá 3s.
e..Bước E: cho phép trạm cuối chuyển lại mức trở kháng cao.
Bước này cần để tránh hư hỏng ở phía thiết bò đầu cuối khi đang gửi dòng điện reo
chuông (min: 200ms, max: 400ms ).
f..Bước F:
Tín hiệu chuông thứ hai trong chu kì chuông.
5..Message và giải mã thông số:
HGFEDCBA= tối đa 18 số
-Byte 3 đến 20: danh sách của số.
@. Trường hợp không có thông số CLI:
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 8
8 7 6 5 4 3 2 1
AB
C
DEFGH
Loại của thông số (T)
Chiều dài của thông số (L)
Byte 1
Byte 2
Chiều dài của thông số (V)
… … …
Chiều dài của thông số (V)
Chiều dài của thông số (V)
Byte 3
Byte 4
Byte 10
8 7 6 5 4 3 2 1
AB
C
DEFGH
Loại của thông số (T)
Chiều dài của thông số (L)
Byte 1
Byte 2
Lý do không có thông số CLI Byte 3
8 7 6 5 4 3 2 1
AB
dụng một cách thuận lợi VHDL và những công cụ sẵn có giúp cho việc tổ chức những ý
tưởng tốt hơn và cố gắng để quản lý việc thi hành những thiết kế lớn.
Trong quá trình thiết kế, trước hết chúng ta đưa ra một cái nhìn tổng quát về VHDL
và những thành phần của ngôn ngữ này, sau đó chúng ta sẽ mô tả qui trình Top-Down
design. Trong quá trình Top-Down design, chúng ta sẽ chỉ ra những mức độ khác nhau của
những ý niệm (cấu trúc, dòng dữ liệu và hành vi) trong VHDL, làm thế nào để mỗi mức độ
của những ý niệm đó có thể được sử dụng.
Việc xây dựng ngôn ngữ VHDL dành cho việc mô tả những thành phần của phần
cứng, việc gói gọn các bộ phận, sự có ích và hữu dụng của thư viện (library) và cho việc
truy cập đến những thư viện thiết kế. Do mục tiêu riêng của ngôn ngữ là dùng cho thiết kế
phần cứng. Cho nên nhiều phần đặc biệt trong ngôn ngữ VHDL được mô tả để tạo điều kiện
cho cách dùng này.
1..Phương pháp to p_down design :
Đối với những hệ thống lớn thì ta không thể mô tả hết tất cả các hành vi bên trong mà
ta phải phân chia ra nhiều thành phần và theo từng cấp khác nhau ta gọi là quá trình
top_down design.
Top_down design là phương pháp phân chia nhiều lần của hệ thống thành những
thành phần con của nó cho đến khi các thành phần con này ta có thể quản lý được. Một thành
phần có thể quản lý được nếu nó đã có sẵn trong thư viện ( nó có thể được mở rộng thêm từ
những thành phần trong thư viện) hoặc nó có thể được mô tả bằng chương trình tổng hợp
được viết bởi người thiết kế hoặc một phần cứng được tạo ra một cách tự động. Việc phân
chia đó có thể được mô tả như sau:
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 10
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
Sau khi tiến hành phân cấp hệ thống thiết kế thì ta sẽ ánh xạ vào phần cứng. Việc
ánh xạ vào phần cứng phụ thuộc vào công nghệ cuối cùng, thư viện và công nghệ sẳn có.
Đối với những hệ thống có thể lập trình được thì từ công cụ sẵn có ta có thể sử dụng để tạo ra
các file lập trình thiết bò gọi là Design File. Một phần mềm được trang bò những công cụ tốt
và thư viện đầy đủ sẽ hổ trợ cho việc phân chia tốt hơn và hệ thống có những thành phần đơn
giản hơn, dễ dàng cho việc thiết kế. Như trong ví dụ trên thì bộ ALU được phân chia thành
khối đơn giản chỉ có 2-input NAND cũng có loại phức tạp hơn như là multiplexers hay lookup
tables. Đa số các logic block đều có một vài loại flipflop nhằm bổ sung cho việc thực thi các
mạch tuần tự.
Bộ kết nối: (interconnection resources): cấu trúc và nội dung của việc kết nối trong
FPGA được gọi là kiến trúc đường nối (routing architecture). Kiến trúc đường nối bao gồm
cả các đoạn dây (wire segments) và các công tắc (programmable swiches). Các công tắc này
được tạo ra bằng nhiều cách như là pass-transitor controlled, anti-fuses, EPROM transitor,
EEPROM transitor. Kiến trúc đường nối được thiết kế theo nhiều hướng khác nhau, một số
thì dùng một số lượng lớn các kết đơn giản giữa các block, số còn lại thì dùng ít số lượng
kết nối nhưng lại có tính phức tạp cao hơn.
2..Ưu, nhược điểm của công nghệ FPGA:
Ưu điểm: FPGA được sử dụng một cách có hiệu quả trong rất nhiều lãnh vực khác
nhau. So với công nghệ MPGA trước đó thì nó có 2 ưu điểm nổi bật là chi phí cho việc chế
tạo các mạch mẫu là thấp hơn rất nhiều, và thời gian sản xuất cũng được rút ngắn lại.
Nhược điểm: So với MPGA thì FPGA có 2 nhược điểm chính là tốc độ hoạt động của
mạch thấp hơn đáng kể, và độ tích hợp về logic thấp hơn. Mạch cha chậm hơn là do các
công tắc trong liên kết có trở kháng và dung kháng lớn. Độ tích hợp các cổng logic thấp hơn
cũng là do các công tắc vì sau khi chúng được lập trình, chúng sẽ chiếm nhiều thể tích hơn
trong con chíp so với các mối nối bằng kim loại trong công nghệ MPGA. Một nhược điểm
khác của FPGA là khi sản xuất với số lượng lớn, giá thành trên đơn vò sản phẩm sẽ cao hơn
so với dùng MPGA.
3..Các lãnh vực ứng dụng của FPGA:
FPGA có thể được sử dụng trong hầu hết các ứng dụng mà hiện tại đang dùng
trong các chip MPGA, PLD và SSI (Small Scale Integrated). Các ứng dụng của FPGA có thể
được liệt kê ra như sau:
Mạch tổ hợp đặc dụng ASIC (Application-Specific Integrated Circuit): FPGA là
một công cụ có tính tổng quát, và hoàn toàn có thể hiện thực được mạch logic số. Nó đặc
biệt thích hợp cho việc hiện thực ASIC. Một vài ứng dụng đã được ghi nhận như: 1 megabit
FIFO controller, kênh giao tiếp IBM PS/2, DRAM controller, graphic engine, mạch nhận biết
ký tự qua hình ảnh, …
cấu trúc các máy đã sản xuất hoàn chỉnh hay đã được xử dụng. Ngay cả đối với các
máy ở xa cũng có thể được thay đổi, bổ sung cho thích ứng hoặc ngay cả chỉnh sửa lại
sự sai sót của công việc thiết kế mạch đó. Loại FPGA thích hợp nhất cho việc tái cấu
hình này là loại chứa những công tắc có thể tái lập trtình được (re-programmable
switches).
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 13
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
4..Quá trình hiện thực FPGA:
Môt người thiết kế muốn sử dụng tốt FPGA phải có được một hệ thống CAD
(Computer Aided Design) có hiệu quả. Hình 4 miêu tả các bước mà một hệ thống CAD điển
hình hiện thực một mạch FPGA.
Khối logic khởi đầu (initial logic entry): bước này có liên quan đến việc vẽ lược đồ
(sử dụng chương trình schematic capture), việc nhập vào sự miêu tả phần cứng bằng ngôn
ngữ VHDL, và việc đặc tả các biểu thức boolean. Bất kể nhập vào khối khởi đầu này bằng
cách nào, việc miêu tả mạch thường được chuyển sang một dạng chuẩn là các biểu thức
boolean.
Khối tối ưu hoá logic (logic optimization): các biểu thức boolean được đưa vào xử
lý khối này bởi một công cụ tối ưu hoá logic, mà nó có thể quản lý được các biểu thức
boolean đó. Mục tiêu của khối này là điều chỉnh các biểu thức đầu vào để tối ưu hoá kích
thước và tốc độ của mạch điện sau cùng. Sự kết hợp của những yêu cầu về tốc độ và kích
thước cũng được xem xét tại khối này. Việc tối ưu hóa này thường thể hiện bằng cách giảm
thiểu tối đa về mặt đại số của các biểu thức boolean. Các biểu thức sau khi được tối ưu hóa
có thể được hiện thực thành một mạch logic bằng bất kỳ phương tiện nào, chứ không phải chỉ
dùng FPGA.
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 14
Hệ thống
CAD
Khối logic khởi đầu
(Initial design logic)
Khối tối ưu hóa logic
III..To ùm tắt sơ lược ngôn ngữ VHDL :
1..Giới thiệu:
Ngôn ngữ VHDL ra đời với mục đích phục vụ cho việc mô phỏng phần cứng. Nó tạo
ra sự liên kết chặt chẽ giữa máy tính và điện tử . Lónh vực ứng dụng quan trọng của ngôn ngữ
là mô tả phần cứng bằng sự tổng hợp . Nó cung cấp cho người thiết kế một cái nhìn tổng
quát vấn đề để việc thiết kế đạt hiệu quả nhanh chóng. Trong thời đại ngày nay sự kết hợp
giữa phần cứng và phần mềm là không thể thiếu được. Ngôn ngữ VHDL là một công cụ hỗ
trợ đắc lực cho việc nhúng phần cứng vào phần mềm tạo ra những sản phẩm điện tử có giá
trò một cách nhanh chóng và hiệu quả. Công nghệ FPGA là một bằng chứng chứng tỏ kỹ
thuật mới sẽ phát triển cấp trừu tượng về sự mô tả công cụ điện tử. Vì vậy mà các công nghệ
mới cần sự hổ trợ rộng rãi của các ngôn ngữ miêu tả phần cứng nhờ vào sự tổng hợp.
Tổng hợp là một quá trình cho phép sự mô tả hành vi sang sự mô tả cấu trúc mà mỗi
phần tử đại diện là một tài nguyên được xác đònh trước. Trong chu kỳ thiết kế, tổng hợp mô
tả là một trong các bước sau cùng. Chức năng chính của phần tử thiết kế phải được duy trì.
Kỹ thuật tổng hợp nhằm mục đích sắp xếp kết quả việc lựa chọn kiến trúc dựa vào tập hợp
các phần tử cơ bản. Một phần tử có thể đại diện cho một tài nguyên phần cứng hoặc một vài
ô nhớ chuẩn cho mạch tích hợp.
Tầm quan trọng của việc tổng hợp:
- Sự thuận lợi đầu tiên là cấp mô tả phần cứng được thể hiện ở mức mô tả cao hơn, sự ứng
dụng của người thiết kế càng ít việc chi tiết hóa mô tả. Việc đạt được từ sự trừu tượng
được là giảm bớt và rút gọn sự mô tả ban đầu, do đó sẽ làm thuận lợi việc debug của
chúng.
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 15
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
- Càng trừu tượng ở các cấp thì càng có nhiều chức năng mô tả hơn. Sự tổng hợp ở phương
diện này sẽ làm ngắn con đường dẫn từ ý tưởng đến ứng dụng.
- Tổng hợp dẫn đến thông tin thiết kế an toàn hơn và được xem như là một nhãn chất
lượng trong chu trình thiết kế.
- Từ lúc tổng hợp làm giảm kích thước mô tả, nó cũng là phép cập nhật dể dàng hơn,
debug nhanh hơn và sự khám phá của việc lựa chọn kiến trúc rộng hơn.
• Signal assignment: Gán giá trò tính toán đến các tín hiệu hoặc các cổng giao tiếp
• Procedure calls: gọi giải thuật để tính và gán giá trò cho các tín hiệu
• Component instantiations: tạo ra một instance của thực thể để nối các cổng giao
tiếp với các tín hiệu hoặc các cổng giao tiếp của một thực thể đã được đònh nghóa
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 16
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
• Processes: đònh nghóa một giải thuật tuần tự. Các phát biểu trong một process sẽ
thực thi tuần tự
Khai báo một architecture
Architcture identifier of entity_name is
architecture_declarative_part
Begin
Architecture_statement_part
End [ architecture_simple_name ];
VD: Mô tả Architecture của entity NAND dưới dạng structure.
Architecture STR of NAND is
Component INV
port( P : in BIT ; Q : out BIT);
end componant;
Componant AND
port( A,B : in BIT ; C :out BIT);
end componant
Begin
Vo : port map INV(C , ABAR);
No : port map AND(A , B , C);
End;
Mô tả Architecture của entity NAND dưới dạng data flow.
Architecture STR of NAND is
Begin
C <= not (A and B) ;
* Phát biểu Wait
* Phát biểu Null
Chức năng, và cú pháp của các phát biểu này sẽ được nói đến ở phần sau.
Khai báo processes:
[process_label :]
[postponed] process [(sensitivity_list)][is]
process_declarative_part
begin
process_statement_part
end [postponed] process [process_label];
e..Subprogram:
Giống như process chương trình con sử dụng phát biểu tuần tự. Có hai loại chương
trình con là functions và procedure. Function trả về giá trò đơn trực tiếp, Procedure trả về
0 hoặc giá trò thông qua giao diện. Chương trình con hữu dụng cho việc tính toán lặp vòng.
Chương trình con được khai báo trong package.
Khai báo chương trình con
Subprogram_Specification is
Subprogram_declarative_part
Begin
Subprogram_declarative_part
End [subprogram_kind][designator];
VD:
+Function: Tìm phần tử lớn nhất trong tập hợp.
Function LARGEST (TOTAL_NO : integer ; SET : PATTERN)
Return REAL is
Variable RETURN_VALUE : REAL := 0.0;
Begin
For K in SET’RANG loop
If SET(K) > RETURN_VALUE then
RETURN_VALUE := SET(K);
Package SYNTH_PACK is
Constant LOW2HIGH : TIME:=20 ns;
TYPE ALU_OP is (ADD,SUB,MUL,DIV,EQL);
Attribute PIPELINE : BOOLEAN;
TYPE MVL is (‘U’,’O’,’1’,’Z’);
TYPE MVL_VECTOR is array(NATURAL range<>) of MVL;
SubTYPE MY_ALU_OP is ALU_OP range ADD to DIV
Component NAND2
Port (A,B : in MVL; C: out MVL);
End component;
End SYNTH_PACK;
• Package body : chứa hành vi của chương trình con và giá trò của hàng số được
khai trong phần khai báo package và các phần khai báo khác.
Package body package_name is
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 19
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
Package_body_declarative_part
End [package_body][package_name];
VD:
Package body PROGRAM_PACK is
Use WORK.TABLES.all;
Constant PROP_DELAY : TIME:=15ns;
Function “and”(L,R:MVL) return MVL is
Begin
Return TABLE_ANĐ(L,R);
End ”and”;
Procedure LOAD (singal ARRAY_NAME :inout MVL_VECTOR;
STR_BIT,STO_BIT: in INTEGER) is
Begin
procedure behaviour here.
Cú pháp của khai báo kiểu integer:
TYPE TYPE_name is range interger_range;
VD:
TYPE PERCENT is range -100 to 100;
c..Kiểu array:
Giống như một số ngôn ngữ cấp cao khác (C, Pascal,..) kiểu array trong VHDL là
một đối tượng chứa một dãy các phần tử cùng kiểu. Array chia làm hai loại
- Constrained array
Cú pháp:
TYPE array_TYPE_name is
Array (integer_range) of TYPE_name;
- Unconstrained array
Cú pháp:
TYPE array_TYPE_name is
Array (range_TYPE_name range<>) of element_TYPE_name;
Các thuộc tính của kiểu array là: left, right, high, low, length, range, reverse_range.
d..Kiểu record:
Một record là một tập hợp các field được đặt tên của nhiều kiểu khác nhau.
Cú pháp:
TYPE TYPE_name is
Record
Element_TYPE_declaration;
End record;
VD:
TYPE BYTE_AND_IX is
Record
BYTE : BIT_VECTOR (5 downto 0);
IX : integer range 0 to LEN;
End record;
e..Một số kiểu dữ liệu đònh nghóa trước của VHDL:
Cú pháp:
Target := Expression;
Target: phải là biến cùng kiểu với kiểu của biểu thức expression.
- Phát biểu gán tín hiệu:
Cú pháp :
Target <= Expression;
Target: phải là tín hiệu cùng kiểu với kiểu của biểu thức expression.
- Phát biểu điều kiện IF:
Cú pháp :
If condition then
{Sequential_statement}
{elsif condition then
{sequential_statement}}
[else
{sequential_statement}]
end if;
Phát biểu If phải có ít nhất 1 phát biểu tuần tự .
- Phát biểu chọn lựa case: dùng để thay thế cho phát biểu IF có nhiều phát biểu
ELSIF.
Cú pháp:
Case expression is
When choices => {sequential_statement}
{When choices => {sequential_statement}}
End case;
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 22
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
Phát biểu Case hợp lệ nếu có một hoặc nhiều chọn lựa when .
- Phát biểu Loop:
Cú pháp:
[Label :][iteration_scheme] loop
+ Gọi thủ tục :
Procedure_name [([name =>] expression
{ , [name =>] expression})];
+ Gọi hàm :vì hàm trả về giá trò nên khi gọi ta phải đặt nó trong một expression.
Vd:
V := INVERT (V1) xor 1;
- Phát biểu Return: trả về giá trò khi hàm đã thực thi xong.
Cú pháp :
Return expression ; (dùng cho function)
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 23
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
Return ; (dùng cho procedure)
- Phát biểu Wait: khi gặp phát biểu này thì việc thực thi sẽ dừng lại đến khi điều
kiện được thỏa.
Cú pháp :
+ Wait until signal = value;
+ Wait until signal'event
and signal = value;
+ Wait until not signal'stable
and signal = value;
- Phát biểu Null: là phát biểu tường minh, khi gặp phát biểu thì chương trình không
làm gì cả.
Cú pháp :
Null;
7..Phát biểu đồng thời:
Các phát biểu đồng thời được đặt ở vò trí giữa Begin và End của phần Architecture.
- Phát biểu process:
Cú pháp như đã trình bày.
- Phát biểu block :
Cú pháp:
Label : For identifier in range generate
{concurrent_statement}
end generate [label];
+ If .. generate statement:
Cú pháp :
Label : If expression generate
{concurrent_statement}
end generate [label];
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 25
LVTN: Bộ kiểm soát CID điện thoại GVHD: Nguyễn Quốc Tuấn
CHƯƠNG III
GIỚI THIỆU PHẦN MỀM XILINX FOUNDATION Series 2.1i
I..Yêu cầu phần cứng:
+Bộ xử lý Pentium Pro trở lên.
+Hệ điều hành Window 9x hay NT4.0 trở lên.
+Tốc độ xung 120MHz trở lên.
+Bộ nhớ chính 48MB trở lên.
+Swap file 48MB trở lên.
+Không gian đóa cứng trống 2GB.
+Màn hình SVGA 17” trở lên.
+CD ROM 4x trở lên (optional).
+Bàn phím.
+Chuột hai hay ba nút nhấn.
Chú ý: Nếu cấu hình máy thấp hơn yêu cầu thì thời gian chạy chương trình sẽ lâu hơn.
II..Cài đặt chương trình:
1..Có đóa CD source chương trình ở ổ CD ví dụ ổ E. Chọn Start-Run, gõ vào lệnh
E:\setup.exe.
2..Làm theo các hướng dẫn trên màn hình.
Chú ý : ta chọn các option (xem hình sau)
Ta chọn họ XC4000XL để cài đặt:
end add4bit;
architecture add4bit_behavioral of add4bit is
signal crry : std_logic;
begin
process(clk,a,b)
variable carry : std_logic;
begin
if (clk'event and clk = '1') then
for j in 7 downto 0 loop
result(j)<= a(j) xor b(j) xor carry;
carry := (a(j) and b(j)) or (a(j) and carry) or (carry and b(j));
end loop ;
if carry='0' then crry <= '0';else crry <= '1'; end if;
end if;
end process;
cout <= crry;
end add4bit_behavioral;
3..Kiểm tra cú pháp:
Sau đó ta Save lại với tên file là add4bit.vhd. Sau đó kích Synthesis-CheckSyntax.
Phần mềm sẽ chạy kiểm tra cú pháp chương trình và báo lỗi bằng dấu nhắc màu đỏ ở dòng
lệnh có lỗi. Cụ thể là dòng 1, 2, 3 vì không có thư viện dls_.ieee.std_logic mà chỉ có thư viện
SVTH: Đỗ Chí Thành_Quách Thành Tính Trang 28