thiet ke he thong so - vu quoc toan - ddt2k3-haui

17
  Thiế t kế  h thố ng số   Đin t2 –   Khóa 3 Đại hc Công Nghip Hà Ni  1 MC LC -o0o- MC LC................................................................................................................................1 LI NÓI ĐẦU .........................................................................................................................2 PHN 1: TÌM HIU VASIC  ............................................................................................3 I. Gii thiu vcông nghASIC và lch sphát trin : ................................................3 II.Các loi ASIC :  ...............................................................................................................5 III.Lung thiết kế ASIC  ....................................................................................................5 PHN 2: TÌM HIU VFPGA  ...........................................................................................6 I.Gii thiu vFPGA:  ........................................................................................................6 II. Ý nghĩa và vai trò ca FPGA  ......................................................................................8 III. Lp trình cho FPGA ..................................................................................................8 IV. Các công clp trình  ................................................................................................10 PHN 3: MÃ NGUN VHDL  ...........................................................................................11 ************************  Solution 1***************************** ........ .....11 ************************  So lut ion 2***************************** ........ .....14 NHN XÉT CA GIÁO VIÊN HƯỚNG DN...............................................................17

Upload: hoang-dieu

Post on 10-Jul-2015

133 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 1/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  1

MỤC LỤC 

-o0o-

MỤC LỤC................................................................................................................................1

LỜI NÓI ĐẦU .........................................................................................................................2

PHẦN 1: TÌM HIỂU VỀ ASIC ............................................................................................3

I. Giới thiệu về công nghệ ASIC và lịch sử phát triển : ................................................3

II.Các loại ASIC : ...............................................................................................................5

III.Luồng thiết kế ASIC ....................................................................................................5

PHẦN 2: TÌM HIỂU VỀ FPGA...........................................................................................6I.Giới thiệu về FPGA: ........................................................................................................6

II. Ý nghĩa và vai trò của FPGA ......................................................................................8

III. Lập trình cho FPGA ..................................................................................................8

IV. Các công cụ lập trình ................................................................................................10

PHẦN 3: MÃ NGUỒN VHDL ...........................................................................................11

************************Solution 1***************************** .............11

************************Solution 2***************************** .............14

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ...............................................................17

Page 2: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 2/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  2

LỜI NÓI ĐẦU 

Các mạch tích hợp hiện đại ngày càng thực hiện được nhiều chức năng do đómà vấn đề thiết kế mạch ngày càng trở nên phức tạp.  Trước đây khi  thiết kế mộthệ thống số người ta thường sử dụng những phương pháp truyền thống như dung

  phương pháp tối thiểu hóa hàm Boolean hay sử dụng sơ đồ các phần tử logic. Nhược điểm lớn nhất của các phương pháp này là chúng chỉ mô tả được hệ thốngdưới dạng mạng nối các phần tử với nhau. Người thiết kế cần phải đi qua hai bước

thực hiện hoàn toàn thủ công : đó là chuyển từ các yêu cầu về chức năng của hệthống sang biểu diễn theo dạng hàm Boolean, sau các bước tối thiểu hóa hàm nàyta lại phải chuyển từ sơ đồ hàm Boolean sang sơ đồ mạch hệ thống. Cũng tương tựkhi phân tích một hệ thống người phân tích cần phải phân tích sơ đồ mạch của hệthống, rồi chuyển nó thành các hàm Boolean, sau đó mới lập lại các chức nănghoạt động của hệ thống. Tất cả các bước nói trên hoàn toàn phải thực hiện thủcông không có bất kỳ sự chợ giúp nào của máy tính. Người thiết kế chỉ có thể sửdụng máy tính làm công cụ trong việc vẽ sơ đồ mạch của hệ thống và chuyển từ sơ đồ mạch sang công cụ tổng hợp mạch vật lý dung công cụ Synthesis. Một nhượcđiểm nữa của phương pháp thiết kế truyền thống là sự giới hạn độ phức tạp của hệ

