Hình 1-1: Sơ đồ khối bộ thu phát WLAN theo chuẩn a, g [3]Nguyên tắc hoạt động của OFDM là dữ liệu thường sẽ được định nghĩa trong miềntần số và sẽ được mã hóa để có thể truyền dữ liệu nh
Trang 1THIẾT KẾ LÕI IP CỨNG THỰC HIỆN
FFT VÀ IFFT CHO IEEE 802.11
Trang 2MAC Medium Access Control
FFT Fast Fourier Transform
IFFT Inverse Fast Fourier Transform
DFT Discrete Fourier Transform
IDFT Inverse Discrete Fourier Transform
LAN Local Area Network
WLAN Wireless Local Area Network
OFDM Orthogonal Frequency Division MultiplexingWIFI Wireless Fidelity
FEC Forward Error Correcting
BIT Binary Digit
FPGA Field-programmable gate array
VHDL VHSIC Hardware Description Language
IP Intellectual Property
CAD Computer Aided Design
VLSI Very Large Scale Integration
RTL Register-transfer Level
VBE VHDL Behavioral
VST VHDL Structural
VASY VHDL Analyzer for (RTL) Synthesis
BOOM BOOlean Minimization
BOOG Binding and Optimizing On Gates
DRC Design Rule Check
LVS Layout Versus Schematic
CMOS Complementary Metal Oxide Semiconductor
Trang 3CHƯƠNG 1 TỔNG QUAN VỀ LÍ THUYẾT
1.1 Giới thiệu tổng quan
1.1.1 Giới thiệu về IEEE 802.11
Dựa vào sự phát triển của xã hội cũng như nhu cầu truyền nhận thông tin của các cánhân và tổ chức trong xã hội thì viện nghiên cứu kĩ thuật điện điện tử Mỹ đã tiếnhành và cho ra hàng loạt các chuẩn liên quan tới mạng LAN Và trong đó có nhóm802.11, nhóm này được định nghĩa là một thiết lập giữa tầng vật lí và lớp MACbằng hệ thống mạng WLAN Chuẩn IEEE 802.11 ra đời vào năm 1997 và được sửdụng trong trải phổ chủ yếu ở băng tầng dành cho các lĩnh vực như khoa học, y học
và công nghiệp WLAN là hệ thống mạng không dây mà các máy tính có thể giaotiếp dữ liệu qua lại truyền nhận tín hiệu bằng sóng vô tuyến
Thường thì các máy trạm dùng chuẩn IEEE 802.11 thì sẽ nhóm lại với nhau thành
mô hình mạng kiểu không có điều khiển trung tâm và không có kết nối bên ngoàitức có nghĩa là sẽ có một mạng được hình thành tức thời khi các thiết bị ở gần nhau,muốn trao đổi dữ liệu với nhau mà không cần nhất thiết phải tìm được một cơ sở hạtầng mạng có sẵn tại chỗ
Giới thiệu sơ lược về một số chuẩn 802.11 cơ bản:
• Chuẩn 802.11b là chuẩn mở rộng của chuẩn 802.11 nguyên bản sử dụng kĩthuật điều chế khóa mã bù và kĩ thuật trải phổ trực tiếp Đặc điểm của chuẩnnày là rẻ, có độ phủ sóng cao và khó bị che khuất tuy nhiên lại dễ bị nhiễu vàtốc độ không nhanh
• Chuẩn 802.11a cũng dựa trên 802.11 nhưng hoạt động ở tần số cao hơn và sửdụng kĩ thuật trải phổ là OFDM Đặc điểm là có chi phí mắc, khó xuyên quacác vật cản trong môi trường, phạm vi phủ sóng có giới hạn tuy nhiên lại cótốc độ truyền nhanh, ít bị nhiễu
• Chuẩn 802.11g là một chuẩn được tạo ra dựa vào suy nghĩ sẽ kết hợp cả haichuẩn 802.11a và 802.11b Đặc điểm là tốc độ cao, độ phủ sóng tốt, khó bị
Trang 4cản nhưng giá thành thì hơi cao và vẫn bị nhiễu bởi các dụng cụ điện trongkhu vực truyền dẫn.
• Chuẩn 802.11n có tốc độ truyền nhanh, độ phủ rộng cho chất lượng tốt hơn
và có thể tương thích với các chuẩn trước nó
Ngoại trừ chuẩn 802.11b sử dụng kĩ thuật khác thì các chuẩn còn lại của 802.11 đều
sử dụng phương thức điều chế OFDM
Bảng 1-1: Các chuẩn cơ bản của 802.11 [3]
OFDM hayDSSS hayCCK
Trang 5Hình 1-1: Sơ đồ khối bộ thu phát WLAN theo chuẩn a, g [3]
Nguyên tắc hoạt động của OFDM là dữ liệu thường sẽ được định nghĩa trong miềntần số và sẽ được mã hóa để có thể truyền dữ liệu nhanh hơn rồi sau đó được chiathành nhiều dòng dữ liệu song song có tốc độ thấp hơn và được sắp xếp lại thànhmột trình tự hỗn hợp và các kí tự này được truyền tới bộ IFFT Ở khối này các tínhiệu sẽ được tính toán các mẫu thời gian tương ứng với các kênh nhánh trong miềntần số rồi tiếp đó qua các giai đoạn tính toán chèn dữ liệu ở các khối kế tiếp thì ởphía thu lúc này tín hiệu đã được đưa về tần số thấp và dạng tín hiệu rời rạc lúc nàyqua các khối kế tiếp thì tín hiệu sẽ được chuyển đổi từ miền thời gian sang miền tần
số ở khối FFT Sau đó qua tiếp một số khối điều chế nữa thì ta sẽ thu được dữ liệucần thiết
Kĩ thuật điều chế đa sóng mang OFDM cho phép các dữ liệu chính sẽ được truyền
đi song song nhờ vô số các sóng mang phụ mang các bit thông tin Điều này tuykhiến chống nhiễu kí tự và sử dụng băng thông hiệu quả nhưng lại yêu cầu có mộtmáy phát sóng sin để phát sóng mang, ngoài ra còn cần có một bộ điều chế và giảiđiều chế của riêng của nó, điều này mang tính bất khả thi vì số lượng sóng mangphụ sẽ rất nhiều khi ta thi công hệ thống Và để khắc phục vấn đề này người ta sử
Trang 6dụng thuật toán DFT và IDFT vì nó có thể thay thế vai trò của các bộ điều chế vàgiải điều chế và bộ tạo dao động sóng sin trong mỗi kênh phụ Phép biến đổi DFT
và IDFT có thời gian thực hiện bao gồm thời gian thực hiện phép nhân phức, cộngphức, thời gian đọc hệ số và thời gian truyền số liệu.Trong đó việc thực hiện phépnhân phức tốn thời gian nhiều nhất Và FFT và IFFT là thuật toán sẽ làm cho phépbiến đổi DFT và IDFT được nhanh, gọn hơn Thay vì thực hiện phép nhân N2 nhưDFT thì FFT chỉ thực hiện số phép nhân còn Ngoài ra FFT còn giúp tiết kiệm bộnhớ do các phép tính được thực hiện tại chỗ
1.2 Phép biến đổi FFT và IFFT
1.2.1 Sơ lược về DFT và IDFT
DFT là một phép biến đổi chuỗi Fourier rời rạc được tạo ra để giúp chuyển đổi cáctín hiệu x(n) từ miền thời gian sang dạng tín hiệu X(k) trong miền tần số Ta cócông thức của DFT là:
là (1.2)Trong đó k từ 0 tới N-1
Còn phép biến đổi IDFT thì ngược lại nó sẽ giúp chuyển đổi các phổ tín hiệu X(k)sang tín hiệu x(n) trong miền thời gian và nó có công thức là:
Trong đó n từ 0 tới N-1
1.2.2 Sơ lược về FFT và IFFT
Thuật toán biến đổi Fourier nhanh (FFT) là một thuật toán cải tiến của phép biếnđổi DFT ở một chuỗi có N điểm Có rất nhiều phương pháp thực hiện thuật toán nàyvới từng loại ưu nhược điểm khác nhau của từng phương pháp như thực hiện FFTbằng bộ cơ số 2,cơ số 4,cơ số 8 và còn nhiều loại khác nữa Trong đó bộ cơ số 2 và
cơ số 4 là thích hợp với công nghệ thiết kế mạch tích hợp nhất do tính tương thích
Trang 7và tốc độ cũng như cách xây dựng thuật toán Và bộ cơ số 4 nhanh hơn bộ cơ số 2khá nhiều do tới bốn bội số nó tiết kiệm khoảng 33% các phép tính toán Và trong
đồ án này thì bộ FFT và IFFT được xây dựng theo bộ cơ số 4
Trang 8hợp cho các thiết kế về FPGA Và lõi IP cứng có định nghĩa chung là các lõi khôngthể sửa lỗi sai hay cập nhật và lập trình lại hoặc thêm các tính năng mới, một lõi chỉđược sử dụng cho một vấn đề nhất định Ưu điểm lõi IP cứng thường cho dự đoán
về kết quả tốt hơn về hiệu xuất của mạch tích hợp ở miền thời gian và khu vực
Hình 1-2: Mô hình lõi IP
• Chân reset sẽ đưa tín tất cả tín hiệu về dạng ban đầu tức không có gì để nạplại khi cần thiết hoặc được dùng để ổn định mạch
• Chân u có hai trạng thái là FFT khi u ở mức 0 và IFFT khi u ở mức 1
• Chân d_in và d_out để hỗ trợ điều chỉnh cho việc quan sát ngõ vào và ra củalõi IP
• Chân clock để cấp xung clock bằng tay cho lõi để quan sát giá trị ở Data_out
• data_in giá trị ngõ vào dạng nhị phân từ 26 tới 2-2
• Data_out quan sát giá trị ngõ ra tức kết quả của lõi IP ở dạng nhị phân từ 26
tới 2-2 ở cả phần thực và phần ảo
1.1 Thiết kế vật lí dùng công nghệ CMOS
1.1.1 Giới thiệu về CMOS
Thông thường thì các thiết kế vật lí CMOS sẽ được thiết kế trên những miếngsilicon wafer tức những đĩa nhỏ mỏng được làm từ silic bằng kĩ thuật in thạch bản.Một thiết kế CMOS sẽ gồm có lớp polysilicon tức các silic đa tinh thể nối các cổngvới nhau, các dây dẫn kim loại giúp kết nối các khối bới nhau, các tiếp xúc điểmgiúp kết nối các lớp Layer lại với nhau
Trang 9Công nghệ CMOS có hai loại transistor chính là NMOS và PMOS hoạt động dựatrên trường điện Mỗi transistor sẽ gồm một chồng (stack) có cổng (gate), có miềnbán dẫn kế bên cổng là nguồn (source) và máng (drain), có lớp cách điện silicondioxide (SiO2) ở dạng thủy tinh và silicon wafer hay còn được gọi là các substrate,body, bulk tức phần thân
Vì transistor NMOS có phần thân nối đất nên khi cổng nối đất thì transistor tắt cònnối nguồn thì mở và transistor PMOS thì ngược lại Ngoài ra khi kết hợp transistorPMOS và NMOS thì ta được cổng đảo, đây cũng là một trong nhưng yếu tố cơ bảncủa CMOS
Hình 1-3: Kí hiệu transistor NMOS, PMOS và CMOS [4]
Trang 10Hình 1-4: Mặt cắt ngang của cổng đảo [4]
Đây một ví dụ của thiết kế layout và chế tạo CMOS cơ bản Như ta có thể thấy cổngđảo được thiết kế ở phần thân p và ở transistor PMOS có một thân riêng loại n đượckhuếch tán vào phần thân p Kí hiệu A đại diện cho các ngõ vào và được nối vớinhau bằng các silic đa tinh thể Và thông thường thì miền nguồn của NMOS sẽđược nối với dây kim loại đất còn PMOS sẽ được nói với dây kim loại nguồn.Tương tự với các khuếch tán loại p+ và n+.Còn các máng sẽ được nối với nhau tạothành một dây kim loại tạo thành ngõ ra Y
1.1.2 Qui luật thiết kế cơ bản
Có hai qui luật thiết kế layout là hệ số lambda và qui luật tuyệt đối Qui luật tuyệtđối là sử dụng các kích thước cố định thường thì sẽ do các phần mềm hỗ trợ thiết kế
và công nghệ thực hiện của các hãng tự qui định, còn hệ số lambda thì thường đượctính từ một nửa chiều dài của transistor Tức thiết kế CMOS 0.5*10-6 mét như đề tàithì chiều dài của transistor sẽ là 1*10-6 mét Và sau đây là trình bày về một sốkhoảng các được qui định cơ bản trong một thiết kế layout bằng công nghệ CMOS
Trang 11• Các dây kim loại và các khuếch tán sẽ có độ rộng và cách nhau là bốn
Hình 1-5: Ước lượng diện tích cổng NAND 3 ngõ vào [4]
CHƯƠNG 1 CÔNG NGHỆ THỰC HIỆN THIẾT KẾ
Trang 121.2 Qui trình thiết kế vi mạch
Hình 2-1: Qui trình thiết kế vi mạch
• Mô tả thiết kế: Đầu tiên của quá trình thiết kế là ta phải hiểu và tiếp thu yêucầu được đặt ra của thiết kế rồi từ đó dựa vào công nghệ hiện có để từngbước xây dựng lên thiết kế
• Code: Có nhiều cách để xây dựng một thiết kế như dùng bản vẽ mạch hoặcngôn ngữ mô tả phần cứng như Verilog và VHDL
• Mô phỏng chức năng: Tức mô phỏng tổng thể thiết kế về mặt chức năngcông dụng để kiểm tra thiết kế có hoặt động đúng với yêu cầu được đề rakhông
• Tổng hợp logic: Là quá trình biến các mô tả thành sơ đồ bố trí mạch tức từcode VHDL được viết ra sẽ thành dạng mô tả biểu thức đại số Boolean và từcác biểu thức này kết hợp cùng với thư viện mà tạo thành một thiết kế hoànchỉnh
Trang 13• Ánh xạ: Được định nghĩa là chuẩn bị dữ liệu đầu vào và xác định kích thướckhối có phù hợp với cấu trúc của FPGA hay không và đặt chúng lại cho việcchạy dây.
• Tự động nối dây: Chúng ta cần chú ý tới thông tin vật lí về thư viện kíchthước tế bào, các điểm kết nối và các trở ngại khi đi dây và các yêu cầu khácnhư các luật thiết kế về các lớp dây, trở kháng, điện dung, các mức tiêu thụnăng lượng và sự dẫn điện trong từng lớp
• Nạp hay lập trình: Cuối cùng thì thiết kế sẽ được nạp dưới dạng dòng bit vàoFPGA Ở dạng nạp thì sau khi mất nguồn thì thông tin sẽ mất hết còn ở dạnglập trình thì cho dù có mất nguồn thì thông tin cấu hình vẫn sẽ được lưu trữ 1.3 Chương trình thực hiện mô phỏng
1.1.3 Giới thiệu về công nghệ FPGA
FPGA là một loại mạch tích hợp các phần tử logic mà người sử dụng có thể tự lậptrình và tái lập trình được dễ dàng mà không cần tuân theo các qui trình sản xuấtphức tạp như trong các nhà máy bán dẫn Một khối FPGA cơ bản thì sẽ có các khốilogic, khối vào ra, các khối liên kết và các phần tự có như thanh ghi, bộ nhớ, nhân
xử lí trung tâm So với các loại vi mạch bán dẫn chuyên dụng thì FPGA không cókhả năng xử lí các tác vụ chuyên nghiệp và các tình huống phức tạp nhưng bù lại ở
nó là trong khi quá trình đang hoặc đã diễn ra thì ta vẫn có thể tái lập trình, khảnăng này khiến rút ngắn thời gian và chi phí để đưa sản phẩm vào sử dụng Và đểlập trình cho mạch tích hợp FPGA thì ta có thể các dạng ngôn ngữ như Verilog vàVHDL Thông thường các hãng sản xuất lớn của dòng mạch tích hợp FPGA thường
có các gói phần mềm chuyên dụng giúp hỗ trợ người sử dụng để có thể thực hiệnhầu hết các bước của một qui trình thiết kế mạch tích hợp Về cơ bản thì có thểFPGA thuộc dạng kiến trúc mảng các khối logic và có thể chứa được nhiều cácphần tử logic hơn cũng như có thể tối đa hóa khả năng lập trình các phần tử logic vàcác hệ thống mạch kết nối Ứng dụng của FPGA rất đa dạng như xây dựng các côngthức xử lý tín hiệu số hoặc mô phỏng các mô hình của phần cứng máy tính
Trang 14Một luồng thiết kế mạch cơ bản trong Quartus thì gồm các bước sau đây:
• Thiết kế ngõ vào thì tùy vào hướng phát triển và cách hiểu của người lậptrình mà các ngõ vào sẽ được lập trình bằng ngôn ngữ VHDL
Trang 15• Tổng hợp là mạch sau khi lập trình bằng code sẽ được tổng hợp lại bằng cácphần tử logic ở trên FPGA.
• Mô phỏng chức năng là thông thường giai đoạn này sẽ được thực hiện bằngchương trình mô tả dạng sóng có sẵn trên Quartus nhưng ở phiên bản mới thì
nó thường được thực hiện bằng chương trình modelsim
• Lập trình và cấu hình thường mạch sau khi thiết kế sẽ được đổ lên một mạchtích hợp FPGA bằng cách gán chân để kiểm tra xem có thực thi được haykhông
Các bước hướng dẫn cách tạo chương trình trong Quartus là:
• Khởi tạo chương trình ta vào file chọn New project wizard, chọn thư mụcchứa, đặt tên sao cho tên project và cái top level y hệt nhau nếu khôngchương trình sẽ báo lỗi sau đó nhấn next chọn mạch tích hợp và nhấnfinish
Trang 16Hình 2-3: Tạo chương trình
Trang 17Hình 2-4: Chọn mạch tích hợp
• Thiết kế chương trình bằng ngôn ngữ lập trình VHDL Chọn file chọn newchọn VHDL file
Trang 18Hình 2-5: Chỉnh ngôn ngữ lập trình
• Tổng hợp mạch và mô phỏng bằng phần mềm modelsim
• Gán chân lên KIT DE2 và cấu hình trên DE2 và kiểm tra Chọnassignments chọn pin planner rồi gán chân và quy trình này được thực hiệnsau khi đã biên dịch mạch Sau đó nạp vào KIT chọn tools chọnprogrammer sau các thao tác tùy chỉnh thì chỉ cần nhấn start là code sẽđược nạp vào KIT
Hình 2-6: Nạp chương trình
Trang 19bố được gọi là các gói package Package là một tập hợp thư viện được hợpthành từ nhiều gói nhỏ được mô tả như một phần tử gồm nhiều khai báo, cáckiểu dữ liệu và các hằng số cũng như các chương trình con có thể sử dụngchung cho nhiều thiết kế khác nhau Thông thường các gói package được tạonên cho một mục đích cụ thể như là mô tả các chương trình con, các hàmđơn giản chứa các mảng và các biến để phục vụ nhu cầu cần sử dụng củangười dùng.
Hình 2-7: Mô hình thư viện
• Có hai kiểu đối tượng được sử dụng đáng được chú ý ở trong bài mô phỏng
đó là dạng signal và constant Signal là sự biểu diễn của các dây kết liệu củacác thành phần trong hệ thống Còn constant là dạng hằng số nói cách khác
là tên được gán cho các giá trị cụ thể của dữ liệu, mục đích của việc sử dụnghằng số là giúp mô hình xây dựng dễ hiểu và dễ thay đổi Ngoài ra trongthiết kế còn sử dụng kiểu mảng để có thể tạo một nhóm các phần tử có cùngkiểu dữ liệu với nhau
• Process là dạng câu lệnh kiểu tuần tự của ngôn ngữ VHDL tức là nó thườngđược thực thi tại tất cả mọi thời điểm khi đặt nó nằm trong phần mã chính.Còn if là câu lệnh dạng điều kiện cơ bản, nó chỉ được thực thi khi mà yêu
Trang 20cầu mà nó đặt ra được gọi tới, quyền ưu tiên thực hiện sẽ là lệnh if đầu tiêntrong các câu lệnh if được viết ra Còn component và port map là mô hình cơbản để kết nối các thiết kế nhỏ với thiết kế chính tùy vào nhu cầu sử dụngcủa người thiết kế Cấu trúc component và port map cũng có thể được hiểu làphần khai báo của các thành phần được mã hóa trước khi được gọi để sửdụng Cần chú ý các port map cần phải được khai báo chính xác với các cổng
đã được tạo ra trước đó trong các chương trình con nếu không sẽ bị báo lỗi
Ví dụ như khai đúng tên, vị trí, chức năng và kiểu của các cổng được sửdụng trong thành phần mô tả ở phần thân của thiết kế Có nghĩa là nhất địnhphải thể hiện phần hàm ý y hệt với thiết kế con, chỉ cần khai báo một lầntrong kiến trúc là có thể tùy ý sử dụng một cách không giới hạn số lần trongthiết kế chính
1.1.6 Chương trình mô phỏng ModelSim
Đây là một chương trình mô phỏng, gỡ lỗi, kiểm tra cực kì mạnh mẽ và hiệu quảdành cho các thiết kế FPGA hơn là ở chương trình mô tả dạng sóng ở trong phầnmềm Quartus Chương trình có rất nhiều phiên bản và trong quá trình thực hiện luậnvăn thì chỉ dùng chương trình mô phỏng miễn phí dành cho sinh viên khi cài đặtchng cùng với chương trình Quartus Có hiệu suất và công suất hoạt động cao, thíchhợp với các môi trường thiết kế tinh vi như Verilog, VHDL và system C, có công cụgiải mã và phân tích nhanh nhất
Trang 21Hình 2-8: Giao diện khởi động
Hình 2-9: Giao diện sau khi khởi động
Sau đó vào file chọn new, chọn project, đặt tên và chọn thư mục chứa tin
Trang 22Hình 2-10: Giao diện đặt tên và chọn thư mục
Hình 2-11: Chọn add existing file
Trang 23Hình 2-12: Vào browse chọn file cần thêm vào mô phỏng
Nhấn chuột phải vào mục compile chọn compile all để các thư mục được biên dịchsau đó chọn mục simulate chọn start simulation chọn mục work chọn file testband
Hình 2-13: Chọn file mô phỏng
Trang 24Hình 2-14: Giao diện mô tả
Nhấn chuột phải chọn add to, chọn wave chọn signals in region thì sẽ xuất hiện giaodiện mô phỏng sau đó tùy vào nhu cầu sử dụng và code mà ta tùy chỉnh theo ýmuốn
Hình 2-15: Giao diện tùy chỉnh
Trang 251.1.7 KIT DE2
Đây là một trong những bảng mạch chuyên dụng thường được sử dụng trong môitrường giảng dạy vì gần như là có đầy đủ chức năng để những người mới tiếp xúcvới mô hình mạch tích hợp FPGA có thể tự do tìm hiểu một cách tối ưu nhất DE2-
115 sử dụng mạch tích hợp là dòng cyclone-IV E với tên mạch tích hợp cụ thể làep4ce115f29c7n
Giới thiệu vài thông tin sơ lược về KIT DE2-115:
• KIT có cổng USB Blaster dùng để thực hiện việc nạp code từ máy tính và cóhai chế độ hoạt động là JTAG và AS
• Ngoài ra trên KIT còn có cổng Ethernet 10/100 và có cổng VGA-out cũngnhư cổng kết nối TVin và bộ giải mã
• Có bộ điều khiển USB host và slave với hai chế độ cơ bản là A và B
• Có bộ PS/2 giúp kết nối với chuột và bàn phím nếu có nhu cầu sử dụng
• KIT còn có bộ giải mã và bộ mã hóa âm thanh tới 24 bit và có ổ cắm vào radành cho loa và microphone
• Ngoài ra còn có 2 header mở rộng lên tới 40 chân
• Có cổng RS-232 và cổng giao tiếp nối tiếp 9 chân và cổng giao tiếp hồngngoại
Bộ nhớ thì có:
• SRAM có 515 Kbyte và SDRAM có 8 Mbyte
• Có bộ nhớ nhanh lên tới 4 Mbyte và có cả khe chứa thẻ nhớ SD
Ngoài ra còn một vài chức năng khác như:
• Bốn nút nhấn tròn dạng phím và mười tám công tắc gạt lên xuống để mô tảtín hiệu ngõ vào ra tùy nhu cầu sử dụng
• Có đến hai mươi bảy đèn led đơn gồm hai màu đỏ và xanh lá cũng như támled bảy đoạn và một cái LCD 16x2 dùng để hiển thị
• Cuối cùng là có một bộ dao động 50 và 27 MHz thường dành cho đồng hồnguồn
Trang 26Hình 2-16: KIT DE2
1.1.8 Phần mềm thiết kế Layout
Phần mềm sử dụng để thiết kế layout là phần mềm Alliance, đây là một phần mềm
hỗ trợ của máy tính chạy trên nền Linux Fedora được tạo ra để hỗ trợ việc giảng dạy
về công nghệ thiết kế mạch VLSI CMOS Phần này là công trình nghiên cứu hơnmười năm của phòng thí nghiệm trong trường Đại học the Pierre et Marie Curie củaPháp và được sử dụng bởi nhiều trường đại học trên thế giới để giúp tìm hiểu về quátrình vẽ layout mạch Chương trình này được hỗ trợ trong việc đọc hiểu hai loạingôn ngữ lập trình chính là System C và VHDL và từ đó thông qua các tập lệnhthiết kế và chuyển đổi tài liệu bằng các lệnh gọi chương trình mà cho ra kết quảcuối cùng là bản vẽ layout mạch gần giống thực tế cũng như các lệnh kiểm tra xemtrong thiết kế có đúng với ngôn ngữ lập trình hay không Phần mềm chỉ đọc các thưviện cơ bản của trong ngôn ngữ thiết kế VHDL để sử dụng cho việc thiết kế layoutnên trong quá trình lập trình nếu sử dụng các gói thư viên tự tạo thì phần mềm sẽkhông hiểu để thực hiện và báo lỗi Cũng như các tài liệu sau khi được dịch sangngôn ngữ của phần mềm sẽ rất khác so với tài liệu gốc nên việc thực hiện bằng phầnmềm thiết kế này cũng chỉ mang tính chất tương đối và chỉ dừng ở mức hiểu vàquan sát thế nào là layout của thiết kế Để có thể sử dụng phầm mềm này thì cần hệđiều hành Linux Fedora Đây là một trong những hệ điều hành thông dụng và cónhiều tiện ích như miễn phí và không tốn tiền bản quyền sử dụng, bảo mật không lovấn đề dính phần mềm độc hại, có thể tùy chỉnh một cách linh hoạt, chạy ổn định
Trang 27trên tất cả các cấu hình máy tính từ yếu tới mạnh Bên cạnh đó nó cũng có một sốđiểm yếu như ứng dụng còn nhiều hạn chế, kén người sử dụng.
Các thao tác được đều thực hiện bằng các câu lệnh ở phần thiết bị đầu cuối ví dụnhư:
• “ cd <tên thư mục> ” là lệnh để đi đến một thư mục nào đó ở phiên làm việchiện tại
• “ sudo dnf install –y <tên gói> ” là lệnh dùng để cài các phần mềm chươngtrình cần thiết một cách tự động vào máy
• “ sudo dnf upgrade ” là lệnh dùng để nâng cấp tất cả các gói có trong máy.Đây là những lệnh cơ bản có liên quan tới quá trình thực hiện đồ án tốt nghiệp
CHƯƠNG 2 THỰC THI THIẾT KẾ VÀ TỔNG HỢP LOGIC
Trang 28Đầu tiên là thực hiện tính toán bằng tay rồi sẽ thực mô phỏng code bằng modelsim
để quan sát dạng sóng và các kết quả ở dạng nhị phân hoặc thập phân Sau đó là cáckết quả mô phỏng bộ FFT và IFFT được thực thi trên KIT DE2 và cuối cùng là vẽcác thiết kế vật lí
Trang 29• X(3) = F(0,0) * + F(1,0) * + F(2,0) * + F(3,0) * = -2-2j.
Trong đó theo công thức (1.2) thì ta có các trọng số nhân được sử dụng trong bộ cơ
số 4 là: = = 1; = = -j; = = -1; = j
Hình 3-1: Sơ đồ cánh bướm bộ FFT cơ số 4 [2]
Và kết quả thu được khi biến đổi FFT của X = [ 10 -2+2j -2 -2-2j ]
Sau đó ta dùng dãy số để tính IFFF xem có ra kết quả, thay kết quả vào công thức(1.8) thì ta thu được một chuỗi các công thức như sau:
• F(0,0) = *[ X0]* = x0 = 1
• F(1,0) = * [ X1]* = x1 = 2
• F(2,0) = * [ X2]* = x2 = 3
• F(3,0) = * [ X3]* = x3 = 4
Trang 30Rồi thế kết quả thu được vào công thức (1.7):
số lớn không Và trong đồ án này thì kết quả sẽ được so sánh với matlab để có thểthực hiện việc quan sát so sánh Theo nhiệm vụ đề tài thì sẽ mô phỏng bộ FFT vàIFFT 4 điểm bằng ngôn ngữ VHDL rồi sau đó xem có thể đổ nó lên KIT DE2 không
và tìm hiểu về việc tạo layout cho thiết kế
Hình 3-2: Sơ đồ cánh bướm bộ IFFT cơ số 4 [2]