Tôi có một bảng, trong đó mỗi hàng của bảng chứa trạng thái (thanh ghi). Có logic chọn một hàng cụ thể. Chỉ một hàng nhận tín hiệu "đã chọn". Trạng thái từ hàng đã chọn sau đó được truy cập. Một phần của trạng thái được kết nối như là một đầu ra cho IO của mô-đun, nếu không một phần của IO được sử dụng làm đầu vào để cập nhật trạng thái.Đục: làm thế nào để thực hiện một mux nóng một cách hiệu quả?
Nếu tôi thực hiện điều này bằng mạch điện, tôi sẽ sử dụng cổng thông tin. Tín hiệu được chọn sẽ bật một bộ cổng truyền, sẽ kết nối các thanh ghi của hàng với một bus. Bus sau đó sẽ được kết nối với gói IO. Đây là khu vực nhanh, nhỏ và năng lượng thấp.
Có một cách tiến thẳng để thực hiện điều này ở Chisel. Nó mã hóa hàng đã chọn dưới dạng số nhị phân và sau đó áp dụng số đó cho đầu vào được chọn của một mux truyền thống. Thật không may, đối với một bảng với 20 đến 50 hàng, và trạng thái của hàng trăm bit, việc thực hiện này có thể khá chậm, và lãng phí trong khu vực và năng lượng.
Câu hỏi có hai phần: 1) Có cách nào để chỉ định xe buýt ở Chisel, sao cho bạn có cổng vượt hoặc trình điều khiển tri-trạng thái truyền thống bị treo trên xe buýt?
2) Không, có một khu vực nhỏ, nhanh, năng lượng thấp để làm điều này ở Chisel không?
Cảm ơn
Cảm ơn bạn đã liên kết. Điều này thực sự mang lại một điểm liên tục và quan trọng đối với chúng tôi. Chúng tôi không phải là những người lập trình phức tạp. Nhưng những người thực hiện Rocket và các nhà phát triển Chisel là. Mức độ tinh tế trong thực hành mã hóa phần mềm vượt xa các kỹ năng của chúng tôi. Việc học tập cần thiết để hiểu việc thực hiện Mux1H là không tầm thường. – seanhalle
Khả năng bất khả xâm phạm của mã Chisel là một trở ngại dai dẳng. Một mặt, Chisel cơ sở hiệu quả hơn, đến nay, hơn Verilog. Mất khoảng một tháng đến hai tháng để có thể cung cấp công việc có thể sử dụng ở Chisel. Khoảng 60% số người mà chúng tôi đã thuê, đã bỏ thuốc lá vì họ không thể đến được điểm đó. Nhưng mức độ đại diện bởi Mux1H, và ngày càng tăng bởi mã Rocket, tôi ước tính có lẽ 6 mos đến một năm để có được thoải mái với loại thực hành mã hóa. Đó là một vấn đề thực sự, đối với chúng tôi, khi tạo ra một sản phẩm thương mại, sử dụng các nhà phát triển Verilog bình thường. – seanhalle
Nhận được nội dung của câu trả lời .. Cảm ơn lời khuyên về Analog. Ở điểm 1), tôi không rõ về việc đề cập đến Hộp Đen Verilog. Và tôi không rõ ràng về hai chiều. Xe buýt thực sự là một chiều. Nó chỉ có nhiều nguồn mà tất cả có thể lái cùng một dây. Ví dụ, trình điều khiển ba trạng thái là một hướng. Ngoài ra, logic đặt giá trị lên xe buýt và nhận từ xe buýt đều là Chisel. Không có hộp đen Verilog có liên quan .. – seanhalle