thống được thiết kế, chỉ có thể biểu diến được vài trăm hàm.   Ngày nay nền công nghiệp bán dẫn đã phát triển và trường thành nhanh chóngđã tạo ra các IC có độ tích hợp cao. Và để tối ưu hóa khả năng ứng dụng của IC,nhà sản suất đã cho ra một loại linh kiện đặc biệt mà chức năng của nó sẽ đượcngười thiết kế quy định chứ không phải do nhà sản xuất nữa. Đó là các thiết bịlogic lập trình được. Đi đến sự ra đời của ngôn ngữ mô tả phần cứng, nổi bật lênvới các ưu điểm hơn hẳn và sẽ dần thay thế các phương pháp thiết kế truyền thống,

cho phép chúng ta thiết kế một hệ thống lớn, các mạch tích hợp có tốc độ cao. Đểhiểu rõ hơn về vấn đề này chúng ta đi vào tìm hiểu ngôn   ngữ mô tả phần cứngVHDL và công nghệ ứng dụng thiết kế mạch sử dụng VHDL.  

**********************************

Page 3: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 3/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  3

PHẦN 1: TÌM HIỂU VỀ ASIC 

I. Giới thiệu về công nghệ ASIC và lịch sử phát triển : 

ASIC viết tắt của Application-Specific Integrated Circuit trong tiếng Anh, là

một thuật ngữ chỉ một vi mạch tích hợp được sản xuất cho một ứng dụng đặctrưng và nhìn chung chúng có một kích thước tương đối nhỏ.

ASIC là một vi mạch IC được thiết kế dành cho một ứng dụng cụ thể. ASICngày nay được ứng dụng hầu như khắp mọi nơi, ví dụ như vi xử lý của  điện thoạidi động, hay chip xử lý trong các máy móc tự động, các phương tiện truyền thông,vận tải, tàu vũ trụ, các hệ thống xử lý, các dây chuyền công nghiệp và ngay cảtrong các thiết bị cầm tay PDA. 

Công nghệ vi điện tử ngày nay đang chứng kiến một sự thay đổi to lớn: từnhững vi mạch được thiết kế bởi các chuyên gia vi mạch, sản xuất với số lượnglớn; chuyển sang các mạch chuyên dụng được thiết kế bởi các kỹ sư hệ thống tại

các cơ sở ứng dụng, tại đó không nhất thiết phải đầu tư cơ sở vật chất để làm côngnghệ bán dẫn và có thể sản xuất với số lượng nhỏ. Nhờ công nghệ ASIC(Application-specific Integrated Circuit) nên các mạch tổ hợp lớn trong nhiềutrường hợp có thể được “chế tạo” ngay tại các cơ sở ứng dụng. Có được sự thayđổi đó là nhờ việc sử dụng các hệ thống tự động thiết kế CAD (Computer -aidedDesign).

Hiện nay, mạch vi điện tử chuyên dụng đang có nhu cầu thị trường rất cao,chiếm khoảng 42% thị trường IC thế giới, và trong những năm tới sẽ chiếmkhoảng 65% 

ASIC là một vi mạch được thiết kế dành cho một ứng dụng đặc biệt (đối lập

với các mạch tích hợp điều khiển các hàm như RAM trong máy tính). ASIC đượcxây dựng bằng việc kết nối các khối mạch đã được xây dựng theo các phương pháp mới. Do các khối mạch sử dụng đã có sẵn nên việc sản xuất một ASIC mớidễ dàng hơn nhiều so với việc thiết kế một vi mạch từ những phác thảo ban đầu.  

Sau đây là sơ lược quá trình phát triển của mạch tích hợp (IC).  Hình 1(a) cho thấy khuôn dạng một IC bao gồm một mạng lưới chân (viết tắt

PGA : pin-grid array) nằm ở mặt trên của IC và cắm vào trong boardmạch in, thường được gọi là gói chíp. Hình 1(b), chip silicon (gọi là silicon die)được gắn vào lỗ hổng dưới nắp được bịt kín. 

