Phương pháp prototype trong thiết kế phần cứng tự động hóa quá trình tạo ra bộ toán tử số học

106 24 0
Phương pháp prototype trong thiết kế phần cứng   tự động hóa quá trình tạo ra bộ toán tử số học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương I GIỚI THIỆU MỤC ĐÍCH NGHIÊN CỨU CỦA ĐỀ TÀI I.GIỚI THIỆU I.1 Đặt vấn đề -Độ phức tạp thiết kế hệ thống số ngày tăng, nhiều công cụ thiết kế trợ giúp máy tính (CAD – Computer Aided Design) đưa vào quy trình thiết kế phần cứng Máy tính hỗ trợ công cụ tự động tạo phần cứng, kiểm tra trình thiết kế tiếp cận thiết kế có độ phức tạp cao Hỗ trợ mạnh cho phương pháp luận thiết kế ngôn ngữ mô tả phần cứng (HDL – Hardware Description Languages) Dựa vào HDL, phát triển công cụ trợ giúp cho thiết kế hệ thống số sử dụng rộng rãi Nó giúp cho việc thiết kế hệ thống số phát triển nhanh [7 - chương 1] -Nhờ phát triển công nghệ chế tạo vi mạch (integrated circuit - IC) vào thập niên 1990 Công nghệ ASIC (application specific integrated circuit mạch tích hợp chuyên dùng) sử dụng để chế tạo vi mạch Để kiểm tra chức ASIC cách đầy đủ, công việc khó tiều tốn thời gian đến 70% tổng số thời gian chu kỳ thiết kế ASIC Một số phần mềm mô mức truyền ghi (RTL –Register Transfer Level) sử dụng rộng rãi, chạy chậm nhiều so với phần cứng thực ASIC Do không hữu dụng cho kiểm tra trình thiết kế ASIC phức tạp Trong đua cạnh tranh phát triển phần cứng, yếu tố giảm chi phí nâng chất lượng sản phẩm quan trọng, chương trình kiểm tra sẵn có không theo kịp tốc độ phát triển phần cứng Một phương pháp tốn mà tiếp cận thuận tiện hơn, phát triển Prototype ASIC sử dụng bo phần cứng FPGA (field programmable gate arrays) Tính đặc chung _ Trang Prototype FPGA chạy tốc độ từ 10 MHz đến 100 MHz, tương đương, hay nhỏ chút so với tốc độ thực phần cứng ASIC Hơn tốc độ, làm tăng khả thực công việc kiểm tra, kiểm tra mạch (in-circuit testing) Tính vượt trội Prototype FPGA tăng tính hiệu kiểm tra phần cứng/phần mềm, đủ tốc độ tối ưu hoá thực phần mề m I.2 Quy trình thiết kế hệ thống số Thiết kế ý tưởng Thiết kế hành vi Lưu đồ , mã giả Thiết kế đường liệu Cấu trúc bus ghi Thiết kế logic D a n h s a ù c h c o å n g v a ø d a â y nối Thiết kế vật lý Danh sách Transistor, cách bố trí … Sản xuất Chip Board Hình 1 Quy trình thiết hệ thống số - Quá trình thiết kế hệ thống số trình bày hình 1.1 Bắt đầu giai đoạn ý tưởng, sau qua số giai đoạn khác trước phần cứng sản xuất[7 –chương ] _ Trang - Giai đoạn ý tưởng (Design Idea): Thể ý tưởng thiết kế cho hệ thống số, người thiết kế phải đưa quan niệm rõ ràng mục đích phần cứng phát triển Mục đích giai đoạn tạo định nghóa hành vi -Giai đoạn thiết kế hành vi(Behavioral Design): Người thiết kế diễn tả cụ thể ý tưởng thiết kế giai đoạn Diễn tả toàn chức tín hiệu đầu vào đến đầu hệ thống thiết kế, mà không đưa kiến trúc hay chi tiết phần cứng Khi đặc tả rõ ràng, người thiết kế xác định hành vi hệ thống, mà chúng biểu diễn dạng sơ đồ khối, lưu đồ, mã giả -Giai đoạn thiết kế đường liệu(Data Path Design): Thiết kế đường liệu ( data path ) cho hệ thống Trong giai đoạn thiết kế phải ghi khối logic cần thiết, cho việc xây dựng hệ thống Các thành phần kết nối với bus liệu chiều, hai chiều Dựa mục đích hành vi, thủ tục điều khiển việc truyền liệu ghi khối logic qua bus phát triển -Giai đoạn thiết kế logic (Logic Design): Người thiết kế sử dụng linh kiện (như cổng, flip-flop ) cho việc thực ghi liệu, bus, khối logic phần cứng điều khiển Kết giai đoạn mạng kết nối (netlist) cổng flip-flop Trong netlist phải có kết nối linh kiện, chi tiết kỹ thuật công nghệ cổng flip-flop -Giai đoạn thiết kế vật lý(Physical Design): Chuyển sơ đồ netlist (ở giai đoạn thiết kế logic) thành sơ đồ transistor Giai đoạn thay cổng flip-flop transistor hay phần tử tương đương thư viện (libaray cells) Giai đoạn phải xem xét đến chế độ tải yêu cầu thời gian trình chọn lựa transistor hay phần tử thư viện _ Trang -Giai đoạn sản xuất: Đây giai đoạn cuối cuối trình thiết kế Giai đoạn sử dụng sơ đồ transistor để đốt cầu chì thiết bị lập trình (Field- programmable devices) tạo khuôn mẫu (mask) cho sản xuất IC I.3 Mô giai đoạn thiết kế Thiết kế ý tưởng Các Công Cụ Mô Phỏng Thiết kế hành vi Mô hành vi Lưu đồ , mã giả Mô luồng liệu Thiết kế đường liệu ` Cấu trúc bus ghi Mô mức cổng Thiết kế logic Danh sách cổng dây nối Mô thiết bị Thiết kế vật lý Danh sách Transistor, cách bố trí Kiểm tra cuối Sản xuất Sản phẩm mẫu Chip Board Hình Mô giai đoạn thiết kế -Hình 1.2 trình bày chương trình mô sử dụng giai đoạn thiết kế Mô cung cấp thông tin chức hệ thống Mô giai đoạn thấp hơn, ví dụ mô mức cổng hay thiết bị chạy tốn thời gian, cung cấp nhiều thông tin chi tiết kỹ thuật chức mạch Để tránh giá thành cao mô _ Trang mức thấp, Chương trình mô pháp sai sót giai đoạn thiết kế trước đó[7 – chương 1] -Có phương pháp mô phỏng: 1.Đánh giá theo khoảng thời gian định 2.Đánh giá xuất biến đổi tín hiệu đầu vào I.4 Giới thiệu phương pháp luận prototype RTL HDL Synhesis tools Mapped Netlist Critcal Block Knowledge base systems Back box Reuse block catalog Reuse block Reuseblock description file Partitioner Netlist1 Netlist2 Netlist3 Top netlist FPGA Place & Route Tool Interconnect Chip bistream bistream bistream FPGA FPGA FPGA Prototyping Board Hình Phương pháp luận prototype -Prototyping chuyển đổi thiết kế IC, từ kỹ thuật phức tạp ASIC sang kỹ thuật phức tạp FPGA ASIC Prototyping với FPGAs coâng _ Trang việc khó, có hai lý do: (1) Có nhiều thành phần siêu nhỏ (submicron) kỹ thuật ASIC thực trực tiếp FPGAs (2) Prototype FPGA làm việc tốc độ thật, điều quan trọng để khai thác tất nguồn tài nguyên kiến trúc tương lai FPGA, để đạt thực Prototyping cho hiệu cao[1]? -FPGA nhanh chóng hướng đến phát triển tốc độ tăng mật độ (higher densities and speeds) dựa vào lợi điểm kiến trúc FPGA chứa 100K cổng (100K gate) đạt tốc độ 100MHz Các kiến trúc gần có gắn thêm nhớ, làm tăng khối logic, kết nối topologies tinh vi cấu trúc thứ bậc (hierarchical structuring) Họ Altera FLEX10K chứa tới 100K cổng 24,576 bits nhớ, họ FLEX10KA chứa lên đến 250K cổng FLEX10K gắn thành dãy (array) cung cấp nhớ chip để tạo thành RAM/ROM hoạt động chế độ bất đồng bộ/đồng chức FIFO với chu kỳ hoạt động 80MHz Họ Xinlix4000 EX/XL chứa 125K cổng 157,968 bit RAM -Do phát triển nhanh FPGA, để có prototyping có hiệu cao FPGAs phải giải vấn đề tăng mật độ hay kiến trúc FPGA, gắn nhớ, thêm vào tính chuyên dùng xử lý số học, kết nối nhanh (rapid interconnections).v.v Hiện thực hiệu quả, đòi hỏi kinh nghiệm thiết kế nhận biết đầy đủ tính kỹ thuật FPGA Một số vấn đề quan tâm: (1) tích luỹ kiến thức nhận biết kỹ năng, (2) dùng lại thiết kế trước -Hệ thống nhận biết cho trình ASIC prototyping FPGAs hình 1.3, bao gồm (1) hệ thống luật (rule based) đưa để khắc phục cản trở chuyển đổi kỹ thua ät trình Propotyping, (2) Liệt kê khối dùng lại (based reuse block) cho tập hợp thông tin khối sử dụng lại Để _ Trang đạt Prototyping hiệu quả, hệ thống nhận biết khối đặc trưng (như RAM, ROM, DSP v.v) HDL hay netlist có chiến lược lắp đặt vào FPGA Sự nghiên cứu trọng tâm FPGA thực liệt kê khối dụng lại Các khối đặc trưng điều khiển hộp đen, chuyển đổi (migration)hay tổng hợp từ ASIC vào FPGA Đối với kỹ thuật FPGA, nòng cốt để thay hộp đen IP (Intellectual Property - sở hữu trí tuệ) Phần lại khối xử lý chuyển đổi cách quy ước I.5 IP Core -IP core (Intellectual Property core ) môđun phần cứng, thiết kết cho mục đích sử dụng lại, ip core trì không thay đổi di chuyển từ hệ thống sang hệ thống khác Từ chuẩn hoá giao tiếp gữa ip core với hệ thống bên ngoài, cho phép người thiết kế ip core tập trung vào trọng tâm mà quan tâm đến hệ thống đầu cuối Như người thiết kế hệ thống đầu cuối quan tâm đến việc thay ip core ip core khác tốt -Phương pháp thiết kế SoC (System-on-Chip) trở thành hướng thiết kế ngành công nghiệp bán dẫn Thường thấy thiết kế chip có mật độ tích hợp cao ( hàng chục triệu transistor ) xây dựng từ core sở hữu trí tuệ nhà sản xuất thứ ba Các nhà thiết kế sử dụng lại IP Core để tăng cường khả thiết kế họ, thiết kế trước sử dụng lại thiết kế hành II MỤC ĐÍCH NGHIÊN CỨU CỦA ĐỀ TÀI -Qua hình 1.2 cho thấy để có sản phẩm mẫu phải trả chí phí cao, sản phẩm mẫu bị sai sót, phải thiết kế lại, vấn đề tăng chi phí sản phẩm Phương pháp Prototying FPGA cho phép chia chức sản phẩm mẫu thành môđun, trình kiểm tra, caùc _ Trang môđun cấu hình lại hay thay môđun khác chức năng, chạy tốt -Mục đích tìm hiểu thuật toán toán tử số học, xây dựng chương trình tự động sinh mã lệnh VHDL cho toán tử Kết mã lệnh VHDL mô phỏn g đánh giá phần mến Max+plus II Đây bước nhỏ xây dựng khối chuẩn (critical blocks) trình thiết kết phần cứng phương pháp prototying dựa hình 1.3 _ Trang Chương II CÁC CÔNG TRÌNH NGHIÊN CỨU Bo Hardi ASIC prototyping -Công cụ ASIC prototyping công ty Synplicity chứng nhận có khả kiểm tra thiết kế ASIC thời gian thực hay gần với thời gain thực mà không thay đổi mã HDL Bo Hardi ASIC prototyping bo FPGA linh động môdun nhớ SRAM hay SDRAM Nó có giao tiếp PCI dễ dàng tạo giao tiếp ASIC prototyping với công cụ mô HDL, trình biên dịch C hay công cụ khác cho vấn đề phát triển phần cứng/phần mềm xử lý đồng thời [12] Môi trường mô bo FPGA Prototyping -Kyung-soo Oh, Sang-yong Yoon nhóm Soo-Ik Chare System Designe trường đại học Seoul National, Hàn Quốc đưa môi trường mô bo FPGA prototyping, tóm tắt sau: +Môi trường mô cho chức kiểm tra vi xử lý multi-media (multi-media processor) công việc quan trọng tiêu tốn nhiều thời gian Một cách kiểm tra hữu hiệu sử dụng bo FPGA prototyping để kiểm tra chức vi xử lý mức tốc độ cao nhiều so với môi trường mô phần mềm Hơn kiểm tra vi xử lý mức hệ thống với nhớ ngoài, ICs cổng I/Os trước vi xử lý chế tạo vào IC [11] +Để mô vi xử lý multi-media cho videophone, để xử lý phần hình (video) phần tiếng (audio) bo FPGA prototyping Môi trường mô chia làm hai phần phần cứng gồm bo FPGA prototyping, debugging networks nối dây ảo (virtual wires) Phần mềm gồm bo ảo, chức điều khiển bo tiện ích khaùc [11] _ Trang +Nhóm tác giả cho biết kết tốc độ kiểm tra RTL vi xử lý nhanh so với mô phần mềm, phản ánh sử thay đổi linh hoạt mô [11] _ Trang 10 " 12 382 547.7 60.9 EPF10K20TC144-3 16 638 929.8 76.3 Bản g 38 Mô độ trễ thới gian mạch chia Restoring số có dấu -Hình 8.12 kết mô MAX + PLUS II mạch 32 : 16 bit số không dấu Hình 13 Kết mô mạch Restoring 32 : 16 bit số không dấu IV.1.3 Nhận xét -Mạch chia sử dụng so với mạch nhân cộng Mạch có tính cấu trúc, kết nối mạch phức tạp, thiết kế thêm phá t trường hợp đặc biệt, độ trễ mạch chia không dấu lớn -Đối với mạch chia số có dấu, phải xây dựng thêm chức chuyển đổi số chia số bị chia từ có dấu sang không dấu điều chỉnh dấu kết phần dư, nên độ trễ mạch luôn lớn so với mạch chia số không dấ u IV.2 Mạch chia nonrestoring IV.2.1 Kết mô chức FLEX 10K -Kết mô chia 16 : bit không dấu bảng 8.39 Cột Overflow , phép chia bị tràn A in(divident) 65025 65279 65280 Din(divisor) 255 255 255 Quotient 255 255 255 255 Remainder 254 255 Overflow 0 1(Traøn) 1(Traøn) _ Trang 92 234 235 255 0 234 1(Traøn) 255 256 550 1 200 255 255 150 1(Tràn) Bảng 39 Mô chức chia Nonrestoring 16 : bit không dấu -Kết mô chia 16 : bit số có dấu baûng 8.40 A in(divident) -1(65535) -128(65408) 100 Din(divisor) -1(255) -1(255) 100 Quotient 128 255 0 100*2 =12800 -12800(52736) -12800+127 12800 -12800 -12800 + 127 100 100 100 -100(156) -100 -100 255 -128 -128 -126(130) -128 -128 126 Remainder Overflow 0 1(Traøn) 100 1(Traøn) 0 0 -73(183) 0 -73(183) 1(Tràn) 1(Tràn) 0 1(Tràn) Ghi Z=D |Z|=D |Z|=D Z=|D| |Z|=|D| |Z|=|D| Bảng 40 Mô chức chia Nonrestoring 16 : bit có dấu IV.2.2 Kết mô độ trễ FLEX 10K -Kết mô độ trễ thới gian số ô logic (LE) cho mạch chia số không dấu thể bảng 8.41 Logic cell 27 45 68 " " 95 126 151.8 202.5 33.9 38.0 " EPF10K10TC144-3 " EPF10K20TC144-3 10 12 16 161 243 341 254.8 378.1 535.0 42.6 51.6 58.5 Thiết bị EPF10KLC84-3 " " Số bit Độ trễ (đơn vị ns) Lớn Nhỏ 39.1 22.3 70.3 26.7 109.1 30.9 _ Trang 93 Bảng 41 Mô độ trễ thới gian mạch chia Nonrestoring số không dấu -Kết mô độ trễ thới gian số ô logic (LE) cho mạch chia số có dấu thể bảng 8.42 Thiết bị Số bit Logic cell 35 60 88 117 155 199 293 397 Độ trễ (đơn vị ns) Lớn Nhỏ 45.7 28.3 80.8 31.5 109.9 37.6 154.2 40.0 209.8 46.5 241.3 49.3 378.8 59.0 510.2 63.1 EPF10KLC84-3 " " " " " EPF10K10TC144-3 10 " 12 EPF10K20TC144-3 16 Bản g 42 Mô độ trễ thới gian mạch chia Nonrestoring số có dấu -Hình 8.13 kết mô MAX + PLUS II mạch chia 16:8 bit số không dấu Hình 14 Kết mô mạch chia Nonrestoring 16:8 bit số không dấu IV.2.3 Nhận xét -Tương tự mạch chia restoring, thêm chức điều chỉnh thương số phần dư cuối Do mạch có độ trễ lớn _ Trang 94 IV.3 Kết luận -Theo phân tích lý thuyết, nonrestoring thuật toán cải tiến restoring, theo thiết kết mạch chương ( phần IV.1 , hình 3.15), sau lần xác định qi chọn R(i) theo (1) (2) song song Nếu chọn R(i)=R(i+1), đầy bước phục hồi(resroring) Vậy phần cứng khắc phục nhược điểm thuật toán +R(i) = R(i+1) – D * 2i (1) +R(i) = R(i+1) (2) -Do phần cứng khác phục nhược điểm, nên so sanh độ trễ số ô logic bảng 8.37 với 8.41 8.38 với 8.42, cho thấy mạch chia thiết kế theo thuật toán restoring ưu việt nonrestoring _ Trang 95 Chương IX KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I.KẾT LUẬN -Luận văn trình bày sơ lược ngôn ngữ VHDL, kiến trúc FLEX 10K hãng Atelra phần mềm mô Maxplus II -Trọng tâm luận văn tìm hiểu toán tử số học sử dụng máy tính nay, sau viết chương trình tự động sinh mã VHDL cho toán tử số học có số bit tuỳ ý -Các công việc hoàn thành: + Tìm hiểu toán tử cộng ripple carry, carry select carry lookahead + Tìm hiểu toán tử nhân nhân mảng, nhân Wallace nhân Booth –Wallace +Tìm hiểu toán tử chia restoring nonrestoring +Dựa mạch phát tràn phép chia có dấu, để đưa mạch phát tràn phép chia không dấu +Viết chương trình tự động sinh mã VHDL cho cộng có dấu không dấu, dựa cộng ripple carry, carry select carry lookahead có số bit tối đa 64 bit +Viết chương trình tự động sinh mã VHDL cho cộng/trừ có dấu không dấu, dựa cộng ripple carry carry lookahead có số bit tối đa 64 bit +Viết chương trình tự động sinh mã VHDL cho nhân có dấu không dấu dựa nhân, nhân mảng, nhân Wallace, nhân BoothWallace có số bit tối đa cho số nhân bị nhân 32 bit _ Trang 96 +Vieát chương trình tự động sinh mã VHDL cho chia có dấu không dấu dựa chia restoring nonrestoring, có số bit tối đa cho số chia bị chia 32 bit +Dựa mô độ trễ toán tử VHDL, lựa chọn ưu việt toán tử theo tuỳ chọn số bit +Đưa sử khác lý thuyết thử tế mô hai chia restoring nonrestoring II.HƯỚNG PHÁT TRIỂN -Xây dựng prototyping cho hàm lượng giác ( cosin,sin,tag,cotag), hàm x loga ( e , log10x) vv…vv -Mô đánh giá độ trễ toán tử số học thiết bị (IC) haõng Xili nx _ Trang 97 DANH MỤC TÀI LIỆU THAM KHAÛO Helena Krupnova, Dinh Duc Anh Vu and Gabriele Saucier, Institut National Polytechnique de Gernoble/CSI , 46, Avenue Felix Viallet 38031 Grenoble cedex, France Shlomo Waser and Michael J.Flynn, Introduction to Arithmetic fot Digital Systems designers, Sauders Collede Publising,1982 A.Y.Wu , Wallace Tre Multiplication, National TaiWan University ,Fast Divider, Zoran Salcic, Asim Smailagic, Digital System Design and Prototyping Using Field Programmable Logic, Kluwer Academic Publisher,1997 Zoran Saicic, VHDL and FPLD in Digital systems Design Prototyping and Customization, Kluwer Academic Publisher,1998 Zainalabedin Navabi, VHDL Analysis and Modeling of Digital Systems, The McGraw- Hill Companies,1998 www.atmel.com/dyn/resources/produ-document/doc0467.pdf www.ee.byu.edu/ee/class/ee621/lectures/lo6.pdf 10 www.cse.psu.edu/~mji 11 Kyung -soo Oh, Sang-yong Yoon, Soo-Ik Chare System Designe Group, Emulator environment based on an FPGA prototyping board, School of Electrical Engineering, Seoul National University 301-818 12 www.hardi.se _ Trang 98 MUÏC LỤC CHƯƠNG I GIỚI THIỆU VÀ MỤC ĐÍCH NGHIÊN CỨU CỦA ĐỀ TÀI I.GIỚI THIỆU I.1 Đặt vấn đề I.2 Quy trình thiết kế hệ thống số .2 I.3 Mô giai đoạn thiết kế .4 I.4 Giới thiệu phương pháp luận prototype I.5 IP Core .7 II MỤC ĐÍCH NGHIÊN CỨU CỦA ĐỀ TÀI CHƯƠNG II CÁC CÔNG TRÌNH NGHIÊN CỨU B O HARDI ASIC PROTOTYPING MÔI TRƯỜNG MÔ PHỎNG TRÊN BO FPGA PROTOTYPING .9 CHƯƠNG III PHƯƠNG PHÁP HIỆN THỰC BỘ TOÁN TỬ SỐ HỌC 11 I.MẠCH TOÁN TỬ CỘNG 11 I.1 Maïch full adder (FA) 11 I.2 Maïch half adder 11 I.3 Maïch ripple carry 12 I.3.1 Ưu điểm 13 I.3.2 Nhược điểm: 13 I.4 Maïch carry select 13 I.4.1 Ưu điểm 14 I.4.2 Nhược điểm 14 I.5 Maïch carry-look-ahead 14 I.5.1 Ưu điểm 17 I.5.2 Nhược điểm 17 I.6 Mạch cộng số có dấu .17 II.MẠCH TOÁN TỬ TRỪ 18 H ÌNH MẠCH TOÁN TỬ TRỪ 18 II.1 Mạch trừ số không dấu .19 II.2 Mạch trừ số có dấu .20 III.MẠCH TOÁN TỬ NHÂN .21 III.1 Mạch nhân 22 III.1.1 Ưu điểm 22 III.1.2 Nhược điểm 22 III.2 Maïch nhân mảng .22 III.2.1 Ưu điểm 23 III.2.2 Nhược điểm 23 III.3 Mạch nhân Wallace 23 III.3.1 Ưu điểm 24 _ Trang 99 III.3.2 Nhược điểm 24 III.4 Mạch nhân Booth -Wallace 24 III.4.1 Ưu điểm 26 III.4.2 Nhược điểm 27 IV.MẠCH TOÁN TỬ CHIA 27 IV.1 Mạch chia restoring (số nguyên không dấu) 27 IV.1.1 Ưu điểm 28 IV.1.2 Nhược điểm 28 IV.1.3 Maïch thieát keá .29 IV.2 Mạch chia nonrestoring (số nguyên không dấu) 29 IV.2.1 Ưu ñieåm 31 IV.2.2 Nhược điểm 31 IV.2.1 Mạch thiết kế .31 IV.3 Maïch chia cho số nguyên có dấu 32 IV.4 Mạch phát trường hợp phép chia bị tràn .33 IV.4.1 Mạch phát tràn phép chia không dấu 33 IV.4.2 Mạch phát tràn phép chia có dấu .34 CHƯƠNG IV THIẾT BỊ KHẢ LẬP TRÌNH 37 I FIELD PROGRAMMABLE GATE ARRAYS –FPGA 37 II FLEX10 K CỦA HÃNG ALTERA .38 II.1 Nét đặc tröng 38 II.2 Khối mảng nhúng (Embedded Array Block - EAB) 39 II.3 Khối mảng logic (Logic Array Block – LAB) .41 II.4 Phần tử logic (Logic Element – LE) 42 CHƯƠNG V NGÔN NGỮ ĐẶC TẢ PHẦN CỨNG VHDL 45 I NGÔN NGỮ VHDL 45 II PHƯƠNG PHÁP LUẬN THIẾT KẾ DỰA VÀO VHDL 47 III SỬ DỤNG GÓI (PACKAGE) VÀ THƯ VIỆN VÀ LIÊN KẾ T 48 CHƯƠNG VI CÔNG CỤ TR GIÚP THIẾT KẾ 50 I CÁC ĐẶC ĐIỂM CỦA PHẦN MỀM MAX+PLUS II .50 II LUỒNG THIẾT KẾ TRONG MAX+PLUS II: 51 III CÁC ỨNG DỤNG MAX+PLUS II: 53 IV BIÊN DỊCH PROJECT 54 V MAX+PLUS II SIMULATOR : .57 VI MAX+PLUS II T IMING ANALYZER 59 CHƯƠNG VII HIỆN THỰC CHƯƠNG TRÌNH SINH MÃ TỰ ĐỘNG VHDL CHO BỘ TOÁN TỬ SOÁ HO ÏC 61 I PHẦN SINH MÃ VHDL 61 _ Trang 100 II PHẦN GIAO DIỆN 61 II.1 Giao diện cộng 61 II.2 Giao diện cộng/trừ 63 II.3 Giao diện nhân 64 II.4 Giao diện boä chia 65 CHƯƠNG VIII HIỆN THỰC CHỨC NĂNG VÀ KẾT QUẢ THỰC NGHIỆM BỘ TOÁN TỬ SỐ HO ÏC 67 I.MẠCH TOÁN TỬ CỘNG 67 I.1Maïch ripple carry 67 I.1.1 Kết mô chức FLEX 10K 67 I.1.2 Kết mô độ trễ FLEX 10K 68 I.1.3 Nhận xét .69 I.2 Maïch carry select 69 I.2.1 Kết mô chức FLEX 10K 69 I.2.2 Keát mô độ trễ FLEX 10K 70 I.2.3 Nhận xét .71 I.3 Maïch carry lookahead 72 I.3.1 Kết mô chức FLEX 10K 72 I.3.2 Kết mô độ trễ treân FLEX 10K 73 I.3.3 Nhận xét .74 I.4 Kết luận 74 II MẠ C H TOÁN TỬ CỘNG/TRỪ 75 II.1 Mạch cộng/trừ dựa mạch cộng ripple carry 75 II.1.1 Keát mô chức FLEX 10K .75 II.1.2 Kết mô độ trễ treân FLEX 10K .76 II.2 Mạch cộng/trừ dựa mạch cộng carry lookahead .77 II.2.1 Kết mô chức trừ FLEX 10K 77 II.2.2 Kết mô độ trễ FLEX 10K .77 II.2.3 Nhận xét .78 II.3 Kết luận .79 III MAÏCH TOÁN TỬ NHÂN 79 III.1 Mạch nhân 79 III.1.1 Kết mô chức FLEX 10K 79 III.1.2 Kết mô độ trễ FLEX 10K 79 III.1.3 Nhận xét 80 III.2 Mạch nhân mảng .80 III.2.1 Kết mô chức FLEX 10K .80 III.2.2 Kết mô độ trễ FLEX 10K .81 III.2.3 Nhận xét 83 III.3 Mạch nhân wallace .83 III.3.1 Kết mô chức FLEX 10K 83 _ Trang 101 III.3.2 Kết mô độ trễ FLEX 10K .84 I II.3.3 Nhận xét .85 III.4 Mạch nhân Booth -Wallace 85 III.4.1 Kết mô chức FLEX 10K .85 III.4.2 Kết mô độ trễ FLEX 10K 86 I II.4.3 Nhaän xeùt .87 III.5 Mạch nhân Rom 88 III.5.1 Kết mô chức FLEX 10K .88 III.5.2 Kết mô độ trễ FLEX 10K .89 III.5.3 Nh ận xét 89 III.6 Keát luaän .89 IV.MẠCH TOÁN TỬ CHIA 90 IV.1 Maïch chia restoring 90 IV.1.1 Kết mô chức FLEX 10K 90 IV.1.2 Kết mô độ trễ treân FLEX 10K .91 IV.1.3 Nhận xét 92 IV.2 Maïch chia nonrestoring .92 IV.2.1 Kết mô chức FLEX 10K 92 IV.2.2 Kết mô độ trễ FLEX 10K 93 IV.2.3 Nhận xét .94 IV.3 Kết luận 95 CHƯƠNG IX KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 96 I.KẾT LUAÄN 96 II.HƯỚNG PHÁT TRIỂN .97 DANH MỤC TÀI LIỆU THAM KHẢO 98 MUÏ C LUÏC .99 MỤ C LỤC HÌNH 103 _ Trang 102 MỤC LỤC HÌNH Hình 1 Hình Hình Quy trình thiết hệ thống số Mô giai đoạn thiết kế Phương pháp luận prototype Hình 3.1 Hình Hình 3.3 Hình Hình Hình Hình Hình 3.8 Hình Hình 10 Hình 11 Hình 12 Hình 3.13 Hình 14 Hình 3.15 Hình 16 Hình 17 Hình 18 Mạch full adder .11 Maïch half adder 12 Maïch ripple carry 12 Maïch carry select 13 Maïch carry lookahead unit 15 Maïch carry-look-ahead 16 bit 17 Mạch toán tử trừ .18 Mạch trừ số không daáu 20 Coång and 21 Mạch nhân 22 Mạch nhân mảng 23 Caây Wallace 24 Mạch nhân Booth - Wallace 26 Moái quan hệ phần dư Ri Ri+1 phép chia Restoring 28 Maïch chia Restoring .29 Moái quan hệ phần dư Ri Ri+1 phép chia Nonrestoring 31 Maïch chia Nonrestoring .32 Mạch phát bị chia tràn 33 Hình 4.1 Hình 4.2 Hình 4.3 Hình 4.4 Hình 4.5 Hình 4.6 Hình 4.7 Các khối tổng quát FLEX 10K 38 Khối mảng nhúng 39 Các khối nhớ 40 Kết hợp khối nhớ RAM 40 Khoái maûng logic 41 Phần tử logic 42 Kết nối LE 43 Hình Hình Hình Hình Môi trường thiết kế MAX+PLUS II 50 Các ứng dụng MAX+PLUS II 51 Bộ biên dịch MAX+PLUS II 54 Kieåm tra project MAX+PLUS II 58 Hình Giao diện cộng 62 Hình Giao diện cộng/trừ 64 Hình Giao diện nhaân 65 Hình Giao diện chia 66 _ Trang 103 Hình Hình Hình Hình Hình Hình Hình Hình 8 Hình Hình 10 Hình 11 Hình 12 Hình 13 Hình 14 Kết mô mạch cộng ripple carry 64 bit không dấu 69 Kết mô mạch cộng carry select 64 bit kho âng dấu 71 Kết mô mạch cộng carry lookahead 64 bit không dấu 74 Kết mô mạch cộng/trừ ripple carry 64 bit không dấu 76 Kết mô mạch cộng/trừ carry lookahead 64bit 78 Kết mô mạch nhân 32 bit không dấu 80 Kết mô mạch nhân 32 bit không dấu, dùng fast adder 82 Kết mô mạch nhân 32 bit không dấu, dùng ripple carry 82 Kết mô nhân Wallace 32 bit không dấu .85 Kết mô nhân Booth -Wallace 16 bit không dấu 87 Kiến trúc mạch nhân ROM 88 Kiến trúc mạch nhân ROM8x8 88 Kết mô mạch Restoring 32 : 16 bit số không dấu 92 Kết mô mạch chia Nonrestoring 16:8 bit số không dấu 94 _ Trang 104 MỤC LỤC BẢNG Bảng Trường hợp cộng hai số có dấu 17 Baûng Phân tích trường hợp cộng bị tràn 18 Baûng 3 Dấu phép trừ 19 Baûng Các trường hợp phép trừ .20 Bảng Phân tích trường hợp phép trừ bị tràn 20 Bảng Mã hoá nhóm bit thành số -2, -1, -0, 0, 1, thuật toán Booth 26 Bảng Phân tích trường hợp phép chia không dấu bị tràn .33 Bảng Phân tích trường hợp phép chia có dấu bị tràn 35 Bảng 6.1 Các ứng dụng MAX+PLUS II 53 Baûng Baûng Baûng Baûng 8.4 Baûng Baûng Baûng 8.7 Baûng 8.8 Baûng Baûng 10 Baûng 8.11 Baûng 12 Baûng 8.13 Baûng 8.14 Baûng 8.15 Baûng 8.16 Baûng 8.17 Baûng 8.18 Baûng 8.19 Baûng 8.20 Baûng 8.21 Baûng 8.22 Baûng 8.23 Baûng 8.24 Baûng 8.25 Baûng 26 Bảng 27 Bảng 8.28 Mô chức cộng ripple carry bit số không dấu 67 Mô chức cộng ripple carry 16 bit số không dấu 67 Mô chức cộng ripple carry bit số có dấu 68 Mô độ trễ thới gian số ô logic cộng ripple carry 68 Mô chức cộng carry select bit số không dấu 69 Mô chức cộng carry select 16 bit số không dấu 70 Mô chức cộng carry select bit số có dấu 70 Mô độ trễ thới gian số ô logic cộng carry select 71 Mô chức cộng carry lookahead bit số không dấu 72 Mô chức cộng carry lookahead 16 bit số không dấu 72 Mô chức cộng carry lookahead bit số có dấu 73 Mô độ trễ thới gian cộng carry lookahead 73 Mô chức cộng/trừ ripple carry bit số không dấu .75 Mô chức cộng/trừ ripple carry bit số có dấu 75 Mô độ trễ thới gian mạch cộng/trừ ripple carry số không dấu 76 Mô chức cộng/trừ carry lookahead bit số không dấu 77 Mô chức cộng/trừ carry lookahead bit số có dấu 77 Mô độ trễ thới gian cộng/trư carry lookahead 78 Mô chức nhân 8x8 bit số không dấu 79 Mô nhân 8x8 bit số có dấu 79 Mô độ trễ thới gian mạch nhân số không dấu 80 Mô chức nhân mảng 8x8 bit số không dấu 81 Mô chức nhân mảng 8x8 bit số có dấu 81 Mô độ trễ thới gian mạch nhân mảng số không dấu 82 Mô độ trễ thới gian mạch nhân mảng số có dấu 83 Mô chức nhân Wallace 8x8 bit có không dấu .84 Mô chức nhân Wallace 8x8 bit số có dấu 84 Mô độ trễ thới gian mạch nhân Wallace số không dấu 84 _ Trang 105 Bảng 8.29 Mô chức nhân Booth-Wallace 8x8 bit số không dấu 85 Bảng 8.30 Mô chức nhân Booth-Wallace 8x8 bit số có dấu 86 Bảng 8.31 Mô độ trễ thới gian mạch nhân Booth -Wallace số không dấu 86 Bảng 8.32 Mô độ trễ thới gian mạch nhân Booth -Wallace số có dấu 87 Bảng 8.33 Mô chức nhân ROM 8x8 bit có dấu 89 Bảng 34 Mô độ trễ thới gian cho mạch nhân ROM số không dấu 89 Bảng 35 Mô chức chia Restoring 16 : bit số không dấu 90 Bảng 36 Mô chức chia Restoring 16 : bit số có dấu .91 Bảng 8.37 Mô độ trễ thới gian mạch chia Restoring số không dấu 91 Bảng 38 Mô độ trễ thới gian mạch chia Restoring số có dấu .92 Bảng 39 Mô chức chia Nonrestoring 16 : bit không dấu .93 Bảng 40 Mô chức chia Nonrestoring 16 : bit có dấu 93 Bảng 41 Mô độ trễ thới gian mạch chia Nonrestoring số không dấu 94 Bảng 42 Mô độ trễ thới gian mạch chia Nonrestoring số có dấu 94 _ Trang 106 ... trội Prototype FPGA tăng tính hiệu kiểm tra phần cứng /phần mềm, đủ tốc độ tối ưu hoá thực phần mề m I.2 Quy trình thiết kế hệ thống số Thiết kế ý tưởng Thiết kế hành vi Lưu đồ , mã giả Thiết kế. .. 2-1 Yi-1 1 1 Coäng Coäng số bị nhân Cộng số bị nhân Cộng hai lần số bị nhân Trừ hai lần số nhân Trừ số bị nhân Trừ số bị nhân Trừ +0 +X +X +2X -2 X -X -X -0 Bảng Mã hoá nhóm bit thành số -2 , -1 ,... cao -Thiết kế tổng quát đầu vào đầu thành phần phần cứng, yếu tố khác ảnh hưởng đến cách hoạt động Các yếu tố bao gồm môi trường mà thành phần phần cứng sử dụng đặc tính vật lý thành phần phần cứng

Ngày đăng: 16/04/2021, 04:17

Tài liệu cùng người dùng

Tài liệu liên quan