2008-12-10 24 views
5

Tôi đang sử dụng Altera Quartus 2 để thực hiện một bộ xử lý 8 bit tùy chỉnh và phải mất mãi mãi để biên dịch trên máy tính xách tay của tôi. Tôi chỉ sử dụng mô phỏng và làm cho bộ vi xử lý của tôi trong sơ đồ (sơ đồ khối) và VHDL. Bây giờ phải mất khoảng 10 phút để biên dịch, đó là một nỗi đau vì tôi đang ở giai đoạn gỡ lỗi của dự án, nơi tôi phải sửa thời gian nội bộ và thực hiện rất nhiều thay đổi để xem điều gì xảy ra.Làm cách nào để làm cho việc biên dịch Quartus II nhanh hơn

Tôi không thực sự đặt nó trên một FPGA, vì vậy tôi cần các giai đoạn biên dịch của "fitter" và "assembler"?

Tôi có thể thay đổi nội dung của tệp bộ nhớ của một lpm_ram_dq và thử nghiệm nó trong mô phỏng mà không cần biên dịch lại không?

Tóm lại, ai cũng biết cách làm cho nó biên dịch nhanh hơn?

Trả lời

2

Theo thứ tự giảm quan trọng.

  • Bộ nhớ khác. 4 GB cho hệ điều hành 32 bit. Một số thiết kế cần nhiều hơn thế và yêu cầu hệ điều hành 64 bit.
  • Đừng cố định quá mức thiết kế.
  • Thay đổi tùy chọn biên dịch để không cố gắng như khó. Đó là theo bài tập> cài đặt> Cài đặt bộ lọc> Khớp nhanh (hoặc Tự động sửa)
  • 8.1 hỗ trợ nhiều lõi.
  • Trợ giúp biên dịch tìm kiếm, đặc biệt nếu bạn có nhiều phiên bản của cùng một khối.

2 phút thực sự ngắn, tôi đồng ý với áp phích trước đó. Một cổng duy nhất sẽ mất nhiều thời gian.

+0

1: Máy tính xách tay của tôi có bộ nhớ 2GB, nó đủ cho dự án của tôi 2: Ý của bạn là gì? 3: Điều đó không hiệu quả, nó vẫn mất rất nhiều thời gian trong Fitter 4: Làm cách nào để thực hiện điều đó? Tôi không thể làm cho nó sử dụng 100% của CPU của tôi 5: Tôi có rất nhiều trường hợp của cùng một khối, làm thế nào để tôi làm một biên dịch hiearchical? – Hoffmann

+0

Xin lỗi, lỗi của tôi. quan sát thứ hai đã làm việc. Nó giảm đi một nửa thời gian Fitter, nó đã giảm từ 8 phút xuống còn 4 phút. Cảm ơn! – Hoffmann

2

Một số điều:

  • Nếu bạn không đặt nó trên một FPGA, tại sao biên dịch với Quartus? Chỉ cần mô phỏng nó với Modelsim hoặc ActiveHDL hoặc bất kỳ giả lập bạn có.
  • 2 phút là rất thời gian biên dịch ngắn. Thật :-)
  • Hãy thử Quartus 8, nó nhanh hơn nhiều so với 7 tuổi trở lên
  • Để kiểm tra mã của bạn tổng hợp một cách chính xác và xem netlist, bạn thực sự không cần fitter và lắp ráp bước
+0

1: Không phải tùy chọn, tôi đang làm bài tập ở trường đại học và giáo sư yêu cầu Mô phỏng Quartus II. 2: Dự án của tôi bây giờ là trên 10 phút biên dịch thời gian, khoảng 6 phút là trong giai đoạn fitter. 3: Tôi đang sử dụng Quartus 8.1 4: Tôi không hiểu điều đó, bạn có thể giải thích rõ hơn không? Tôi là một nhà thiết kế phần cứng noob ... – Hoffmann

+1