Hình 1 (a) Sơ đồ chân của IC. b chi silicon ở dưới nắ   

Page 4: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 4/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  4

Kích thước vật lý của một silicon die thay đổi từ một milimét đến vàimilimét, nhưng thông thường kích cỡ của một IC được đo bằng số cổng logic(cổng NAND hai ngõ vào) hay số lượng transistor chứa trong IC. Ví dụ, một IC có100k cổng tương đương với 100.000 cổng NAND hai ngõ vào.

Công nghệ bán dẫn đã ra đời vào những năm 1970 và tiếp tục phát triển chođến nay. Họ IC đầu tiên gồm những linh kiện có mật độ tích hợp nhỏ (SSI) chứatừ 1 đến 10 cổng logic như cổng NAND, cổng NOR… hơn nữa chỉ vài chụctransistor. Tiếp đến là thời kỳ của những mạch tích hợp có mật độ trung bình(MSI) và đã mang theo những chức năng ưu việt hơn so với SSI đó là mật độ tíchhợp lớn hơn đồng thời các hàm logic chức năng nhiều hơn. Chẳng hạn như, sốlượng cổng logic, các bộ giải mã, các thanh ghi, bộ đếm được tăng thêm. Vào cuốinhững năm 1970, công nghệ mạch tích hợp tiếp tục phát triển đến mức các mạchtích hợp mật độ cao (LSI) ra đời. Lúc này, các bộ vi xử lí đầu tiên trong các chípđơn ra đời. Với sự ra đời của LSI đã tạo nên một bước tiến mới trong công nghệ

 bán dẫn, đã thu hút được mối quan tâm của các kỹ sư, các hãng cạnh tranh lúc bấygiờ. Các hãng như Intel và Motorola bắt đầu sản xuất các chíp vi xử lí đơn vànhững chíp nhớ đơn RAM và ROM. Các chíp hỗ trợ khác cũng bắt đầu xuất hiệnnhư: cổng song song, giao diện nối tiếp (UART) và bộ điều khiển ngắt. Vì vậy,nhiều họ chíp LSI mới được sản xuất và sử dụng cho mục đích thiết kế máy vitính. Ngày nay, các mạch tích hợp có mật độ tích hợp rất cao (VLSI) ra đời đưa ra

 bộ xử lý 64 bit có bộ nhớ cache, bộ xử lý toán học có dấu chấm động và được tíchhợp trên một triệu transistor. Khi công nghệ CMOS phát triển, các transistor đượcsản xuất với diện tích nhỏ hơn, vì thế các transistor được tích hợp ngày càng nhỏ

 bên trong IC. 

Trong những năm 1980, với công nghệ VLSI các kỹ sư đã bắt đầu khai thácnhững ưu điểm thiết kế một IC theo nhu cầu của mình hoặc thiết kế các hệ thống,các ứng dụng đặt biệt một cách tùy tiện hơn so với các IC chuẩn. Sau đó, thiết kếhệ thống vi điện tử trở thành chủ đề cần quan tâm. Đến  cuối những năm 1980,những ngôn ngữ mô tả phần cứng như VHDL và Verilog được ra đời đã đi sâu vào

 phong cách thiết kế. Các bộ mô phỏng tốc độ cao và các máy mô phỏng đã cho phép các mẫu thiết kế có hiệu lực nhanh chóng. Bộ kiểm tra và phân tích tự độngđã loại bỏ những lỗi do con người gây ra trong quá trình xử lý. Cuối cùng, nhữngcông cụ tổng hợp đã tự động tiến hành phiên dịch hoạt động của mô hình HDLthành một mô hình cấu trúc logic. 

Một trong những hội nghị đầu tiên dành cho giai đoạn này nổi lên một cáchnhanh chóng của công nghệ IC đó là hiệp hội CICC (IEEE Custom IntergratedCircuits Conference), và hôi nghị này được tổ chức hàng năm nhằm giúp cho sự

 phát triển của các hãng sản xuất IC tùy biến. Các loại IC tùy biến khác nhau bắtđầu được đưa ra có những ứng dụng khác nhau. Sự ra đời của các loại IC mới nàyđã mở ra một thời kỳ mới đó là những IC ứng dụng chuyên biệt hay ASIC. Ngàynay, đã có hiệp hội ASIC quốc tế IEEE (IEEE International ASIC conference). 

