Làm thế nào để tôi học HDL


24

Tôi có một khóa học về Thiết kế kỹ thuật số trong học kỳ này và chỉ thích nó. Bây giờ tôi biết rằng hầu hết các công việc trong hệ thống nhúng và thiết kế kỹ thuật số được thực hiện trên các trình giả lập máy tính trước tiên và sau đó được thực hiện bằng phần cứng. Vì vậy, tôi đã tự hỏi làm thế nào tôi nên đi học HDL. Tôi có vài câu hỏi

  1. Gì? Tôi không biết các tiêu chuẩn là gì nhưng muốn tìm hiểu những gì đơn giản để chọn. Tôi hiểu rằng hầu hết các HDL được thiết kế để sử dụng với các GPU Tôi không biết điều đó.
  2. Làm sao? Tôi có nên theo dõi một cuốn sách văn bản với các ví dụ độc lập hay tôi nên bắt tay vào một dự án như triển khai một hệ thống nhỏ (có thể giống như điều khiển đèn giao thông).
  3. Ở đâu? Tôi sẽ lấy tài nguyên ở đâu?

1
Bạn có thể làm rõ những gì bạn muốn từ HDL của bạn? Hầu hết các HDL được thiết kế để sử dụng với các GPU bởi vì đó là những gì hầu hết mọi người cần một FPGA. Nói chung, một trình giả lập (làm việc từ sơ đồ đồ họa) được sử dụng cho thiết kế mạch không phải là đồ họa và không phải ASIC. Bạn có muốn xây dựng: (1) Các mạch kỹ thuật số rời rạc, tức là các thành phần 74XX, (2) Mạch tương tự, tức là bộ điều chỉnh chuyển mạch, ăng-ten / thu phát RF, mạch op-amp chung hoặc (3) Mạch tín hiệu hỗn hợp tương tự, tức là Giao thoa giữa cả tín hiệu số và tín hiệu tương tự.
Kevin Vermeer

Tôi nghĩ rằng tôi muốn học HDL để mô tả phần cứng. Đó là 1, 2 và 3. Ngoài ra, trong một điều tôi muốn nó không phải là đặc thù của FPGA vì tôi không có quyền truy cập hoặc tài chính để có được những thứ đó.
Rick_2047

Tôi nghĩ rằng tôi muốn học HDL để mô tả phần cứng. Đó là 1, 2 và 3. Ngoài ra, trong một điều tôi muốn nó không phải là đặc thù của FPGA vì tôi không có quyền truy cập hoặc tài chính để có được những thứ đó. Tôi nghĩ chủ yếu tôi muốn sử dụng HDL để mô phỏng những gì tôi nghĩ. Một kế hoạch lớn của tôi trong năm nay là tạo ra máy tính của riêng tôi. Tôi nghĩ rằng tôi sẽ sử dụng 74xx cho điều đó. Đó là lý do tại sao để kiểm tra lý thuyết của tôi và mạch ý tưởng về HDL đã đưa ra.
Rick_2047

Câu trả lời:


8

Bạn có thể làm rõ những gì HDL bạn muốn sử dụng? Các lựa chọn về cơ bản là Verilog hoặc VHDL, [EDIT] và họ hàng của chúng, Verilog-ASMVHDL-ASM (Tín hiệu hỗn hợp tương tự). [/ EDIT] Verilog có một số cú pháp giống C, giúp dễ dàng nhận biết hơn nếu bạn đã làm việc với C trước đây, nhưng điều này cũng giúp bạn dễ dàng phát triển các thói quen xấu - Bạn không thể lập trình phần cứng trong C, bởi vì nó Tất cả song song! Cũng giống như C, nó giả định rằng bạn biết bạn đang làm gì và thật dễ dàng để tự bắn vào chân mình. VHDL buộc bạn phải suy nghĩ theo một cách hoàn toàn khác, điều này hữu ích, nhưng khó khăn. Nó dài dòng hơn, và có nhiều khả năng cảnh báo bạn nếu bạn làm điều gì đó lạ. Xem cuộc thảo luận Slashdot này , hoặc bài viết này .