Chỉ cần làm một vài mô phỏng lặp đi lặp lại với phiên bản Altera của ModelSim, sau đó chạy trình mô phỏng Quartus khi bạn nghĩ rằng bạn đã có những thứ làm việc. Và như đã đề cập, không làm biên dịch đầy đủ nếu bạn không nhắm mục tiêu một FPGA, chỉ cần làm phần phân tích và tổng hợp. –

2

Nếu bạn chỉ cần mô phỏng trong Quartus, bạn không phải chạy trình biên dịch đầy đủ. Nếu bạn nhấn Ctrl-K thì chỉ phân tích và thực hiện quá trình biên dịch. Các mô phỏng quartus nên làm điều này cho bạn.

OTH được đề cập bởi nhiều người khác: 10 phút một thời gian biên dịch rất ngắn. Đối với thiết kế thực sự, nó không phải là bất thường để lại nó chạy trong ít nhất một giờ.

2

Một số cờ hữu ích để làm cho Quartus tổng hợp nhanh hơn nếu bạn không quan tâm đến việc tối ưu hóa hoàn toàn kết quả của mình và chỉ muốn có ước tính bi quan hoặc so sánh.

set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT FAST 

Chỉ định những nỗ lực, về mặt thời gian biên dịch, tổng hợp vật lý nên sử dụng.Nhanh chóng sử dụng ít thời gian biên dịch hơn nhưng có thể làm giảm hiệu suất đạt được mà tổng hợp vật lý có thể đạt được.

set_global_assignment -name FITTER_EFFORT    FAST_FIT 

nhanh Fit giảm nỗ lực tối ưu hóa để giảm thời gian biên soạn, có thể làm suy giảm hiệu suất thiết kế.

Và thay vì execute_flow -compile, sử dụng:

execute_flow -implement 

Lựa chọn để chạy biên soạn lên đến giai đoạn tuyến đường và bỏ qua mọi thời đại thuật toán chuyên sâu sau.

Trong một cuộc họp với các kỹ sư Intel/Altera, sử dụng -implement này là bóng-đậu để được nhanh hơn -compile khoảng 20%, và đến khuyến cáo khi lặp lại kết quả thời gian khi đóng cửa.

Bạn cũng có thể thử như sau:

set_global_assignment -name SYNTHESIS_EFFORT   FAST 

Lưu ý: này có sự báo trước đây, mặc dù tôi có xu hướng nhìn thấy chạy nhanh hơn tổng thể trong một số thiết kế.

Khi được đặt thành Nhanh, một số bước được bỏ qua để thực hiện tổng hợp nhanh hơn; tuy nhiên, có thể có một số chi phí hiệu suất và tài nguyên. Altera khuyên bạn nên đặt tùy chọn này thành Chỉ nhanh khi chạy ước tính thời gian sớm. Chạy một tổng hợp "nhanh" tạo ra một netlist hơi khó cho Fitter để tuyến đường, do đó làm cho quá trình tổng thể phù hợp chậm hơn, mà phủ nhận bất kỳ tăng hiệu suất đạt được là kết quả của tổng hợp "nhanh".

+0

Tôi nghĩ bạn sẽ nhận được huy hiệu "gravedigger" cho những thứ như thế này. Câu hỏi này là 9 tuổi! Nhưng QA đã nói về việc tối ưu hóa thời gian. Bạn không thể thực hiện các tối ưu hóa này nếu bạn thay đổi cài đặt nỗ lực tổng hợp. Việc thực hiện sẽ khác với việc biên dịch toàn diện. – JHBonarius

+0

Điều đó đúng theo nghĩa là bạn sẽ không thực sự tối ưu hóa thiết kế được biên soạn và thấy kết quả thực tế, nhưng khi bạn đang lặp lại các thay đổi về thời gian đóng cửa và bạn muốn thấy tiến bộ của mình, bạn vẫn có thể sử dụng những lá cờ này để làm táo -to-táo so sánh để xem các bản cập nhật của bạn có cải thiện Fmax hay không. –

Các vấn đề liên quan