Page 5: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 5/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  5

II.Các loại ASIC :

  ASIC đặc chế hoàn toàn (Full-custom ASIC)

  ASIC dựa trên các tế bào chuẩn (Standard-Cell-Based ASIC)

  ASIC dựa trên mảng cổng lôgíc (Gate-Array-Based ASIC)

-  Mảng cổng được chia kênh (channeled gate-array).

-  Mảng cổng không chia kênh (channeless gate-array).-  Mảng cổng có cấu trúc (structured gate-array).

  Các vi mạch lập trình được (Programmable Logic Devices hay PLD) 

  Mảng cổng lôgíc có thể lập trình được theo trường/miền (Field-

Programmable Gate Array)

III.Luồng thiết kế ASIC 

Page 6: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 6/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  6

1.   Nhập thiết kế (design entry):Sử dụng ngôn ngữ mô tả phần cứng HDL (VHDL hay Verilog) 

(VHDL bởi  Bộ Quốc phòng trong năm 1980 và tiêu chuẩnhóa bởi IEEE vào năm 1993 - Verilog được tạo ra bởi Cadence trong năm1989 và tiêu chuẩn hóa bởi IEEE năm 1995) 

2.  Tổng hợp logic (logic synthesis):Dùng HDL và công cụ tổng hợp logic để xây dựng netlist –  là sự mô tả cáctế bào (cell), các khối (block) và kết nối (interconnect) giữa chúng

3.   Phân chia hệ thống (system partitioning):

Chia hệ thống lớn thành các phần thích hợp4.   Mô phỏng tiền layout (prelayout simulation):

Kiểm tra tính đúng đắn của thiết kế (tiền layout = sơ đồ mạch logic –  chỉgần đúng với thực tế)

5.   Sắp xếp các khối trên chip (floorplanning):

Sắp xếp các khối của netlist trên chip. Nên xem xét cả khía cạnh vật lý  và

logic k hi thiết kế bước này6.   Bố trí cell (placement):

Định vị cell bên trong khối7.   Định đường dẫn hay định tuyến (routing): kết nối giữa các cell và các

khối8.   Kiểm tra tính hợp l  ý của bước 7 (extraction): tính toán trở kháng và dung

kháng lớp interconnect9.   Mô phỏng hậu layout (postlayout simulation):

Kiểm tra khả năng làm việc ổn định của toàn bộ thiết kế trong trường hợpcó thêm tải từ lớp interconnect (hậu layout = sơ đồ mạch thực tế)  

Các bước thiết kế 1 - 5: logic (logical design).

Các bước thiết kế 5 – 9 : vật lý (physical design). Kết thúc bước kiểm tra, nếu có lỗi xuất hiện ta phải quay lại các bước trên để

thực hiện chỉnh sửa đến khi việc kiểm tra đảm bảo hoàn tất mà không còn lỗi. Saukhi hoàn tất việc biên dịch mà không còn lỗi nào nữa, file biên dịch sẽ được tảixuống thiết bị (download device). 

PHẦN 2: TÌM HIỂU VỀ FPGA

I.Giới thiệu về FPGA: 

PLD sản xuất phức tạp gọi là field-programmable gate array ( FPGA ). Là vimạch dùng cấu trúc mảng phần tử logic có thể lập trình được dạng trường.(Chữ  field  ở đây muốn chỉ đến khả năng tái lập trình “bên ngoài” của người sửdụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn)  

Có 1 sự khác biệt giữa FPGA và PLD. Đó là FPGA lớn và phức tạp hơn PLD.FPGA là thành viên mới trong họ ASIC và đã phát triển rất nhanh chóng, thay thếTTL trong các hệ thống vi điện tử.

