Ngôn ngữ lập trình cho kỹ sư điện tử


22

Tôi là sinh viên ngành Kỹ thuật Điện tử và Truyền thông, trước khi vào đại học, tôi đã quan tâm đến lập trình và ứng dụng máy tính. Tôi đã tập trung vào việc thiết kế các ứng dụng Windows và học các kỹ thuật của nó, nhưng bây giờ, tôi cảm thấy rằng điều này là vô ích trong lĩnh vực của mình ... Tôi không phải học mọi thứ về khoa học máy tính và phát triển phần mềm! (Tôi có đúng về điều này không?)

Tôi biết VB .Net, C # và C ++. Tôi có nhiều thời gian trong kỳ nghỉ của mình vì vậy tôi muốn tìm hiểu sâu hơn về lập trình trong "lĩnh vực điện tử". Vì vậy, những gì bạn sẽ đề nghị để tìm hiểu hoặc tập trung vào?

Tôi muốn những ngôn ngữ được sử dụng trong lập trình Vi điều khiển và các mạch tích hợp khác. C ++ là đủ hay tôi cũng nên thành thạo C? Hãy cho tôi biết suy nghĩ của bạn xin vui lòng.


3
"Hàn" Hay nghiêm trọng hơn, đồng bằng C khá truyền thống đối với các công cụ hỗ trợ, mặc dù hiện tại python hơi hợp thời trang.
Chris Stratton

Câu trả lời:


29

Có, đó là gần như chắc chắn một động thái tốt để học cách sử dụng C cũng như có thể (C ++ sẽ cung cấp cho bạn một điểm khởi đầu hữu ích, mặc dù như leftaroundabout ghi chú, vẫn sẽ có rất nhiều để chọn lên, đặc biệt là sự khác nhau giữa mã hóa cho các hệ thống nhúng nhỏ so với việc viết cho một cái gì đó như Windows) với sự phổ biến của nó.

Hầu hết các bộ vi điều khiển dưới một kích thước nhất định (ví dụ PIC, AVR, MSP430, v.v.) sử dụng C (hoặc trình biên dịch) vì có nhiều trình biên dịch chất lượng cao (miễn phí và $$ - ví dụ: nhiều trình biên dịch thương mại dựa trên trình biên dịch GCC miễn phí) .
Bạn có các ngôn ngữ khác như JAL tuyệt vời cho PIC (tác giả gốc Wouter Van Ooijen là thành viên ở đây), các biến thể PICBASIC, Ada, nhưng do tính phổ biến và số lượng trình biên dịch có sẵn, tôi nói C là ngôn ngữ được lựa chọn cho hầu hết. Mặc dù điều này chắc chắn không có nghĩa là ngôn ngữ tốt nhất, sử dụng ngôn ngữ phổ biến nhất đi kèm với những lợi thế rõ ràng (tài liệu, hỗ trợ, tính di động, cộng tác, v.v.)
Đối với kính hiển vi 32 bit phức tạp hơn và lớn hơn như nhiều biến thể ARM, cũng có C ++ và các trình biên dịch khác có sẵn.

Tôi sẽ nhảy ngay vào và lấy một vài bảng phát triển và nhận mã hóa. Bạn có thể chọn một micro 8 bit cấp thấp như PIC16F (nhiều bộ khởi động trên Microchip Direct)
Một giữa micro 16 bit như PIC24, và một ARM ARM C / C ++ / nhúng loại nào đó - STM32F4 ARM Cortex M4 Discovery là một bảng dev rất rẻ có thể đáng để lấy.
Về mặt lập trình logic và ngôn ngữ mô tả phần cứng (HDL - hai ngôn ngữ lớn là Verilog và VHDL), cũng có thể đáng để nắm giữ một bảng mạch dev hoặc CPLD từ Diglent hoặc tương tự.

Nếu bạn không muốn đợi một bảng dev, bạn có thể tải xuống MPLAB hoặc MPLABX và sử dụng trình giả lập tuyệt vời để thử phát triển PIC. Tương tự với các công cụ khác, ví dụ, bạn có thể tải xuống Xilinx ISE Webpack miễn phí và dùng thử HDL và thiết kế logic lập trình.


