Phương pháp nào bạn đề xuất cho việc tạo mẫu không đồng bộ mạch?


9

Tôi đã ngạc nhiên và ở một mức độ bị sốc khi thấy rằng không có công cụ được thiết lập phù hợp để thiết kế và tạo mẫu các mạch không đồng bộ.

Tôi tiếp tục tìm kiếm bằng cách sử dụng google và các phương tiện khác để tìm một phương pháp tốt để thiết kế các mạch không đồng bộ VLSI, nhưng cho đến nay các tìm kiếm đã không thể đưa ra câu trả lời.

Có một số công cụ bị bỏ rơi như Balsa, v.v. để tự động hóa các thiết kế VLSI, nhưng chúng hoàn toàn không có giấy tờ và khó sử dụng. Những gì tôi đang tìm kiếm là một cái gì đó giống như các GPU mà chúng ta có trong thế giới đồng bộ.

Dù sao, tôi đánh giá cao nó nếu bạn chia sẻ tên của một công cụ đáng tin cậy và phần cứng tạo mẫu giúp giảm bớt gánh nặng của thiết kế mạch không đồng bộ.


10
Bạn sẽ không tìm thấy nó (sản phẩm và công cụ thương mại), vì không có nhu cầu thị trường cho nó. Thiết kế không đồng bộ khó khăn hơn nhiều để có được quyền, đó là lý do tại sao nó hiệu quả hơn về mặt chi phí đối với một số chức năng nguyên thủy được xác định rõ (flip-flop, v.v.) và sau đó sử dụng các kỹ thuật đồng bộ cho tất cả các chức năng cấp cao hơn. Giúp chúng tôi bằng cách giải thích động lực của bạn cho điều này và những gì bạn hy vọng sẽ đạt được.
Dave Tweed

6
Bản chất của một dự án nghiên cứu là đi một cái gì đó mới, vì vậy thực tế là có những vệt đất bỏ hoang thay vì đường cao tốc giữa các tiểu bang chỉ là điều được mong đợi. Con trỏ duy nhất tôi có thể đề nghị là tìm giấy tờ của Teresa Meng. Tôi nhớ đã nhìn thấy một hoặc hai từ ISSCC 1990 khi nó được tổ chức tại Glasgow.
Brian Drumond

5
Tương tự, tôi đã học với Simon Moore ( cl.cam.ac.uk/~swm11/resume ), người đã có cả một nhóm làm việc về vấn đề này hơn một thập kỷ trước. Tôi cũng đã tham gia vào một công cụ thiết kế phần cứng không đồng bộ khởi động .. mà xoay quanh các công cụ thiết kế công suất thấp đồng bộ, do thiếu thị trường. Một lần nữa bạn nên tìm kiếm các bài báo từ anh ấy và nhóm nghiên cứu của anh ấy.
pjc50

4
(Ngoài ra, những người đang bỏ phiếu để đóng câu hỏi này vì không phải về thiết kế điện tử đơn giản là sai)
pjc50

2
Ngoài ra còn có NULL ước Logic với một thư viện nguyên thủy VHDL. Tên nguyên thủy chỉ ra một liên kết đến Theseus Research Inc . Có một câu hỏi về hệ số nhân NCL trên Stack Overflow rút về khoảng thời gian tôi sẽ làm một bài kiểm tra cho nó. (Ngày 13 tháng 5 năm 2015). Ý tưởng xuất hiện định kỳ để tránh phân tích sức mạnh trong mật mã (đã thấy một đề cập đến IACR tuần trước). Một cuốn sách THIẾT KẾ THIẾT KẾ HỆ THỐNG CLOCKLESS THIẾT BỊ GIAO DỊCH VỚI LOGIC CONVENTION LOGIC , Karl M. Fant.
dùng8352

Câu trả lời:


3

NCL logic Theseus đã được đề cập, cũng có các hệ thống Bắt tay (Philips spin off) cũng như Fulcrum microsystems và Caltech. Có một bộ xử lý ARM không đồng bộ được gọi là Amulet. Và SUN microsystems đã có một nhóm thiết kế bộ xử lý cho điều này cũng như cho một SPARC không có đồng hồ.

Tôi sẽ gọi những thiết kế không có đồng hồ này để tránh sự nhầm lẫn giữa thiết kế logic như bộ đếm gợn và các loại mạch này. Nhưng nói chung, một trong hai thuật ngữ được sử dụng.

DC (Design Compiler) từ Synopsys cũng như Merlin từ các hệ thống FTL cũng đã từng có sẵn.

Tuy nhiên, nếu bạn có một thư viện được thiết kế đúng các ô lõi, sự trừu tượng / mô tả mức cao nhất này có thể trở nên tầm thường. Vấn đề cốt lõi là nếu bạn đã thiết kế một hệ thống cho phép mỗi tế bào truyền tín hiệu chuyển tiếp "kết quả tốt" cũng như truyền ngược "hệ thống có sẵn" thì đồng hồ tự hệ thống và như vậy có thể được thiết kế đơn giản giống như phần mềm mà không cần quan tâm đến điều kiện cuộc đua hoặc thời gian cho vấn đề đó.

Vì vậy, các công cụ được sử dụng sẽ đơn giản như SPICE cho thiết kế cấp độ tế bào (cấp độ bóng bán dẫn) và C để biên dịch thành một tập hợp các nguyên thủy được đặt. Đối với cuộc sống của tôi, tôi không thể tìm thấy công cụ dựa trên C (nguồn mở) đã được sử dụng.