Page 7: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 7/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  7

Các đặc điểm cần thiết của FPGA 

-  Không có lớp mặt nạ nào được tùy biến 

-  Có một phương pháp lập trình logic cell cơ bản và interconnect. -  Lõi là 1 mảng các logic cell cơ bản có thể lập trình mà có thể tăng cường

kết nối như các chuỗi tuần tự ( flip -flop)

-  Một ma trận interconnect có thể lập trình bao quanh logic cell cơ bản  -  Cell I/O có thể lập trình bao quanh lõi -  Thiết kế chỉ mất vài giờ 

Tất cả FPGA chứa cấu trúc là các logic cell có thể lập trình được bao quanh bởi  

interconnect có thể lập trình. Số lượng, kích thước, chủng loại chính xác của logiccell cơ bản có thể lập trình thay đổi rất lớn.

A field-programmable gate array (FPGA) die.

FPGA cũng đượ c xem như một loại vi mạch bán dẫn chuyên dụng ASIC, nhưng

nếu so sánh FPGA vớ i những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thư

viện logic thì FPGA không đạt đựợ c mức độ tối ưu như những loại này, và hạnchế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu

việt hơ n ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết k ế đơ n giản

do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc mảng 

phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái lập

trình của FPGA thực hiện đơ n giản hơ n; khả năng lập trình linh động hơ n; và khácbiệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối

lượ ng lớ n cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được cótrước nó. 

Thiết k ế hay lập trình cho FPGA đượ c thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớ nnhư Xilinx, Altera thườ ng cung cấp các gói phần mềm và thiết bị phụ trợ  cho quátrình thiết k ế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu

này như Synopsys, Synplify... Các gói phần mềm này có khả năng thực hiện tất cả các bướ c của toàn bộ quy trình thiết k ế IC chuẩn với đầu vào là mã thiết k ế trênHDL (còn gọi là mã RTL).

Page 8: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 8/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  8

II. Ý nghĩa và vai trò của FPGA 

FPGA có ý nghĩa và vai trò quan trọng trong thực tiễn. Ứng dụng cho nhiềungành nghề, đặc biệt là khoa học. 

Với các ưu điểm về khả năng tái cấu hình, tốc độ hoạt động, thời gian sản xuất,giá thành giảm, FPGA thường được dung trong các lĩnh vực như: 

Thiết kế các lõi IP cho các lĩnh vực chuyên dụng: - Mã hóa (Cryptography)

- Viễn thông (Communication) 

- Công nghiệp phát thanh truyền hình số (Broadcast Industry) 

- Xử lý ảnh, thiết kế các bộ codec  

- SoC thiết kế các Core CPU, bus ...Thiết kế các sản phẩm công nghệ cao và số lượng ít, cần độ đặc chế cao. 

Các máy đo, phát và thu sóng viễn thông. FPGA đóng vai trò glue-logic, kết nốicác con chip chuyên dụng lại và chạy một số chức năng hỗ trợ con CPU nhúng đểhệ thống nhanh hơn, hiệu quả hơn. 

III. Lập trình cho FPGA

Sơ đồ lập trình cho FPGA 

 Nhập vào thiếtkế 

(Schematic hoặc HDL)

Mô phỏng chứcnăng 

(FunctionalSimulation)

Tổng hợp (Synthesis)

Liệt kê lưới (netlist)  Xử lý 

Implementation

Mô phỏngthời gian 

(TimingSimulation)

DeviceProgrammingLoading

Page 9: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 9/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  9

Để sử dụng thiết bị logic lập trình ta phải kết hợp phần cứng và phần mềm vớinhau. Ta coi thiết bị lập trình được là thiết bị đích. Các thiết bị cần thiết để lậptrình bao gồm máy tính, phần mềm lập trình, thiết bị logic ( ở đây là FPGA) vàthiết bị kết nối máy tính với thiết bị lập trình ( cáp nối và mạch nạp)  

1.Cách thiết kế : Trước tiên ta thiết kế trên máy tính, ta có thể thiết kế bằng sơ đồ Schematic hoặc

