ID bài viết: 000084426 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 11/09/2012

Tại sao tổng hợp Quartus II xử lý không chính xác các bit được chọn từ các biến có chữ ký?

Môi Trường

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Mô tả

Phần mềm Quartus® II phiên bản 6.0 và 6.0 SP1 xử lý không chính xác các lựa chọn bit từ các biến đã ký do sự cố phần mềm đã biết. Mã Verilog liên quan đến các bit select từ các biến đã ký phải trả về các giá trị không được ký như được chỉ định trong Verilog LRM (Std 1364-2001 Phiên bản C, Giây 4.5.1).

Sự cố này không tồn tại trong các phiên bản 5.1 trở lên. Sự cố đã được khắc phục bắt đầu với phần mềm Quartus II phiên bản 6.1.

Như một ví dụ về vấn đề này, phần mềm Quartus II phiên bản 6.0 xử lý không chính xác mẫu mã sau:

reg [7:0] unrounded;

reg [6:0] rounded;

always @ (posedge clk) begin

 rounded 

Phần mềm không nên mở rộng tín hiệu không thay đổi[0] để đảm bảo rằng giá trị một bit được thêm vào bit slice của unrounded[7:1].

Phần mềm Quartus II phiên bản 6.0 và 6.0 SP1 mở unrounded[0] rộng tín hiệu thay vì không mở rộng tín hiệu. Trong ví dụ, unrounded[0] nếu tín hiệu là 1 giá trị, phần mềm sẽ diễn giải 1 là dấu hiệu của số, và do đó chuyển đổi nó thành biểu thị có chữ ký 7 bit là -1 thay vì một giá trị chưa được ký. Do đó, phần mềm bổ sung -1 unrounded[7:1]vào , thay vì thêm 1.

Để tránh vấn đề này (trong các phiên bản 6.0 hoặc 6.0 SP1), hãy thực hiện một trong các thao tác sau:

  • Liên hệ với mySupport để yêu cầu bản vá 1.20 cho phần mềm Quartus II phiên bản 6.0 SP1.
  • Đặt dấu ngoặc đơn xung quanh một trong các biến và buộc toàn bộ biểu thức được đánh giá là chưa được ký hiệu bằng cách sử dụng hàm Verilog-2001:
rounded 
  • Đệm thủ công các số không hàng đầu như sau (ví dụ: ghi rõ ràng các bit hàng đầu là 0):
  • rounded 
    

     

Các sản phẩm liên quan

Bài viết này áp dụng cho 1 sản phẩm

FPGA Stratix® II

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.