9
PIC có thể rẻ, nhưng có nguy cơ bắt đầu chiến tranh lửa, tôi cho rằng việc sử dụng PIC làm công cụ học tập sẽ dạy bạn lập trình PIC thay vì dạy bạn lập trình vi điều khiển cho mục đích chung. Đối với điều này, MSP, AVR (Arduino), ARM Cortex cấp thấp hoặc thậm chí bộ xử lý 8051 đáng kính sẽ cung cấp các kỹ năng dễ dàng chuyển nhượng hơn.
uɐɪ

Cảm ơn bạn rất nhiều ... điều này rất hữu ích. Nhưng để tóm tắt câu trả lời của bạn: Điều tôi cần ngay bây giờ là tiếp tục làm việc với C ++ và thành thạo C, học Verilog hoặc VHDL hoặc cả hai, và lấy một vài bảng dev để thực hành hoặc chỉ sử dụng các trình giả lập đó khi bắt đầu.
Siraj Muhammad

1
@SirajMuhammad - Vâng, đó là về nó, ngoài việc học cả Verilog và VHDL có lẽ là không cần thiết, vì chúng thường có thể được sử dụng cùng nhau trong một thiết kế (ví dụ: bạn có thể sử dụng bộ xử lý lõi mềm do người khác thiết kế trong VHDL, trong thiết kế Verilog của bạn và nó sẽ hoạt động tốt) vì vậy chỉ cần chọn một.
Oli Glaser

4
@Ian - Tôi không gợi ý nó trở thành một PIC, đó chỉ là một ví dụ (do đó "giống như một PIC") Trong mọi trường hợp, nếu bạn đang lập trình trong C, tôi không nghĩ rằng có nhiều của một tổng thể sự khác biệt giữa bất kỳ micros nhỏ ngoài kia. Tất nhiên để thực sự biết một vi mô từ trong ra ngoài (lắp ráp và tất cả) là hữu ích, nhưng để bắt đầu ở cấp độ cao hơn, mọi thứ sẽ trông giống nhau, chỉ là các công cụ khác nhau. Tôi nghĩ rằng nó đáng để thử một vài trước khi cam kết với bất cứ điều gì.
Oli Glaser

2
"Không nên quá khó nếu bạn đã biết C ++"? Tôi không đồng ý rằng, ai đó biết "VB .Net, C♯ và C ++" có thể sử dụng cái sau theo kiểu RAII hướng đối tượng khá cao cấp và có thể cần một thời gian để nắm bắt chính xác về hướng dẫn sử dụng quản lý bộ nhớ.
leftaroundabout

23

Tìm hiểu C và nhận bảng phát triển vi điều khiển giá rẻ, như MSP430 hoặc ARM Cortex, và ít nhất là viết và tải một vài chương trình C.

Tôi có bằng khoa học máy tính và nền tảng phát triển phần mềm, chủ yếu là lập trình C ++ cho các trò chơi và bây giờ là các ứng dụng và trò chơi iOS, nhưng công việc cuối cùng của tôi là một hợp đồng EE bán chuyên nghiệp bắt đầu bằng việc lập trình phần mềm cho hệ thống ARM Cortex M3 , và sau đó kết thúc với tôi học cách làm một số thiết kế mạch cơ bản và bố trí bảng và thiết kế một vài bảng đơn giản. Vì vậy, về cơ bản tôi đã phải đối mặt với vấn đề sử dụng ngôn ngữ lập trình tốt nhất để kết nối thiết kế phần cứng / phần mềm với tư cách là người chịu trách nhiệm cho cả hai đầu của nó.

C hoàn toàn là ngôn ngữ bạn cần biết. Thật dễ dàng cho những người lập trình trong C ++ và thực sự không bao giờ phải giới hạn bản thân trong tính năng của C để nói "đó là điều tương tự" nhưng thực tế không phải vậy. Đặc biệt là cách C ++ đã phát triển và thu thập các tính năng, và cách các lập trình viên C ++ chính thống sử dụng các tính năng đó, thực sự là một điều khác biệt khi làm việc trên một ứng dụng C lớn tương đối so với ứng dụng C ++. SDK phần sụn của bạn sẽ là một loạt các thư viện C, mọi thứ khác phù hợp với MCU sẽ là thư viện C, bất kỳ HĐH nào có ý nghĩa trên MCU sẽ được viết bằng C, v.v.