Hãy nhìn vào những người như Wesley Clark (Ông đã qua đời gần đây) cũng như Ivan Sutherland và Karl Fant (cũng được đề cập ở nơi khác).


@Ehsan: Nó chắc chắn là thú vị, nhưng tôi không thấy nó giải quyết câu hỏi như thế nào cả . Bố trí cấp độ ô dành cho thiết kế ASIC, không phải tạo mẫu.
Ben Voigt

@Ben: Tôi đồng ý và đó là lý do tại sao tôi không chấp nhận câu trả lời của anh ấy. Nhưng tôi có thể \ emp {mô phỏng} một số mạch không đồng bộ cơ bản bằng thư viện cấp độ ô trong MultiSim và LTSpice. NCL logic cũng có thư viện Verilog hộp cát mà người ta có thể tạo nguyên mẫu các mạch dựa trên NCL bằng cách sử dụng FPGA: github.com/karlfant/NCL_sandbox . Nhưng tôi chưa thử. Khi tôi nghiên cứu NCL, tôi nhận ra chi phí rất lớn của cách tiếp cận nên tôi đang cố gắng tránh nó, và đưa ra một cái gì đó thực tế hơn.
Ehsan

2

Nếu một thanh ghi được đồng hồ với đồng hồ hệ thống, nó sẽ được coi là đồng bộ. Nếu cùng một thanh ghi được ghi trực tiếp từ một cổng, mạch logic hoặc nói chung là bất cứ thứ gì ngoài đồng hồ hệ thống thì nó sẽ không đồng bộ. Các thanh ghi của Altera có thể được đồng hồ từ nhiều đồng hồ hệ thống, hoặc bằng logic. Bạn có thể xây dựng bất cứ loại mạch cổng nào bạn muốn. . . Đó là kinh nghiệm của tôi với hầu hết các loại ASIC hoặc FPGA mà mỗi lần nó được biên dịch, một cái gì đó được định tuyến khác nhau. Do đó độ trễ lan truyền luôn thay đổi.


2

Một FPGA là phần cứng đúng. Nhưng bạn sẽ không thể sử dụng phần mềm tổng hợp tập trung đồng bộ, vì nó biến đổi sai.

Ví dụ, một FPGA hoàn toàn có khả năng hình thành một bộ tạo dao động được xây dựng bằng chuỗi biến tần. Nhưng nếu bạn xác định chuỗi biến tần đó, ví dụ VHDL và sử dụng một trong các trình biên dịch tiêu chuẩn, "đẩy lùi cổng KHÔNG" sẽ loại bỏ các bộ biến tần theo cặp và chỉ để lại cho bạn một thiết bị và thiết bị sẽ không dao động.

Bạn có thể phải viết một số phần mềm tổng hợp của riêng bạn, điều này sẽ có thể nếu bạn có đủ thông tin về dòng bit. Tôi sẽ xem xét các nỗ lực nghiên cứu khác hoạt động trên dòng bit thay vì mô tả hành vi - những thứ như phát hiện trục trặc và phân tích độ tin cậy phụ thuộc nhiều vào ánh xạ được chọn bởi bộ tổng hợp. Có lẽ một số công việc trong lĩnh vực logic chống lỗi dự phòng đã thực hiện một số kỹ thuật ánh xạ tùy chỉnh, vì loại bỏ thuật ngữ sản phẩm phổ biến là một trong những biến đổi tiêu chuẩn được thực hiện bởi bộ tổng hợp truyền thống và phá hủy hoàn toàn thiết kế dự phòng.

Khi bạn kiểm soát việc sử dụng các nguyên hàm phần tử logic như bảng tra cứu và kết nối cục bộ và toàn cầu, bạn sẽ có thể sử dụng độ trễ vốn có để nhận ra thiết kế không đồng bộ của mình. Vấn đề tối ưu hóa của bạn khó khăn hơn nhiều so với việc phù hợp với mục tiêu đáp ứng thời gian thiết lập và giữ, nhưng đó là điều khiến nó nghiên cứu.


1

Tùy thuộc vào độ phức tạp của mạch của bạn .. Nếu thiết kế của bạn chủ yếu là kỹ thuật số, bạn có thể xem xét sử dụng hệ thống Quartus của Altera. Nhập thiết kế của bạn bằng các công cụ đồ họa và / hoặc VHDL bằng cách sử dụng các thanh ghi có xung nhịp không đồng bộ hoặc chỉ sử dụng các cổng logic. Thêm bộ đệm giả, cổng, chân tín hiệu, vv .. khi cần thiết để trì hoãn đường dẫn tín hiệu để phù hợp với bất cứ điều gì bạn cần. (giả sử thiết kế của bạn chậm hơn so với độ trễ cổng CPLD nhanh nhất của họ <5 ns)

Nhiều năm thiết kế với chip của họ, tôi không bao giờ tìm thấy kết quả giả lập sai lầm. Thiết kế nhỏ hơn có thể được thực hiện với các công cụ miễn phí của họ.


"Thanh ghi đồng hồ không đồng bộ"?! Tôi không chắc chắn nếu bạn có các khái niệm đúng. Không có thứ gọi là "các thanh ghi có đồng hồ không đồng bộ". Một mạch có đồng hồ (đồng bộ) hoặc không (không đồng bộ). Công cụ tôi đang tìm kiếm phải hỗ trợ cổng Muller nguyên thủy, đường ray kép, cổng 2NCL, v.v.
Ehsan
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.