Tôi đang cố gắng hiểu đầy đủ sự khác biệt giữa mức độ trừu tượng của Verilog, tôi nhận được mô tả của từng cấp nói nhưng tôi vẫn không thể có được nó khi chơi.Sự khác biệt giữa hành vi, RTL và cấp cổng
Đối với trường hợp này, tôi sẽ dán một số mã Verilog và những gì tôi nghĩ về họ:
Các mã sau đây là trong hành vi Level.
always @ (a or b or sel) begin y = 0; if (sel == 0) begin y = a; end else begin y = b; end end
này (chỉ là ví dụ) là ở Cổng Cấp
module test(clk, ready, next, Q); input clk, enable, next; output Q; \**SEQGEN** reg_1 (.clear(1'b0), .next_state(next), .clocked_on(clk), .Q(Q), .synch_enable(enable)); endmodule
Tôi không biết nếu mã này là trong RTL hoặc Cổng Cấp (Tôi hy vọng rằng luôn từ khóa làm RTL này và không Cổng Cấp)
module dff_from_nand(); wire Q,Q_BAR; reg D,CLK; nand U1 (X,D,CLK) ; nand U2 (Y,X,CLK) ; nand U3 (Q,Q_BAR,X); nand U4 (Q_BAR,Q,Y); // Testbench of above code initial begin $monitor("CLK = %b D = %b Q = %b Q_BAR = %b",CLK, D, Q, Q_BAR); CLK = 0; D = 0; #3 D = 1; #3 D = 0; #3 $finish; end always #2 CLK = ~CLK; endmodule
tôi đã biết rằng initial begin
và end
không được tổng hợp và chỉ được sử dụng để thử nghiệm. Bây giờ tôi có 2 câu hỏi
Mã thứ ba (và thứ hai) là RTL hoặc Cổng-Leve? Điều gì sẽ là một ví dụ mã RTL tốt? Tôi tìm thấy điều này RTL Code Example nhưng thực sự là RTL? Đối với tôi, nó trông giống như mức độ hành vi.
Điều gì có nghĩa là danh sách mạng Verilog? Nó giống như cấp cổng hay nó có định nghĩa cơ sở ngữ cảnh?
Tôi đang bối rối bởi vì trong một số trang web Tôi không biết nếu họ đang nói 'đây là một mã Verilog đó là sử dụng cổng logic' hoặc 'này là một mã Verilog trong cửa cấp'
tôi sẽ rất hạnh phúc nếu ai đó muốn giải thích chi tiết hơn về chủ đề này :)
soo, từ các ví dụ tôi thấy, 2 mã sẽ là cổng cấp? – lcjury
Đó là một chút của một khu vực mơ hồ mà không có bối cảnh đầy đủ của thiết kế. Với chỉ là: tôi gọi nó là cấu trúc; thường không chỉ có một cá thể mô-đun. Do tên mô-đun 'test' được ngụ ý đây là một bộ khai thác thử nghiệm mà rơi nhiều hơn trong định nghĩa hành vi. – Greg