Điều đó nói rằng, vì nhiều công cụ MCU ngoài kia kết thúc bằng cách sử dụng GCC làm trình biên dịch của chúng, bạn gần như chắc chắn sẽ có trình biên dịch C ++ nếu bạn đang sử dụng một gia đình MCU phong nha. Nhưng bạn phải rất cẩn thận về các tính năng bạn sử dụng, đặc biệt là những thứ từ thư viện tiêu chuẩn, vì rất dễ kết thúc với một nhị phân quá lớn để phù hợp với thiết bị của bạn. Tôi nghĩ rằng có một trường hợp tốt được tạo ra khi sử dụng C ++ trên các thiết bị nhúng, C ++ có khá nhiều tính năng hay, không có kích thước hoặc hình phạt tốc độ, bạn chỉ cần biết bạn đang làm gì và viết mã theo cách nào hơn nữa ở đầu phổ kiểu C so với đầu STL của phổ về mặt sử dụng tính năng thông minh.

Đừng quá chú ý đến những người nói rằng bạn có thể sử dụng Lua hoặc Python trên MCU với trình thông dịch được nhúng đúng blah, blah. Đó là sự thật, tôi đã thực hiện nó và điều đó thật thú vị, nhưng tại thời điểm này, nó dành cho các dự án đồ chơi và những thứ xuất hiện trên Hack a Day nhiều hơn. Tôi nghĩ rằng chúng ta sẽ thấy nhiều thứ như vậy vì Định luật Moore không ngừng áp dụng cho cả những bộ xử lý nhỏ nhất, đây là điều đã xảy ra với các trò chơi đã từng có rất nhiều sự lắp ráp, sau đó chúng được tổ chức với C và C ++ lâu hơn hơn mọi người khác, và bây giờ mọi thứ đều rất nhanh và năng suất của nhà phát triển rất quan trọng đến nỗi rất nhiều sự phát triển được thực hiện với các ngôn ngữ cấp cao hơn được nhúng hoặc trong một ngôn ngữ cấp cao hoàn toàn. Mặc dù vậy, sẽ mất vài năm trước khi bạn thấy các công ty tuyển dụng lập trình viên phần mềm với nền tảng Python và Lua.

Đừng dành quá nhiều thời gian cho việc lắp ráp. Không quen thuộc với các khái niệm này, nhưng không chắc bạn sẽ thấy mình làm được gì nhiều, nếu có bất kỳ chương trình lắp ráp nào. Giống như sự khôn ngoan thông thường này với các trò chơi và được nhúng rằng đó là sự lắp ráp "tốt để biết", thường được lặp đi lặp lại bởi những người không thực sự làm việc trong các lĩnh vực đó. Nhưng trong thực tế, rất có thể bạn sẽ không viết bất kỳ bản lắp ráp nào, và nếu bạn làm điều đó có thể sẽ chỉ là một vài dòng để tối ưu hóa hoặc một cái gì đó với phần cứng mà bạn không có API cho (nhưng bạn sẽ sau khi bạn viết một cái mà kết thúc một vài dòng lắp ráp). Tôi đã làm việc trên một số trò chơi và dự án thiết kế bo mạch / phần sụn đó và tổng số dòng lắp ráp mà tôi đã viết cho các dự án thương mại có lẽ là ở thanh thiếu niên thấp. Nó '


1
Điều đáng nói là một vài dòng lắp ráp của bạn có thể sẽ nằm trong các câu lệnh lắp ráp nội tuyến ( asm()), được nhúng độc đáo vào mã C của bạn. Đây là một sự kết hợp chiến thắng theo mọi cách. Mức cao nhưng nhỏ gọn với việc thỉnh thoảng nhúng vào lắp ráp khi, ví dụ, thời gian cần phải vừa phải. Các avr-gcctoolchain đã thực hiện điều này rất nhiều với các macro C, vì vậy bạn không bao giờ thông báo.
Alexios

9
Có lẽ điều quan trọng hơn là có thể ĐỌC lắp ráp hơn là phải viết nó. Điều này cho phép bạn hiểu trình biên dịch đang bảo micro làm gì và trong những trường hợp rất hiếm có thể phát hiện ra khi trình biên dịch bị lỗi. Bạn cũng cần có một số hiểu biết về lắp ráp để tận dụng tối đa các công cụ gỡ lỗi của mình và sử dụng chức năng một bước mà chúng cung cấp.
uɐɪ

1
Chắc chắn đồng ý với điều đó. Tôi nghĩ rằng một trong những bài tập tốt nhất cho một lập trình viên đầy tham vọng là viết một trình biên dịch ngôn ngữ đồ chơi và trình tạo mã ít nhất là xử lý các hàm, mảng và cấu trúc để tìm hiểu khung xếp chồng trông như thế nào và các thành phần cơ bản của ngôn ngữ lập trình trông như thế nào trong lắp ráp .
Suboptimus