ngôn ngữ mô tả phần cứng HDL (VHDL hoặc Verilog). 2.Mô phỏng chức năng : 

Để đảm bảo thiết kế hoạt động theo yêu cầu ta phải thực hiện bước mô tả dạngsóng bằng cách cung cấp dạng sóng đầu vào và quan sát dạng sóng đầu ra. 3.Tổng hợp 

Tổng hợp để đảm bảo thiết kế được tối ưu theo các thành phần từ đó có thể giảmđược số lượng cổng, loại trừ các thành phần logic thừa, thay thế các thành phầnlogic khác có cùng chức năng nhưng hiệu quả hơn. 

4.Liệt kê lưới (Neslist). Mô tả các thành phần và cách kết nối với nhau. Liệt kê lưới chứa các  thành phần

và các phần tử được sử dụng. Các điểm kết nối là các port và các pin chân). 5. Thi hành 

Sau khi thiết kế đã được tổng hợp thì trình biên dịch thi hành thiết kế - Về cơ  bản công việc này là xắp xếp thiết kế để nó có thể tương thích với thiết bị lập trìnhđã chọn bằng cách dựa vào cấu trúc và cấu hình chân. 

Quá trình xử lý này gọi là làm cho tương thích (fitting). Để kết thúc công đoạnthi hành của dòng thiết kế thì phần mềm phải biết thiết bị rõ rang và phải có đầy

đủ thông tin chi tiết về các chân. Dữ liệu đầy đủ cho tất cả các thiết bị thườngđược lưu trong thư viện của bộ nhớ và người thiết kế chỉ cần lựa chọn đúng thiết bị lập trình. 6.Mô phỏng thời gian 

Thực hiện trước khi nạp vào thiết bị, Mô phỏng theo thời gian để kiểm tra mạchhoạt động tại tần số thiết kế hoặc không có thời gian trễ hoăc các vấn đề thời giankhác làm ảnh hưởng đến hoạt động của mạch.  

Khi mô phỏng chức năng thì các thông số chỉ định về thiết bị là không cần thiết,nhưng khi mô phỏng về thời gian thì cần phải lựa chọn thiết bị đích. Nếu không bịlỗi ta có thể thực hiện bước tiếp theo, nếu gặp sự cố ví dụ như gặp thời gian trễ thì

ta phải lặp lại các bước thiết kế. 7.Nạp chương trình cho thiết bị  Sau khi kiểm tra mô phỏng chức năng và mô phỏng theo thời gian và đã hoạt

động đúng thì ta có thể tiến hành Download. Thiết kế cần được nạp vào FPGAdưới dạng dòng bit (bit stream).

Quá trình nạp thiết kế (download) vào FPGA thường nạp vào bộ nhớ bay hơi,ví dụ như SRAM.  Thông tin cấu hình sẽ được nạp vào bộ nhớ. Dòng bit đượctruyền lúc này sẽ mang thông tin định nghĩa các khối logic cũng như kết nối của

Page 10: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 10/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  10

thiết kế. Tuy nhiên, lưu ý rằng, SRAM sẽ mất dữ liệu khi mất nguồn nên thiết kếsẽ không lưu được đến phiên làm việc kế tiếp. 

Lập trình (program) là thuật ngữ để mô tả quá trình nạp chương trình cho các bộ nhớ không bay hơi, ví dụ như PROM. Như vậy, thông tin cấu hình vẫn sẽ đượclưu trữ khi mất nguồn. 

IV. Các công cụ lập trình Các thiết bị cần thiết để lập trình bao gồm máy tính, phần mềm lập trình, thiết bị

logic ( ở đây là FPGA) và thiết bị kết nối máy tính với thiết bị lập trình ( cáp nốivà mạch nạp) 

Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ môtả phần cứng HDL như VHDL, Verilog, hay có thể sơ đồ mạch (Schematic) hoặccó thể kết hợp Schematic với HDL. 

