2009-09-04 22 views
10

Chúng ta có thể có một loạt các cá thể cho một mô-đun tùy chỉnh không?Chúng tôi có thể có một loạt các mô-đun tùy chỉnh không?

Ví dụ: chúng tôi có thể có input [15:0] a; - điều này tạo ra một xe buýt. Chúng tôi có thể làm điều tương tự cho các mô-đun tùy chỉnh, tức là DFF [15:0] d;, trong đó DFF là mô-đun tùy chỉnh không? Ở đây tôi có ý định tạo 16 thể hiện của mô-đun DFF.

Trả lời

8

không thể thực hiện việc này trực tiếp (cập nhật: bây giờ sau câu trả lời của mark4o tôi biết rằng có cách), nhưng những gì bạn có thể làm là sử dụng câu lệnh generate để tạo nhiều phiên bản mô-đun và móc tùy chỉnh của bạn chúng lên đến tín hiệu của bạn. Nên trông giống như sau:

wire DFF_i[15:0]; 
wire DFF_o[15:0]; 

generate 
    genvar i; 
    for (i=0; i<15; i=i+1) begin : dff 
    custom i_custom(
     .clk(clk) 
     ,.input(DFF_i[i]) 
     ,.output(DFF_o[i]) 
    ); 
    end 
endgenerate 

Nếu không, có thể có một số khả năng trong quá trình tổng hợp sử dụng mô-đun tùy chỉnh chính xác nhưng tôi không phải là chuyên gia ở đó.

Chúc mừng, Daniel

20

Verilog mảng các trường hợp được bổ sung trong Verilog-1995 (IEEE 1364-1995). Chúng có thể được sử dụng với các cổng, các nguyên thủy do người dùng định nghĩa và các mô-đun. Tạo ra, mạnh hơn nhưng cũng phức tạp hơn, được thêm vào trong Verilog-2001.

Dưới đây là một mảng ví dụ về trường hợp mô-đun:

DFF d[15:0] (clk, DFF_i, DFF_o); 

Đối với mỗi cổng kết nối, nếu kích thước khớp với các thông số chính thức sau đó nó được kết nối với mọi trường hợp. Nếu không, mỗi cá thể được kết nối với một phần chọn (hoặc chọn bit) của biểu thức.

+0

Xin chào Mark4o, tôi không biết điều này! Học một cái gì đó mới một lần nữa :) Chúc mừng, Daniel – danielpoe

+0

Các mô-đun này có được diễn đạt song song hay không? – eldos

+0

@eldos: Nếu kích thước của một kết nối cổng khớp với thông số chính thức thì nó được kết nối song song với mọi trường hợp. Sử dụng một vec-tơ, bạn có thể kết nối các cá thể theo thứ tự. – mark4o

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