3
@Ian - Có thể đọc trình biên dịch chương trình là vô ích nếu bạn không biết cách viết nó. Bạn cần đọc nó và so sánh nó với những gì bạn đã làm nếu bạn viết nó.
Rocketmagnet

2
@Rocketmagnet - Bạn không cần kiểm tra xem trình biên dịch đã tạo ra triển khai lắp ráp hiệu quả nhất. Yêu cầu là bạn có khả năng đọc trình biên dịch được tạo và kiểm tra xem logic của mã được triển khai có khớp với ý định của bạn không. Điều này giống như sử dụng các ngôn ngữ khác của con người. Tôi có thể đọc và hiểu nhiều tiếng Pháp, tiếng Đức và tiếng Latin hơn là tôi có thể nói hoặc viết.
uɐɪ

10

Tôi đồng ý với những người khác rằng bạn cần phải có năng lực trong C.

Tôi cũng khuyên bạn nên học ít nhất một ngôn ngữ lắp ráp. Làm điều này sẽ làm cho bạn một lập trình viên C tốt hơn nhiều. Bạn cần phải biết những gì đang diễn ra dưới mui xe, và điều này đúng hơn nhiều trong thế giới nhúng so với thế giới PC.

Hiểu về trình biên dịch mà C của bạn đang tạo sẽ cho phép bạn viết C tối ưu hơn về tốc độ và độ gọn. Mã nhanh hơn có nghĩa là:

  • bạn có thể sử dụng MCU rẻ hơn chậm hơn và hạ gục đối thủ cạnh tranh.
  • bạn có thể giảm tốc độ xung nhịp để cải thiện tuân thủ EMC.
  • trong một ứng dụng năng lượng thấp, MCU có thể dành nhiều thời gian hơn cho giấc ngủ, trực tiếp dẫn đến tăng tuổi thọ pin.

Mã nhỏ gọn hơn có nghĩa là bạn có thể sử dụng MCU rẻ hơn với ít bộ nhớ hơn. Hoặc có chỗ cho nhiều tính năng hơn.


Ngôn ngữ khác bạn có thể cân nhắc việc học là Verilog . Đây là một ngôn ngữ mô tả phần cứng và nó thực sự khá khác biệt với C, không chỉ về ngoại hình, mà còn về chức năng của nó. Verilog sẽ mở đường để tận dụng các chip rất mạnh như Cypress PSoC3 và 5 . Đó là một vi điều khiển với phần cứng có thể lập trình lại tương tự và kỹ thuật số, cho phép bạn thực hiện một số điều tuyệt vời rất khó thực hiện với bất kỳ MCU nào khác. Bạn cũng sẽ có thể làm FPGA thiết kế.


Bạn có ý nghĩa gì bởi "một ngôn ngữ lắp ráp"? Tôi biết rằng có một ngôn ngữ gọi là hội, nó có chi nhánh hay đại loại như thế không? Bạn có thể đặt tên cho một số xin vui lòng? Và cảm ơn rất nhiều cho câu trả lời của bạn.
Siraj Muhammad

4
Mỗi loại CPU hoặc MCU có ngôn ngữ lắp ráp riêng với các hướng dẫn khác nhau. Chúng đều khá giống nhau, nhưng có sự khác biệt quan trọng. Tìm hiểu ngôn ngữ lắp ráp cho bất kỳ MCU nào bạn đang sử dụng.
Rocketmagnet

1
Sẽ nói chính xác điều này. C và hội được sử dụng nhiều nhất trong Kỹ thuật điện tử, bởi vì bạn thường xử lý những thứ cấp thấp. Hướng đối tượng không thực sự được sử dụng tốt, kiểu suy nghĩ cấp thấp xuất phát từ C / hội cũng sẽ áp dụng cho bất cứ điều gì khác mà bạn làm việc cùng.
Muz

9

Là một MSEE đã làm việc trong ngành Quốc phòng được 8 năm, tôi có thể nói với bạn rằng hiểu cách lập trình tốt trong LabVIEW (một ngôn ngữ đồ họa, được gõ đúng, dataflow) có nghĩa là bạn sẽ không bao giờ thiếu việc.