Phần lớn các sản phẩm FPGA trên thị trường hiện nay đều dựa trên công 

nghệ SRAM với 2 hãng sản xuất lớn nhất là Xilinx và Altera. Dòng FPGA cao cấp

nhất của Xilinx là Virtex ( Virtex 5), Spartan, SpartanII, SpartanIII còn với Alteralà Stratix 3, FLEX,Cyclone . Ngoài ra còn có các hãng khác sản xuất FPGA nhưngvới mục đích chuyên dụng (Atmel, Actel, Lattice,..) 

Môi trường thiết kế ta có thể sử dụng Altium Designer, hiện nay phiên bản mớiAltium Designer Summer 9 có thể lập trình cho FPGA của tất cả các hãng cungcấp, là phần mềm trung lập, thiết kế dễ dàng và trực quan, hỗ trợ nhiều tính năngthuận tiện. 

 Ngoài ra còn sử dụng các phần mềm hỗ trợ khác như: -  Xilinx ISE lập trình cho FPGA của Xilinx. -  Altera quatus lập trình cho FPGA của Altera. 

-  Actel libero lập trình cho FPGA của Actel. -  Labview lập trình cho FPGA của NI. 

***************************************************************

Page 11: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 11/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  11

PHẦN 3: MÃ NGUỒN VHDL Thiết kế bộ đếm 000-999 đếm lên xuống đươc điều khiển bằng tín hiệu vào SEL

(SEL=0 thì đếm lên,SEL=1 thì đếm xuống ) có giải mã hiển thị 3 led 7 thanh.

***************************Solution 1******************************

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity nomal999 isport(

clk : in STD_LOGIC;

rst : in STD_LOGIC;

sel : in STD_LOGIC;Led_donvi : out STD_LOGIC_VECTOR(6 downto 0);

Led_chuc : out STD_LOGIC_VECTOR(6 downto 0);

Led_tram : out STD_LOGIC_VECTOR(6 downto 0)

);end nomal999;

architecture behaviral of nomal999 is

begin

process(clk,rst)

variable donvi:integer range -1 to 10;

variable chuc:integer range -1 to 10;variable tram:integer range -1 to 10;

begin

if(rst='1')then

donvi:=0;

chuc:=0;tram:=0;

