2012-07-01 28 views
5

Câu hỏi đơn giản: Tôi đã xây dựng bộ mô phỏng quasi-bộ xử lý có đồ thị ưu tiên, xác định mức ưu tiên (và hướng dẫn "sẵn sàng"), lên lịch các tác vụ trên các đơn vị chức năng sẵn có, v.v. Nhưng tôi nhận ra tôi nên xây dựng nó trên một động cơ DES, vì tôi không có khả năng (ngoài việc thiết lập cờ và kiểm tra mọi nút trên mỗi "đồng hồ đánh dấu") để nói những thứ như "Trong 10 chu kỳ, làm điều này "(tức là nâng cao tín hiệu tại thời điểm được xác định trước và xử lý các sự kiện được cho là sẽ xảy ra trong tương lai hoặc khi các tiêu chí đã xác định trước đã được đáp ứng).Thư viện mô phỏng sự kiện rời rạc đơn giản (C++) để lập lịch biểu/công việc?

Tôi rõ ràng có thể tự thực hiện điều này; xây dựng một lớp "sự kiện", gắn chúng vào hàng đợi, và ở cuối (hoặc bắt đầu) của mỗi chu kỳ, kiểm tra hàng đợi và xem có gì trên đó, nhưng tôi không có điểm nào trong việc phát minh lại bánh xe.

Vì vậy, các trình mô phỏng mạng phức tạp rõ ràng là quá mức WAY. Tôi không cần mô hình ưa thích, hoặc xếp hàng hoặc bất cứ thứ gì như thế. Tất cả những gì tôi cần là một chiếc đồng hồ tích hợp và khả năng thiết lập các sự kiện xảy ra, nâng cao cờ khi mọi thứ xảy ra, v.v., như tôi đã mô tả ở trên.

Phần mềm miễn phí và C++ sẽ tuyệt vời.

Bất kỳ ai có ý tưởng nào? (Gần nhất tôi đến - nhờ một số câu hỏi liên quan đến phần nào khác - được gọi là SIMLIB.)

Cảm ơn bạn rất nhiều!

+0

Nếu bạn đã triển khai lịch trình cho các tác vụ, bạn có thể cho phép các sự kiện hẹn giờ là một tác vụ khác không? – jxh

+0

+1 để cố gắng tránh tái chế bánh xe. Từ câu hỏi của bạn có vẻ như bạn muốn _some_ các tính năng bổ sung từ một công cụ DES (nếu không nó không có gì khác ngoài vòng lặp và danh sách sắp xếp các sự kiện, vì vậy việc sử dụng thư viện _any_ cụ thể có vẻ quá mức cần thiết), vì vậy bạn cần gì khác? Khả năng mở rộng (mô phỏng song song)? Hỗ trợ cho các bản phân phối ngẫu nhiên/RNG? Bạn có thích chế độ xem thế giới cụ thể hơn không (ví dụ: xem http://www.informs-sim.org/wsc10papers/019.pdf)? –

+0

Xin lỗi vì sự chậm trễ trong phản hồi! Các tác vụ lên lịch không được viết chung. Các sự kiện dựa trên bộ đếm thời gian sẽ yêu cầu phải có các tin nhắn chính và toàn bộ vấn đề là không phát minh lại bánh xe. – user770901

Trả lời

0

Bạn có thể thử Mở nền tảng ảo (OVP). Dường như cung cấp loại trình mô phỏng mà bạn đang tìm kiếm.

0

Hãy thử SystemC, đây là thư viện phần mềm miễn phí. Tôi cảnh báo rằng nó không phải là "nguồn mở" vì giấy phép không tương thích với FOSS.

+0

Vâng, không, cảm ơn. Tôi đã nhìn vào SystemC cho những thứ khác - cụ thể là thiết kế FPGA - và nó không thành công ở đó quá. Toàn bộ dự án có vẻ như/là một mớ hỗn độn. Tôi đánh giá cao thời gian bạn trả lời, nhưng tôi không quan tâm đến điều đó. Bất kể, nó cực kỳ quá mức cho những gì tôi muốn làm. Thiết lập những gì số tiền cho một mô tả hành vi của hệ thống của tôi không làm cho một địa ngục của rất nhiều ý nghĩa. – user770901

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