EDIT: "Ngôn ngữ Netlist" không phải là thứ tôi đã sử dụng cho công việc thiết kế (trong trình soạn thảo văn bản), nhưng tôi cho rằng bạn có thể. SPICE, định dạng của Cadsoft Eagle và EDIF là tất cả các ví dụ (với các mục đích rất khác nhau) xuất hiện trong tâm trí. Tôi chỉ sử dụng danh sách mạng để xác minh rằng sơ đồ của tôi là chính xác (mỗi kết nối trong sơ đồ Eagle của tôi có ý nghĩa), để điều chỉnh sự trừu tượng được cung cấp bởi một trình giả lập (SPICE, tương tự như cách người ta sử dụng các câu lệnh ASM trong C) hoặc thực hiện xuất / nhập giữa các chương trình khác nhau (EDIF).
Các Spectre netlisting ngôn ngữ có liên quan đến Verilog-A [nalog] và Spice, và được thiết kế cho thiết kế và kiểm tra công việc. MASTlà ngôn ngữ mô hình hóa thành phần tương thích với Verilog-AMS và VHDL-AMS. Tìm kiếm hướng dẫn về các ngôn ngữ này cho thấy rằng các công cụ trông giống như các tiện ích chụp sơ đồ thường được sử dụng, thay vì lập trình bằng chính ngôn ngữ lập danh sách mạng.

Tôi cũng sẽ thứ hai là Xilinx Spartan FPGA và một bảng mạch Digilent . Tuy nhiên, tôi sẽ sử dụng Basys ($ 60) hoặc Nexys ($ 100) nếu bạn không cần Ethernet trên bảng Starter ($ 150) được đề cập bởi O Engenheiro (Giá có chiết khấu giáo dục). Basys và Nexys rẻ hơn và do đó phổ biến hơn trong các trường học, do đó, có nhiều hướng dẫn và phòng thí nghiệm trực tuyến hơn.


Tôi đã tự hỏi nếu học các ngôn ngữ được gọi là "Netlist" sẽ có ích hay dễ dàng hơn so với việc học Verilog hay VHDL?
Rick_2047

Khó nói. Nó phụ thuộc vào những gì bạn muốn làm với ngôn ngữ của bạn. Chúng tôi có thể hiểu rõ hơn về những gì bạn muốn làm và loại ngôn ngữ bạn muốn sử dụng trước khi chúng tôi đi sâu vào cách thức và nơi cho mỗi hoán vị của một nửa tá ngôn ngữ và nhiều trường hợp sử dụng tuyệt vời không?
Kevin Vermeer

9

Tôi gần như ở trong hoàn cảnh giống như bạn.

Những gì tôi đang làm:

Tôi đã học một khóa VHDL miễn phí rất cơ bản ở trường đại học mà tôi đã học. Tôi đã chơi với bảng Spartan 3E .

Vì vậy, tôi đã mua bảng và tôi sẽ bắt đầu chơi.

Một người bạn của tôi đã gợi ý những cuốn sách này:

  1. Tạo mẫu nhanh cho các hệ thống kỹ thuật số , James O. Hamblen, Michael D. Furman
  2. Ấn phẩm Doone - Thiết kế chip HDL , Douglas J Smith

Và ông cũng đã đề xuất tài liệu này:

Hướng dẫn thiết kế mô phỏng và tổng hợp Xilinx


1
Tôi muốn thứ hai cuốn sách Hamblen và Furman. Tôi đã thiết kế bảng Altera Flex 10K10 nhỏ của riêng mình và có thể sử dụng hầu hết các mã trong cuốn sách với nó. Đó là một cuốn sách nấu ăn, nhưng không có gì tệ hơn cho điều đó.
Leon Heller