LabVIEW bắt đầu như một ngôn ngữ lập trình cho các kỹ sư phần cứng, bạn có thể thấy điều này trong thực tế là mã trông rất giống sơ đồ mạch. Tuy nhiên, trong 25 năm qua, LabVIEW đã phát triển thành một ngôn ngữ phong phú, đầy đủ tính năng với sự hỗ trợ cho Định hướng đối tượng và đa luồng. Trong thực tế, tôi sẽ tranh luận rằng không có ngôn ngữ lập trình nào khác, dựa trên văn bản hay nói cách khác, đó là cách dễ dàng hơn để lập trình một ứng dụng đa luồng trong LabVIEW; điều này phần lớn là do mô hình luồng dữ liệu của nó. Khi số lượng lõi CPU tiếp tục tăng, LabVIEW sẽ ngày càng trở nên phù hợp hơn như một ngôn ngữ có mục đích chung.

Một lợi ích khác của việc biết LabVIEW là bạn chỉ cần bỏ qua các lập trình đồ họa bằng cách sử dụng mô-đun LabVIEW FPGA lấy mã LabVIEW của bạn và chuyển đổi nó thành VHDL phía sau hậu trường trước khi chuyển nó sang trình biên dịch Xilinx. Bạn cũng có thể sử dụng các kỹ năng LabVIEW của mình để chuyển sang lập trình mã thời gian thực thông qua Mô-đun thời gian thực LabVIEW sử dụng VxWorks hoặc Phar Lap.

Lưu ý: Tôi là Nhà phát triển LabVIEW được chứng nhận.

nhập mô tả hình ảnh ở đây


5
Tất cả các sản phẩm LabVIEW tôi từng thấy trông giống như thế này: thed Dailywtf.com/Articles/Labview-Spaghetti.aspx Tôi không nghi ngờ rằng có một thị trường việc làm mạnh mẽ cho những người sẵn sàng duy trì mã như vậy.
đánh dấu

@markrages Tôi đã được yêu cầu duy trì và / hoặc mở rộng mã gần như tồi tệ có thể tồi tệ hơn vì cũng có các cuộc gọi VI động và toàn cầu. Vấn đề này là con dao hai lưỡi đó là LabVIEW. Một mặt họ tiếp thị nó như một ngôn ngữ mà bất kỳ kỹ sư nào cũng có thể lập trình, tuy nhiên không có nền tảng vững chắc nào về kiến ​​trúc phần mềm, cuối cùng bạn sẽ nhận được mã như thế này. Rất may, NI đã giải quyết đầy đủ vấn đề này với LabVIEW 2012 bằng cách cung cấp các mẫu được viết và nhận xét tốt cho các kiến ​​trúc bắt đầu bằng máy trạng thái đơn giản cho khung diễn viên dựa trên OOP phức tạp.
Cuộc bao vây

@markrages Vấn đề có hai mặt. Một, quản lý cung cấp cho các kỹ sư vừa đủ đào tạo để trở nên nguy hiểm. Tôi muốn nói rằng 9/10 lập trình viên LabVIEW tôi đã gặp tại công ty của tôi, người đã được đào tạo chỉ học hai khóa cơ bản đầu tiên, về cơ bản chỉ dạy cho bạn cú pháp. Thứ hai, LabVIEW đã trở thành một ngôn ngữ giàu tính năng cạnh tranh với bất kỳ ngôn ngữ hiện đại nào hiện nay bởi vì quản lý đồ họa cho rằng nó phải dễ dàng. Manageemnt sẽ không bao giờ giao nhiệm vụ cho một kỹ sư phần mềm thiết kế mạch từ trung bình đến phức tạp nhưng họ không gặp vấn đề gì khi ném EE vào một vấn đề phần mềm phức tạp nếu họ "biết LabVIEW"
SiegeX

@markrages: Ngay khi tôi được nhắc về lý do tại sao tôi thích LabVIEW, tôi đã thấy bình luận của bạn và nhớ tại sao tôi ghét nó. Ôi, những giờ thất vọng đã quay trở lại ngay lập tức.
Jonny B Tốt

6

Nếu bạn muốn lập trình vi điều khiển cấp thấp, thì bạn nên thoải mái với lập trình lắp ráp-langauge (kiến trúc càng khác nhau càng tốt), và vâng, bạn sẽ sử dụng C nhiều hơn so với bạn sử dụng C ++.

Đối với công việc kỹ thuật nói chung, các ngôn ngữ định hướng toán học như Matlab (cũng là Scilab và GNU Octave) sẽ thường được sử dụng để mô hình hóa và tạo mẫu.

