2013-07-30 44 views
6

Tôi muốn tạo chương trình phân tích cú pháp Verilog và hiển thị sơ đồ khối. Ai đó có thể giúp tôi về những thuật toán tôi cần phải xem xét? Tôi tìm thấy một trình phân tích cú pháp Verilog tốt, nhưng bây giờ tôi cần phải tìm mối quan hệ giữa mỗi khối và đặt chúng cho phù hợp. Nó không phải được tối ưu hóa rộng rãi.Chương trình tạo biểu đồ khối Verilog

CẬP NHẬT:

bây giờ tôi đang sử dụng ironPython để vẽ biểu đồ khối trong Visio.

  1. Tạo một danh sách các khối với sự đóng góp của họ và kết quả đầu ra
  2. Tạo một đồ thị mà phù hợp với tất cả các kết quả đầu ra của một khối để đầu vào tương ứng của họ. Điều này về cơ bản có tất cả các kết nối giữa các khối.
  3. Tìm địa điểm cho chúng trong biểu đồ Visio.
  4. Vẽ chúng trên Visio
  5. Kết nối chúng trên Visio.
+0

Có thể để bạn có thể sử dụng vivado bởi Xilinx, nó đã làm điều đó cho bạn. –

+0

Không, tôi phải tạo một biểu đồ visio. Mà sau đó sẽ dễ dàng hơn để sửa đổi để sử dụng trong tương lai. – user591124

Trả lời

1

Bạn cũng có thể thử sử dụng tổng hợp Altera, EASE, thiết kế HDL, Synplify HDL Analyst, nSchema hoặc Xilinx PlanAhead.

+0

và giờ đây là vivado bởi xilinx –

0

Nếu bạn chỉ muốn người xem xem các khối và mối quan hệ của họ, bạn có thể thử Graphviz. Ví dụ bạn có thể tìm thấy từ một số khác StackOverflow thread. Bạn có thể đơn giản phân tích thiết kế HDL và xây dựng mối quan hệ của chúng, sau đó ghi ra định dạng văn bản trong cú pháp Graphviz. Sau đó, hãy gọi chương trình để tạo ra

Nếu bạn muốn triển khai trình xem nâng cao, ví dụ: nó có thể phóng to/thu nhỏ, xoay, nhảy vào/ra khối và chọn, đó là một câu chuyện khác.

4

Yosys là một công cụ tổng hợp mã nguồn mở. Nó cũng có thể được sử dụng để phân tích các thiết kế và tạo sơ đồ (sử dụng GraphViz). Xem ảnh chụp màn hình trên trang web:

Nếu tôi hiểu yêu cầu của bạn một cách chính xác, Yosys đã làm những gì bạn muốn. Nếu bạn vẫn muốn viết chương trình của riêng mình, bạn có thể sử dụng Yosys làm tài liệu tham khảo để giúp bạn bắt đầu.

(Xung đột của bố lãi: Tôi là tác giả của Yosys.)

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