Bài viết đưa ra kết quả của quá trình nghiên cứu, triển khai ứng dụng của FPGA và VHDL vào việc tạo ra một số bộ phát xung linh động, có khả năng tái cấu hình khi cần nâng cấp, hiệu chỉnh, có thể lập trình để tạo ra vi mạch mà không cần sử dụng thêm các ngoại vi, linh kiện điện tử.
TNU Journal of Science and Technology 226(16): 253 - 260 DESIGN PULSE GENERATOR, FREQUENCY DIVIDER BASED ON FPGA AND VHDL Nguyen Thanh Tung*, Pham Van Ngoc TNU - University of Information and Communication Technology ARTICLE INFO Received: 24/9/2021 Revised: 29/11/2021 Published: 30/11/2021 KEYWORDS FPGA VHDL Pulse generator Frequency division Wave generator ABSTRACT Pulse generator is a measuring device widely used in many industries such as education, satellite television, manufacturing, repair and maintenance in the fields of electricity, electronics, and telecommunications Function generators that are limited by hardware and scale will not be able to respond to diverse signals in waveforms and resolutions in measurement, survey, analysis, testing and verification The article presents the results of the research and application process of FPGA and VHDL to create a number of flexible, reconfigurable pulse generators when upgrading, tuning, and programmable to create microchips without using additional peripherals and electronic components The results of the article contribute solutions to the application of technology in life, and at the same time can be used as a knowledge base and reference material in learning, research and teaching in the field of information technology news and communication THIẾT KẾ BỘ PHÁT XUNG, CHIA TẦN TRÊN NỀN TẢNG FPGA VÀ VHDL Nguyễn Thanh Tùng*, Phạm Văn Ngọc Trường Đại học Công nghệ Thông tin Truyền thông – ĐH Thái Nguyên THÔNG TIN BÀI BÁO Ngày nhận bài: 24/9/2021 Ngày hoàn thiện: 29/11/2021 Ngày đăng: 30/11/2021 TỪ KHĨA FPGA VHDL Phát xung Chia tần Máy tạo sóng TÓM TẮT Máy phát xung thiết bị đo sử dụng rộng rãi nhiều ngành giáo dục, truyền hình vệ tinh, sản xuất, sửa chữa bảo dưỡng thuộc lĩnh vực điện, điện tử, viễn thông Các tạo hàm bị giới hạn phần cứng thang đo khơng đáp ứng tín hiệu đa dạng dạng sóng, độ phân giải cơng tác đo lường, khảo sát, phân tích, thử nghiệm kiểm định Bài báo đưa kết trình nghiên cứu, triển khai ứng dụng FPGA VHDL vào việc tạo số phát xung linh động, có khả tái cấu hình cần nâng cấp, hiệu chỉnh, lập trình để tạo vi mạch mà không cần sử dụng thêm ngoại vi, linh kiện điện tử Kết báo đóng góp giải pháp ứng dụng cơng nghệ vào sống, đồng thời sử dụng làm tảng kiến thức, tài liệu tham khảo học tập, nghiên cứu, giảng dạy thuộc lĩnh vực công nghệ thông tin truyền thông DOI: https://doi.org/10.34238/tnu-jst.5081 * Corresponding author Email: nttung@ictu.edu.vn http://jst.tnu.edu.vn 253 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 Giới thiệu Máy phát xung hay cịn gọi máy tạo sóng đo lường nguồn tạo tín hiệu chuẩn biên độ, tần số dạng sóng thử nghiệm đo lường thực tế Máy phát xung công cụ đắc lực sử dụng rộng rãi nhiều ngành giáo dục, truyền hình vệ tinh, sản xuất, sửa chữa bảo dưỡng thuộc lĩnh vực điện, điện tử, viễn thông Ở giảng đường, máy phát xung có vai trị quan trọng, dùng để kiểm tra thơng số kỹ thuật điện tử để tăng tính khách quan, thực tế dễ hiểu cho học sinh, sinh viên [1] Trên thị trường nay, có nhiều thiết bị phát xung đa dạng kiểu dáng, tính năng, kể đến DDS Koolertron 60MHz, HanTek DSO4072C, Koolertron DDS, Rigol DG1022Z, Siglent SDG2042X, Waveform Generator Fluke 290 series 294-U 115V, TTi TGA12104, v.v Đặc điểm chung tạo sóng đo lường tạo tín hiệu chuẩn dạng sóng phổ biến vuông, tam giác, sine, cưa, v.v Tuy nhiên, máy chuyên dụng nên giá thành cao, sản xuất từ nước có cơng nghiệp phát triển, kích thước cồng kềnh nên thường để cố định, không thuận lợi cần di chuyển, đồng thời phát xung bị giới hạn phần cứng qua thông số kỹ thuật ghi thiết bị [2] Điều gặp trở ngại trường hợp cần sử dụng nguồn tín hiệu nằm vùng không máy hỗ trợ để lắp đặt, khảo nghiệm dạng sóng, thang đo, góc pha, tần số, chu kỳ, biên độ, v.v Bên cạnh đó, lập trình viên khơng thể can thiệp vào hệ thống điều khiển sản phẩm thương mại để hiệu chỉnh, sửa đổi, nâng cấp, v.v qua cách tiếp cận phần mềm, mã chương trình, yếu tố quyền, dạng đóng gói bảo mật Để tạo phát xung, chia tần mang tính mềm hơn, linh động phục vụ cho cơng tác đo lường, khảo sát, phân tích, thử nghiệm, kiểm định, v.v có số nghiên cứu hướng tạo sóng tam giác sóng vng với tần số, biên độ điều khiển độc lập ứng dụng cho máy phát dạng sóng cưa [3] – [6], tạo tín hiệu sóng hình sine, vuông tam giác dựa lõi vi điều khiển MSP430 [7], máy tạo dao động hình sine cung cấp hai sóng sine với độ lệch pha 90° sử dụng điện trở, hai tụ điện nối đất, hai phần tử tích cực, khuếch đại chênh lệch điện áp sai lệch (VDDDA) hai IC thương mại [8], [9], hệ thống tạo sóng tùy biến dựa bus VXI, tạo sóng sine chất lượng cao, sóng vng, sóng tam giác, sóng hàm độ dốc, sóng hàm độ dốc âm, điều chế biên độ, điều tần, điều chế cụm, tần số quét [10], thiết bị tạo sóng tam giác, vng dải tần kép cơng suất thấp (WFG) điều chỉnh với đầu 16 kênh chế tạo quy trình CMOS 8RF-DM 130-nm Global Foundries, lõi WFG (dải I) điều chỉnh khoảng 6,44÷1003 KHz tần số thấp (dải II) đoạn 0,1 Hz÷502 KHz [11]-[13] Tuy nhiên, cơng trình triển khai từ hệ thống phần cứng chuyên dụng, chi phí cao, cần phối hợp sử dụng nhiều linh kiện điện tử, chip điều khiển chương trình phần mềm từ nhiều nhà cung cấp khác Từ đây, đặt hướng nghiên cứu cách tạo nguồn phát sóng tuỳ chỉnh, nhỏ gọn, đồng phần cứng, phần mềm, ngơn ngữ thiết kế, có khả tái cấu hình, lập trình để tạo vi mạch mà không thiết cần sử dụng thêm ngoại vi, linh kiện điện tử, IC số, v.v Cùng công cụ phần mềm mô trực quan cho phép kiểm thử thiết kế trước vào triển khai sản xuất, giúp tối ưu thời gian thành phẩm, tiết kiệm chi phí thuận lợi cho q trình đồng hố liệu Field-programmable gate array (FPGA) cho phép tích hợp số lượng lớn phần tử bán dẫn vào vi mạch, dùng cấu trúc mảng phần tử logic mà người dùng tái lập trình được, khơng phụ thuộc vào dây chuyền sản xuất phức tạp nhà máy bán dẫn Tính linh động cao trình thiết kế cho phép FPGA giải lớp toán phức tạp mà trước thực nhờ phần mềm máy tính, ngồi nhờ mật độ cổng logic lớn FPGA ứng dụng cho tốn địi hỏi khối lượng tính toán lớn dùng hệ thống làm việc theo thời gian thực Thiết kế, lập trình cho FPGA thực chủ yếu ngôn ngữ mô tả phần cứng HDL VHDL, Verilog, AHDL, v.v Các hãng sản xuất FPGA lớn Xilinx, Altera thường cung cấp gói phần mềm thiết bị phụ trợ cho q trình thiết kế, có số hãng thứ ba http://jst.tnu.edu.vn 254 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 cung cấp gói phần mềm kiểu Synopsys, Synplify, v.v Các gói phần mềm có khả thực tất bước tồn quy trình thiết kế IC chuẩn với đầu vào mã thiết kế HDL (mã RTL) [14] Xuất phát từ phân tích trên, nhóm tác giả đề xuất triển khai FPGA để tổng hợp số trực tiếp DDS (Direct Digital Synthesis) sử dụng mã VHDL, nhằm tạo dạng sóng với biên độ, tần số, góc pha tuỳ biến từ xung nhịp CLOCK tham chiếu DDS có nhiều lợi việc cải thiện nhiễu pha có khả điều khiển xác pha đầu qua trình chuyển đổi tần số Trong Hình thể hoạt động ba khối chức dự án là: Nguồn xung nhịp CLOCK, FPGA DAC Đầu FPGA liệu số cấp cho Bộ chuyển đổi số sang tương tự DAC (Digital Analog Converter), để tạo tín hiệu đa năng, linh hoạt DAC FPGA sử dụng nguồn xung nhịp CLOCK Vì sử dụng FPGA làm phần cứng, nên tương lai dễ dàng sửa chữa nâng cấp tạo tín hiệu cách thay đổi thiết kế phần mềm Không cần thêm chi phí để đầu tư thêm tạo sóng đo lường Hình Sơ đồ hoạt động khối chức tạo phát sóng, chia tần Thiết kế tạo nguồn phát xung dạng sóng Nhóm tác giả sử dụng mã VHDL để tổng hợp nhằm tạo dạng sóng khác sóng vng, sóng tam giác, sóng cưa, sóng sine, đồng thời tạo sóng kết hợp từ sóng chuẩn này, hay nguồn phát với sóng có dạng Như Hình 2, sử dụng khối logic riêng biệt để tạo dạng sóng chọn tín hiệu (tương tự ghép kênh) sử dụng để chọn dạng sóng đầu cần thiết Hình Sơ đồ tạo dạng sóng khối logic chọn kênh Việc triển khai DDS chia thành hai phần riêng biệt Hình 3, tạo pha thời gian rời rạc (bộ tích lũy) - Phase Generator (The Accumulator) xuất giá trị pha ACC chuyển đổi pha thành sóng - Phase to Waveform Converter để xuất tín hiệu DDS mong muốn http://jst.tnu.edu.vn 255 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 Hình Quy trình DDS Phase Generator (The Accumulator): Bộ tích lũy pha hoạt động tương tự đếm đặt lại định kỳ sau n xung nhịp CLOCK, sử dụng n = 512 Do chu kỳ dạng sóng n xung đồng hồ Đầu vào cho Phase Generator xung bit giá trị n tương ứng bit Đầu The Accumulator đếm 16 bit Nếu tăng giá trị n, tần số sóng tạo giảm xuống Bộ tích lũy pha chung cho tất khối Phase to Waveform Converter: Bộ chuyển đổi pha sang dạng sóng biến đổi giá trị pha (số đếm) thành biên độ dạng sóng Đây gọi chuyển đổi pha sang biên độ Khối khác sóng Đầu vào cho chuyển đổi dạng sóng sang pha đếm 16 bit giá trị n Và đầu độ lớn biên độ ‘wave_out’ bit Giá trị tạo tín hiệu DDS [15], [16]: - Độ phân giải điều chỉnh thực nhỏ tùy ý để đáp ứng hầu hết đặc điểm kỹ thuật thiết kế - Có thể kiểm sốt pha tần số dạng sóng chu kỳ mẫu - Việc triển khai DDS ổn định, với từ điều khiển có độ dài hữu hạn, khơng cần điều khiển độ lợi tự động - Tính liên tục pha trì tần số thay đổi - DDS FPGA tiêu thụ điện so với tạo tín hiệu thơng thường Các dạng sóng thiết kế sau: - Sóng vng: Biên độ sóng cao (logic 1) sóng thấp (logic 0) tương ứng với n/2 chu kỳ - Sóng cưa: Biên độ tăng lên tối đa cho n mẫu sau đặt lại mức thấp Tốc độ tăng tỷ lệ nghịch với giá trị n - Sóng hình tam giác: Biên độ phải tăng lên tối đa đến n/2 chu kỳ đầu sau n/2 chu kỳ, giá trị lại phải giảm dần đến logic thấp - Sóng hình sine: Việc tạo sóng sine phần quan trọng việc tạo tạo tín hiệu DDS Có nhiều phương pháp có sẵn để tạo sóng sine, như: Xấp xỉ chuỗi Taylor Tra cứu bảng logic - Table lookup Trong phương pháp xấp xỉ chuỗi Taylor chuỗi Taylor hàm sine là: sin (x) = x - (x3)/3! + (x5)/5! - (x7)/7! + (1) Với x tính radian, giá trị động, loại tiếp cận thực phần cứng Một nhược điểm phương pháp chi phí thực cao Ở phương pháp tra bảng logic - Table lookup, cần tạo tất giá trị sine cho n mẫu lưu trữ nhớ Cách triển khai tạo lỗi so với phương pháp khác việc thực phần cứng đơn giản Nhóm tác giả lựa chọn phương án để thực nghiệm nghiên cứu Yêu cầu nhớ: Sử dụng n = 512, nên cần lưu trữ 512/4 = 128 giá trị sóng sine mẫu Ta cần lưu trữ giá trị từ đến π/2, liệu khác tạo tính chất đối xứng sóng sine Với giá trị trung gian, nội suy hai mẫu Số bit sử dụng để lưu trữ giá trị mẫu bit Vì nhớ cần 8x128 bit = 1024 bit = 128 byte Dựa vào yếu tố đầu vào (giá trị mẫu n), đầu cho thiết kế (các dạng sóng), với phương án để triển khai thực nghiệm (Sử dụng Table lookup, DDS FPGA), tiến hành viết mã VHDL [17], ta thu kết phát dạng sóng sau: Sóng vng (Hình 4a); sóng cưa (Hình 4b); sóng tam giác (Hình 5a); sóng hình sine (Hình 5b); sóng vng kết hợp với sóng cưa (Hình 6a); sóng vng kết hợp với sóng sine (Hình 6b); sóng vng kết hợp với sóng tam giác (Hình 7a); sóng chiều DC (Hình 7b); tạo đồng thời sóng: sóng vng, http://jst.tnu.edu.vn 256 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 sóng cưa, sóng tam giác sóng sine (Hình 8a); Bộ tạo đồng thời sóng: Sóng sine, sóng vng kết hợp với sóng cưa, sóng sine kết hợp với sóng vng, sóng vng kết hợp với sóng tam giác sóng chiều DC (Hình 8b); Bộ tạo sóng (Hình 9) (a) (b) Hình Bộ phát (a): sóng vng, (b): sóng cưa (a) (b) Hình Bộ phát (a): sóng tam giác, (b): sóng hình sine (a) (b) Hình Bộ phát (a): sóng vng kết hợp sóng cưa, (b): sóng vng kết hợp với sóng sine (a) (b) Hình Bộ phát (a): sóng vng kết hợp sóng tam giác, (b): sóng chiều DC http://jst.tnu.edu.vn 257 Email: jst@tnu.edu.vn TNU Journal of Science and Technology (a) 226(16): 253 - 260 (b) Hình Bộ phát (a): đồng thời sóng vng, sóng cưa, sóng tam giác sóng sine, (b) đồng thời sóng sine, sóng vng kết hợp với sóng cưa, sóng sine kết hợp với sóng vng, sóng vng kết hợp với sóng tam giác sóng chiều DC Hình Bộ phát xung Thiết kế chia tần Mô tả thiết kế: Một tín hiệu đồng hồ CLOCK có tần số 10 Hz muốn tạo xung tín hiệu có tần số Hz ta sử dụng mạch chia 10 hay gọi mạch đếm mod-10, xung tạo có độ đầy 50% (Cịn gọi hệ số công tác 50%; Xung thấp = Xung cao = 1/2 Chu kỳ) Trong phạm vi triển khai thực nghiệm nghiên cứu, nhóm tác giả xét riêng cho trường hợp xung vng, sóng khác q trình thực tương tự (a) (b) Hình 10 Bộ chia tần xung vuông (a): sơ đồ khối, (b): kết chia tần mod-10 Tiến hành viết mã VHDL cho thiết kế với phần sơ đồ khối Hình 10a sau: + Phần mạch tuần tự: Khi có xung ckht giá trị d1hz_reg cập nhật giá trị kế d1hz_next + Phần mạch tổ hợp tạo trạng thái kế: So sánh giá trị d1hz_reg N gán giá trị bắt đầu lại để bắt đầu lại chu kỳ mới, chưa N giá trị kế d1hz_next giá trị http://jst.tnu.edu.vn 258 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 d1hz_reg cộng thêm Cả phần mạch đếm xung mod-N đếm xung ckht Giá trị N tần số xung clock ckht KIT FPGA Nếu tần số xung clock KIT FPGA 50 MHz chu kỳ xung clock 20 ns Khi mạch đếm đếm xung 20 ns giá trị đếm mạch N = 50000000 Chu kỳ mạch đếm 20ns*50000000 = 1000000000 ns = 1s Nếu tần số xung clock KIT FPGA 100 MHz chu kỳ xung clock 10 ns Khi mạch đếm đếm xung 10 ns giá trị đếm mạch N=100000000 Chu kỳ mạch đếm 10ns*100000000 = 1000000000ns = 1s Trong chương trình sử dụng số N để dễ dàng thay đổi theo tần số KIT, N gán 100000000 KIT dùng có tần số 100 MHz Nếu KIT dùng có tần số khác 50 MHz hiệu chỉnh lại cho 50000000 + Phần thứ xử lý tín hiệu ngõ ra: Ngõ ck1hz lên mức giá trị đếm mạch đếm mod-N nhỏ nửa chu kỳ N/2 xuống mức giá trị đếm lớn nửa chu kỳ N/2, mạch lặp lại nên ta xung Hz Sau biên dịch mã VHDL ta thu kết chia tần mod-10 Hình 10b, với mạch chia tần số ngõ Q3 Hz xung không đối xứng mà theo tỷ lệ 80% 20% Nếu hệ thống u cầu tín hiệu có hệ số chu kỳ 50% ta khơng thể dùng tín hiệu Q3 được, ta phải thêm mạch để tạo tín hiệu có hệ số chu kỳ 50%, mạch so sánh: lấy giá trị mạch đếm mod-10 so sánh với số 5: nhỏ (từ đến 4) tín hiệu 1, lớn (từ đến 9) tín hiệu 0, đảo lại Do tín hiệu có tần số N, muốn chia tạo tín hiệu có tần số Hz với hệ số chu kỳ 50% ta dùng mạch đếm mod-n để đếm xung có tần số n Lấy kết mạch đếm mod-n đem so sánh với số n/2: nhỏ n/2 tín hiệu xung Hz 1, ngược lại tín hiệu xung Hz Kết luận đánh giá Để tạo phát xung với dạng sóng, với tần số (chu kỳ), biên độ pha khác nhau, nhóm tác giả áp dụng phương pháp bảng tra cứu logic Table lookup tảng phần cứng FPGA ngôn ngữ lập trình VHDL Mặc dù cần sử dụng nhớ, phương pháp hiệu để tạo nguồn phát xung Đồng thời không tạo tín hiệu tiêu chuẩn mà cịn đạt dạng sóng, loại điều chế trộn tín hiệu cách sử dụng DDS FGPA Mục 2, loại tạo dạng sóng tùy biến bị giới hạn thực tạo hàm hay máy phát thương mại thông thường Trước gửi giá trị đến DAC, ta xử lý kỹ thuật số, mang lại linh hoạt sức mạnh cho thiết kế dựa FPGA tạo tín hiệu Biên độ dạng sóng đầu thực khuếch đại điều chỉnh chiết áp Khi triển khai DDS với kỹ thuật xử lý, điều chế, mã hóa, tín hiệu Hơn nữa, giao tiếp với máy tính, cho phép người dùng xem truy cập dạng sóng FPGA tạo Thiết kế FPGA triển khai cho ASIC có chất lượng tín hiệu, nhiễu pha, nhiễu thiết bị thấp, tiêu thụ lượng thấp, kích thước nhỏ gọn sử dụng board mạch tích hợp Đồng thời băm xung, chia tần với chu kỳ (thời gian) khác Mục cách thay đổi xung clock ckht KIT FPGA (N) điều chỉnh giá trị cần chia (n), giúp tăng độ phân giải (chính xác) cho phép đo yêu cầu độ xác cao, mà sản phẩm thương mại gặp phải giới hạn thang đo Kết nghiên cứu sử dụng làm tài liệu tảng cho ngành, chuyên ngành liên quan đến lĩnh vực điện, điện tử, tin học, tự động hoá hệ thống nhúng Cùng với sản phẩm mã nguồn, giúp cho kỹ sư thiết kế, nghiên cứu viên muốn tạo nguồn phát mong muốn, cần gọi chương trình với thơng số dạng sóng, chu kỳ, biên độ (đồng nghĩa với tần số, pha thay đổi) để thu phát xung với giá trị tuỳ biến thích nghi Từ có kiểm định, phân tích, dự đốn cảnh báo lỗi qua trình đo lường hệ thống http://jst.tnu.edu.vn 259 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(16): 253 - 260 Lời cám ơn Kết nghiên cứu sản phẩm đề tài nghiên cứu khoa học cấp sở có mã số T202107-06, tài trợ kinh phí Trường Đại học Công nghệ Thông tin Truyền thông TÀI LIỆU THAM KHẢO/ REFERENCES [1] J D Bass and J S Zhang, Treatise on Geophysics 2nd Edition Elsevier B.V, 2015 [2] Lidinco ltd, “Take a look at the 10 best pulse generator lines,” Jun 21, 2019 [Online] Available: https://lidinco.com/top-10-may-phat-xung [Accessed Sept 09, 2021] [3] W S Chung et al., "Triangular/square-wave generator with independently controllable frequency and amplitude," IEEE Transactions on Instrumentation and Measurement, vol 54, no 1, pp 105-109, 2005 [4] V Valimaki, "Discrete-time synthesis of the sawtooth waveform with reduced aliasing," in IEEE Signal Processing Letters, vol 12, no 3, pp 214-217, March 2005 [5] A Karnal, K C Tripathi and V Prakash, "Inexpensive sawtooth wave; Adjustable and frequencyindependent duty-cycle square-wave oscillator," in IEEE Transactions on Instrumentation and Measurement, vol IM-36, no 1, pp 120-123, March 1987 [6] H E Kallmann, "High-Power Sawtooth Current Synthesis from Square Waves," in Proceedings of the IRE, vol 38, no 1, pp 60-64, Jan 1950 [7] L Limin and Suzhihua, "Function Signal Generator," Fourth International Conference on Digital Manufacturing & Automation, Shinan, China, 2013 [8] D Satipar et al., “Electronically Tunable Quadrature Sinusoidal Oscillator Using VDDDAs,” in 2021 9th International Electrical Engineering Congress (iEECON), Pattaya, Thailand, 2021 [9] S Tuntrakool, M Kumngern, R Sotner, N Herencsar, P Suwanjan, and W Jaikla, "High input impedance voltagemode universal filter and its modification as quadrature oscillator using VDDDAs," Indian Journal of Pure & Applied Physics, vol 55, pp 324-332, May 2017 [10] W Fujun, “Design of arbitrary wave generator based on VXI bus,” in 14th IEEE International Conference on Electronic Measurement & Instruments (ICEMI), Changsha, China, 2014 [11] S M Rezaul Hasan, "Dual-Band Waveform Generator With Ultra-Wide Low-Frequency TuningRange," IEEE Access, vol 4, pp 3169-3181, April 2016 [12] S Malik et al., “A CCII-Based Wide Frequency Range Square/Triangular Wave Generator,” in Proc IEEE 2nd Int Conf on Recent Trends in Information Systems (ReTIS), 2015, pp 446-449 [13] Z N Zafar, M A Maktoomi, and M S Hashmi, “A New Adjustable Square/Triangular-Wave Generator using CCII/CCCII and OTA,” in Proc IEEE 26th Int Conf on Microelectronics (ICM), 2014, pp 104-107 [14] S Churiwala, Designing with Xilinx® FPGAs Springer International Publishing, 2017 [15] L Cordesses, "Direct digital synthesis: a tool for periodic wave generation (part 1)," IEEE Signal Processing Magazine, vol 21, no 4, pp 50-54, 2004 [16] L Cordesses, "Direct digital synthesis: a tool for periodic wave generation (part 2)," IEEE Signal Processing Magazine, vol 21, no 5, pp 110-112, 2004 [17] V A Pedroni, Circuit Design and Simulation with VHDL The MIT Press, Cambridge, Massachusetts, London, England, 2010 http://jst.tnu.edu.vn 260 Email: jst@tnu.edu.vn ... vng kết hợp với sóng cưa, sóng sine kết hợp với sóng vng, sóng vng kết hợp với sóng tam giác sóng chiều DC Hình Bộ phát xung Thiết kế chia tần Mơ tả thiết kế: Một tín hiệu đồng hồ CLOCK có tần. .. sóng khác trình thực tương tự (a) (b) Hình 10 Bộ chia tần xung vuông (a): sơ đồ khối, (b): kết chia tần mod-10 Tiến hành viết mã VHDL cho thiết kế với phần sơ đồ khối Hình 10a sau: + Phần mạch... Dựa vào yếu tố đầu vào (giá trị mẫu n), đầu cho thiết kế (các dạng sóng), với phương án để triển khai thực nghiệm (Sử dụng Table lookup, DDS FPGA) , tiến hành viết mã VHDL [17], ta thu kết phát