elsif(clk'EVENT and clk='1')then

if(sel='0')then

donvi:=donvi+1;

if(donvi=10)thendonvi:=0;chuc:=chuc+1;

if(chuc=10)then

chuc:=0;

tram:=tram+1;

if(tram=10)then

tram:=0;

Page 12: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 12/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  12

end if;

end if;

end if;

else

donvi:=donvi-1;

if(donvi=-1)thendonvi:=9;

chuc:=chuc-1;

if(chuc=-1)then

chuc:=9;

tram:=tram-1;

if(tram=-1)thentram:=9;

end if;

end if;

end if;end if;

end if;

----Hien thi---

case donvi iswhen 0 =>led_donvi<="1000000" ; --0

when 1 =>led_donvi<="1111001" ; --1

when 2 =>led_donvi<="0100100" ; --2

when 3 =>led_donvi<="0110000" ; --3

when 4 =>led_donvi<="0011001" ; --4

when 5 =>led_donvi<="0010010" ; --5when 6 =>led_donvi<="0000010" ; --6

when 7 =>led_donvi<="1111000" ; --7

when 8 =>led_donvi<="0000000" ; --8

when 9 =>led_donvi<="0010000" ; --9

when others =>null;end case;

case chuc is

when 0 =>led_chuc<="1000000" ; --0

when 1 =>led_chuc<="1111001" ; --1

when 2 =>led_chuc<="0100100" ; --2when 3 =>led_chuc<="0110000" ; --3when 4 =>led_chuc<="0011001" ; --4

when 5 =>led_chuc<="0010010" ; --5

when 6 =>led_chuc<="0000010" ; --6

when 7 =>led_chuc<="1111000" ; --7

when 8 =>led_chuc<="0000000" ; --8

when 9 =>led_chuc<="0010000" ; --9

Page 13: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 13/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  13

when others =>null;

end case;

case tram is

when 0 =>led_tram<="1000000" ; --0

when 1 =>led_tram<="1111001" ; --1

when 2 =>led_tram<="0100100" ; --2when 3 =>led_tram<="0110000" ; --3

when 4 =>led_tram<="0011001" ; --4

when 5 =>led_tram<="0010010" ; --5

when 6 =>led_tram<="0000010" ; --6

when 7 =>led_tram<="1111000" ; --7

when 8 =>led_tram<="0000000" ; --8when 9 =>led_tram<="0010000" ; --9

when others =>null;

end case;

end process;end behaviral; 

 Mô phỏng: - Khi Sel=1 đếm ngược 

-Khi Sel =0 chuyển từ đếm ngược sang đếm thuận 

Page 14: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 14/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  14

************************Solution 2*****************************

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity function_999 is

port(

clk : in STD_LOGIC;

rst : in STD_LOGIC;

sel : in STD_LOGIC;led_donvi : out STD_LOGIC_VECTOR(6 downto 0);

led_chuc : out STD_LOGIC_VECTOR(6 downto 0);

led_tram : out STD_LOGIC_VECTOR(6 downto 0)

);end function_999;

architecture behaviral of function_999 is

function giai_ma( x:integer range 0 to 9) return std_logic_vector is

variable led: std_logic_vector(6 downto 0);begin

case x is

when 0 =>led:="1000000" ; --0

when 1 =>led:="1111001" ; --1

when 2 =>led:="0100100" ; --2

when 3 =>led:="0110000" ; --3when 4 =>led:="0011001" ; --4

when 5 =>led:="0010010" ; --5

when 6 =>led:="0000010" ; --6

when 7 =>led:="1111000" ; --7

when 8 =>led:="0000000" ; --8when 9 =>led:="0010000" ; --9

when others =>null;

end case;

return led;

end giai_ma;beginprocess(clk,rst)

variable donvi: integer range -1 to 10;

variable chuc: integer range -1 to 10;

variable tram: integer range -1 to 10;

begin

if(rst='1')then

Page 15: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 15/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  15

donvi:=0;

chuc:=0;

tram:=0;

elsif(clk'EVENT and clk='1')then

if(sel='0')then

donvi:=donvi+1;if(donvi=10)then

donvi:=0;

chuc:=chuc+1;

if(chuc=10)then

chuc:=0;

tram:=tram+1;if(tram=10)then

tram:=0;

end if;

end if;end if;

else

donvi:=donvi-1;

if(donvi=-1)thendonvi:=9;

chuc:=chuc-1;

if(chuc=-1)then

chuc:=9;

tram:=tram-1;

if(tram=-1)thentram:=9;

end if;

end if;

end if;

end if;end if;

led_donvi<=giai_ma(donvi);

led_chuc<=giai_ma(chuc);

led_tram<=giai_ma(tram);

end process;end behaviral;

Page 16: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 16/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  16

 Mô phỏng: 

-Khi Sel=1 đếm ngượ c

-Khi Sel =0 chuyển từ đếm ngược sang đếm thuận 

Page 17: Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui

5/10/2018 Thiet Ke He Thong So - Vu Quoc Toan - DDT2K3-Haui - slidepdf.com

http://slidepdf.com/reader/full/thiet-ke-he-thong-so-vu-quoc-toan-ddt2k3-haui 17/17

 

  Thiế t kế  hệ thố ng số  

 Điện tử 2 –   Khóa 3 Đại học Công Nghiệp Hà Nội  17

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 

Giáo viên hướng dẫn: Tống Văn Luyên Nhóm SV thực hiện: 

1.  Vũ Quốc Toản 2.  Nguyễn Hữu Tình 3.  Nguyễn Tiến Tùng 4.  Hoàng Quang Uy 5.  Quách Tiến Học 

6.  Hoàng Văn Phúc Lớp : Điện Tử 2 –  Khóa 3 

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

……………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 

………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………