Ngoài ra, nhiều IDE cho phần mềm và phần cứng có thể được script, thông thường sử dụng TCL hoặc LUA, do đó, một số quen thuộc với các ngôn ngữ script nói chung (cũng như Perl, Python, PHP, Javascript, v.v.) sẽ hữu ích.

Đối với thiết kế phần cứng, bạn sẽ cần các kỹ năng Verilog và / hoặc VHDL.


6

C ++ có đủ không? Có lẽ.

Xin nhớ rằng C được sử dụng trong khoảng 90-99% của tất cả các mcu: ngoài đó, vì vậy C là điều bắt buộc trong hồ sơ của bạn.

Nhưng vì bạn là một người cấp cao, bạn có thể bắt đầu chơi với Arduino: vì chúng được lập trình với C ++ được thu nhỏ lại, và điều đó sẽ cho một ý tưởng sơ bộ về những gì C ++ có thể làm trong thế giới mcu ngay bây giờ.


3

Đối với các bộ vi điều khiển (và tôi sẽ chỉ giải quyết các bộ vi điều khiển), tôi nghĩ C là ngôn ngữ nhập tốt hơn nhiều so với C ++. Hội sẽ là bước tiếp theo, tuyệt vời để giúp bạn hiểu cách trình biên dịch C của bạn làm bạn khó chịu, tạo ra lỗi, đánh cắp đồng hồ, v.v., và làm giảm hiệu suất cao nhất khỏi nền tảng của bạn. Đây là tất cả giả sử bạn đang nói về một vi điều khiển - không phải là một arduino, BASIC Stamp hoặc bất kỳ nền tảng nào khác liên quan đến một vi điều khiển được bao bọc.

Thật khó để nói những gì hữu ích cho "lĩnh vực của bạn" - và đề nghị rằng khi còn là sinh viên, bạn có thể không thực sự biết lĩnh vực của mình là gì !! - nhưng tôi nghĩ rằng bộ ngôn ngữ của bạn có vẻ khá hợp lý và bạn sẽ thấy mình sử dụng nó nhiều lần. Ít nhất, việc nắm bắt tốt một ngôn ngữ có cấu trúc làm cho ngôn ngữ tiếp theo dễ dàng hơn nhiều, nhưng tôi nghĩ bạn sẽ luôn thấy các kỹ năng lập trình windows của mình thật tuyệt vời khi có trong túi.


2

Bạn có thể tìm hiểu C và loại mã trình biên dịch được tạo bởi các câu lệnh C nếu bạn làm việc với các bộ xử lý, nhưng bạn cũng nên tự dạy mình cách sử dụng trình bao dòng lệnh Unix như bash và các công cụ đi kèm với nó như sed, ed, awk, vim / vi, find, tar, gzip, ... cũng như Python mà bạn có thể sử dụng trên nhiều nền tảng và là một cách hay để "hoàn thành công việc".


2

Bạn phải học C nếu bạn muốn trở thành một nhà phát triển nhúng nghiêm túc. Bạn cũng nên biết trình biên dịch mặc dù có lẽ bạn sẽ rất hiếm khi sử dụng nó.


0

Trước tiên tôi sẽ định nghĩa kỹ sư điện tử có nghĩa là ai đó liên quan đến thiết kế phần cứng từ phần sụn cho đến thiết kế bo mạch và lên thiết kế chip. Trong một số trường hợp, bạn sẽ thực hiện phần sụn, như đã nêu ở trên, bạn sẽ cần "C". Phần mềm sâu hơn trở thành một công cụ đơn giản, hiểu một số khái niệm comp sci trong các ngôn ngữ bổ sung từ C / C ++ đến Lisp như các ngôn ngữ sẽ quan trọng hơn các chi tiết cụ thể. Bạn sẽ cần phần mềm để hỗ trợ các nỗ lực thiết kế của mình nhưng điều đó không được ưu tiên để hiểu các giới hạn cơ bản của những gì có thể được thực hiện trong quá trình thực hiện vật lý. Thiết kế kỹ thuật số KHÔNG phải là Verilog / VHDL ngay cả khi thiết kế được thể hiện bằng các ngôn ngữ đó. Trong thiết kế hoàn toàn tùy chỉnh và trong silico, bạn sẽ thấy Lisp giống như ngôn ngữ và ngôn ngữ chức năng C.

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.