phân chia trong VHDL .. hiển thị lỗi

S

srini.pes

Guest
Nhà điều hành phải có toán hạng không đổi hoặc toán hạng đầu tiên phải được sức mạnh của 2 cần tôi để chia một dữ liệu với 10 ..... nó hiển thị lỗi này .... làm thế nào tôi có thể khắc phục lỗi này xin vui lòng hướng dẫn tôi
 
Hi, thông thường không thể phân chia được tổng hợp. Vì vậy, bạn cần phải thực hiện một số thuật toán phân chia phần cứng. Nhưng tôi e bạn muốn thực hiện một phân chia bởi một ví dụ so sánh phân theo 10 bạn có thể làm một phép nhân với 1 / 10 Bạn chỉ phải sử dụng đúng con số của các bit. Tôi nghĩ bạn có thể làm điều đó như thế này ví dụ như đầu vào của bạn là 16 bit (tối đa là 2 ^ 16-1 = 65535), nếu bạn nhân với (2 ^ 16) / 10 = 6554. một * nhân 16bit 16bit 32bit cho kết quả Sau khi các nhân bạn thay đổi bằng 16 ở bên phải. Trả kết quả của bạn lại là 16 bit liên quan
 
Tôn trọng qieda ............. Cám ơn bạn rất nhiều cho ứng phó với chủ đề của tôi ........ Trên thực tế đây là vấn đề của tôi tôi đã thực hiện thuật toán phân chia không phục hồi cho 32 bit ... rõ ràng là nó sẽ mất 32 chu kỳ để hoàn thành các hoạt động bây giờ vấn đề là, trong một giai đoạn trung gian tôi có bộ phận hoạt động này ..... theo tình hình này đã lặp đi lặp lại trong hơn 4 lần .... nếu tôi sử dụng thuật toán này chặn ở đây dùng của nó (32 * 4) hơn 128 (tối thiểu) chu kỳ ... Nó sẽ cho sự chậm trễ lớn .... vì vậy, tôi cần phải chia đồng hồ của tôi vào 32 đồng hồ (gọi là clk2 )........... giống như trong một cái đồng hồ (chính) phân chia đã được hoàn thành ................ tùy chọn khác đang hoạt động với clk2 ............. nếu như vậy, chùng đang gia tăng xin vui lòng hướng dẫn tôi một số điều để có một thiết kế tốt ......... Cám ơn bạn
 
Tôn trọng qieda ............. Cám ơn bạn rất nhiều cho ứng phó với chủ đề của tôi ........ Trên thực tế đây là vấn đề của tôi tôi đã thực hiện thuật toán phân chia không phục hồi cho 32 bit ... rõ ràng là nó sẽ mất 32 chu kỳ để hoàn thành các hoạt động bây giờ vấn đề là, trong một giai đoạn trung gian tôi có bộ phận hoạt động này ..... theo tình hình này đã lặp đi lặp lại trong hơn 4 lần .... nếu tôi sử dụng thuật toán này chặn ở đây dùng của nó (32 * 4) hơn 128 (tối thiểu) chu kỳ ... Nó sẽ cho sự chậm trễ lớn .... vì vậy, tôi cần phải chia đồng hồ của tôi vào 32 đồng hồ (gọi là clk2 )........... giống như trong một cái đồng hồ (chính) phân chia đã được hoàn thành ................ tùy chọn khác đang hoạt động với clk2 ............. nếu như vậy, chùng đang gia tăng xin vui lòng hướng dẫn tôi một số điều để có một thiết kế tốt ......... Cám ơn bạn
 
Hi, nếu bạn muốn phân chia thời gian đồng hồ của bạn 32, bạn cần phải nhân tần số của bạn bằng 32. Để làm điều này bạn sẽ cần một PLL. Có lẽ bạn có thể sửa đổi hệ thống của bạn mà bạn cung cấp các tần số cao và làm một bộ chia đồng hồ để có được tần số chính của bạn. Điều này có thể được thực hiện với thiết kế kỹ thuật số thuần túy. Nhưng thiết kế của bạn cần phải làm việc với tần số cao mà là 32 lần so với tần số chính của bạn. Tôi nghĩ rằng nếu điều này là không khả thi, bạn phải tìm một thuật toán phân chia khác nhau. bạn có thể tìm kiếm các diễn đàn ví dụ: http://www.edaboard.com/thread116890.html http://www.edaboard.com/thread200720.html http : / / www.edaboard.com/thread194878.html http://www.edaboard.com/thread184079.html http://www.edaboard.com/thread53741 html . ...
 

Welcome to EDABoard.com

Sponsor

Back
Top