4
  1. Có hai ngôn ngữ HDL, đó là VHDL và Verilog, hãy hỏi giáo sư về ngôn ngữ mà bạn sẽ học và thử xem nó hoạt động như thế nào: cú pháp và cách bạn có thể tạo mô-đun về điều này và đánh giá lớn về TẤT CẢ các mạch kỹ thuật số.

  2. Trước khi thực hiện bất kỳ điều gì làm 1, hãy đảm bảo rằng bạn thực sự biết mọi thứ về các mạch kỹ thuật số, bởi vì HDL không tạo ra bất cứ điều gì mới, bạn chỉ sử dụng những điều này theo một cách khác. Vì vậy, bạn có thể sử dụng một trong hai cuốn sách ở trên, để thực hiện một số bài tập, hãy hỏi giáo viên của bạn những cuốn sách mà anh ấy giới thiệu và sử dụng chúng hoặc một trong hai cuốn sách trên.

  3. Hãy hỏi bạn giáo viên về việc họ có sử dụng FPGA trên các lớp không, nếu đó là Altera, Xilinx, Lattice hay loại khác, nếu Altera thực hiện tải xuống Quartus Web Edition, nếu Xilinx, ISE Webpack, hãy tải xuống miễn phí một trong những thứ này và cố gắng tìm hiểu về một trong những phần mềm và thực hiện một số bài tập, mô phỏng trên một trong số chúng.

Bạn đã đúng, khoảng 90% công việc trên HDL là trên trình giả lập, vì vậy hãy tìm hiểu về trình mô phỏng Modelim và / hoặc trình giả lập ISIM trên xilinx, họ ra lệnh và cách làm testbenches.


Hai HDL chính. Có nhiều cái ít phổ biến hơn, chẳng hạn như CUPL, MyHDL và Lava. Khóa học Thiết kế kỹ thuật số tại trường đại học của tôi đã đề cập đến VHDL nhưng đã sử dụng CUPL trong phòng thí nghiệm. Thêm thông tin trên wikipedia: en.wikipedia.org/wiki/ Từ
Yann Vernier

3

Bất cứ khi nào bạn kết thúc làm việc, bạn sẽ phải sử dụng cùng một HDL mà họ đã sử dụng - vì vậy để tăng cơ hội được thuê hãy thử và dành một chút thời gian với cả Verilog và VHDL. Nó được sử dụng khá đơn giản: Verilog đã được sử dụng ở Mỹ và VHDL ở châu Âu - ngày nay nó không đơn giản.

Upthread ai đó đã đề cập đến việc học cách 'nghĩ khác' cho VHDL - bạn cũng phải làm điều đó cho Verilog, nó trông giống như C nhưng không phải - một nơi tốt để bắt đầu là nhìn và xem dây và flop được tạo ra trong quá trình tổng hợp - khi bạn đạt tới điểm mà bạn có thể nhìn thấy những điểm đó và chỉ có thể 'nhìn thấy' những mối nguy thời gian trong đầu bạn đang ở gần đó


2

icarus verilog hoặc verilator là những gì tôi muốn giới thiệu cho việc học hoặc chơi với verilog. ghdl là những gì tôi sẽ sử dụng để chơi với vhdl. Khác xa với dòng chính nhưng tôi cũng muốn giới thiệu cyclicity-cdl.sf.net có môi trường sim riêng, v.v. và tạo ra phiên bản tổng hợp. sử dụng và tìm hiểu gtkwave để kiểm tra các tệp .vcd do trình mô phỏng tạo ra.


1

Tôi đã học Verilog ở trường đại học trong một khóa học. Đỉnh cao của khóa học đó là việc triển khai bộ xử lý MIPS Superscalar 2 chiều (30% lớp học đã hoàn toàn hoạt động; tôi ở 70% còn lại). Tôi nghĩ rằng mọi thứ trong ngành công nghiệp đang dần dần rời khỏi Verilog và hướng tới VHDL. Điều đó đang được nói, có rất nhiều hướng dẫn trực tuyến cho cả hai ngôn ngữ. Đây là một trên VHDL và đây là một trên Verilog .

Bạn có thể sẽ muốn sử dụng ModelSim và bạn có thể sử dụng phiên bản dành cho sinh viên (tôi nghĩ nó miễn phí; có thể có hạn chế). Ngẫu nhiên, họ khuyên bạn nên sử dụng Thiết kế hệ thống kỹ thuật số bằng cách sử dụng VHDL 2nd Edition làm Sách giáo khoa.


1

Đây là một bộ công cụ phát triển đồ họa giá rẻ có thể phù hợp với bạn. Tuy nhiên, tôi không chắc chắn về mức độ của các công cụ nguồn mở hoạt động với nó. Chuỗi bộ công cụ của nhà cung cấp có sẵn để tải về miễn phí. Tôi đã nghe nói rằng ở mức giá bộ dụng cụ này có sẵn, nó đáng để đi và nhận được nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.