Case-khi tuyên bố-VHDL

O

oursriharsha

Guest
khi sử dụng các báo cáo cho các trường hợp, nó sẽ hiển thị khi những người khác là điều kiện không được tổng hợp.

là có bất kỳ thay thế cho việc này.

<code>
f (STROB1 = "01") sau đóADC_DATAMOS_TEMP <= ADC_DATAMOS;

khác
ADC_DATAMOS_TEMP <= "ZZZZZZZZ";
nếu kết thúc;quá trình (CLK_MOS, RST_MOS, ADC_DATAMOS, STROB1, RW_MOS)

bắt đầu

nếu (RST_MOS = '0 ') sau đó
ADC_DATAMOS_TEMP <= "00000000";elsif (RST_DAQ = '1 ') sau đó

ADDR_MOS trường hợp là
khi "00.001" => MOS_REG (0) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (1) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (2) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (3) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (4) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (5) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (6) <= ADC_DATAMOS;
khi "00.001" => MOS_REG (7) <= ADC_DATAMOS;
khi những người khác => MOS_REG (

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Mát mẻ" border="0" />

<= ADC_DATAMOS; - dummy đăng ký ..
- Dunno WHAT TO DO IN - - những người khác NÀY PLEASE HELP

kết thúc vụ án;
nếu kết thúc;
kết thúc quá trình;

</ code>trong trường hợp trên, tôi có một tập các sổ đăng ký để có một dữ liệu đến dòng là được viết dựa trên địa chỉ mà chúng tôi nhận được.
Shuld những gì được viết khi những người khác trường hợp ./???

hãy giúp đỡ /

 
Thanks a ton cho trả lời nhanh chóng,
i đã có thể loại bỏ các lỗi tổng hợp giới thiệu một tuyên bố null trong trường hợp những người khác.nhưng,
vấn đề là với các cảnh báo:

Chốt tạo ra từ quá trình cho DAQ_REG_6 tín hiệu (7 downto 0), có thể do một giao mất tích trong một hoặc stmt nếu trường hợp.

Câu hỏi của tôi với bạn, là những người khác stament này synthesizable ..?

Nếu nó là null như thế nào là nó tổng hợp.

như im để nhắm mục tiêu như nhau để fpga cũng.

 
OK tôi đã không nhận ra, tuyên bố rằng các trường hợp không phải là một đồng hồ được đặt trong tình trạng nhạy cảm.

Trong báo cáo trường hợp, bạn chỉ định một chút MOS_REG và để người khác không thay đổi.Điều này tạo ra một chốt anyway, vấn đề là không liên quan đến sự tồn tại của một tuyên bố những người khác.It's pháp mã, nhưng nhiều khả năng, nó không hoạt động như mong đợi.Đối với hoạt động đáng tin cậy, một điều kiện đồng hồ nhạy cảm nên kiểm soát việc phân công, sau đó là đăng ký chứ không phải là một chốt có thể được tổng hợp.

 
Trích:

Đối với hoạt động đáng tin cậy, một điều kiện đồng hồ nhạy cảm nên kiểm soát việc phân công, sau đó là đăng ký chứ không phải là một chốt có thể được tổng hợp.
 
Bạn cũng có thể sử dụng:

Khi những người khác =>
MOS_REG <= MOS_REG;

Điều này sẽ giúp tổng hợp, nhưng bạn vẫn sẽ nhận được chốt.Và kết quả đầu ra của họ là rất có thể sẽ trả lại xung quanh.

Tôi hoàn toàn đồng ý với FvM: Sử dụng một đồng hồ.

 
Hãy nhớ rằng VHDL là một ngôn ngữ mô tả phần cứng, không phải là một ngôn ngữ lập trình thủ tục.
Kiểm tra các phần cứng được tạo ra từ mã của bạn và nếu nó có thể cho dữ liệu ổn định đầu ra.Trong hiện tại
trường hợp, nó có thể không.

 
Attention Plese: FVM / khác

nếu tôi đặt các báo cáo này trong một điều kiện đồng hồ nhạy cảm, tôi có thể đảm bảo rằng nó có thể tạo ra whch phần cứng được ổn định.?

Tôi m synplify hiện đang sử dụng, do đó tôi không thể thấy phần cứng nào đó, tổng hợp.
u có thể xin vui lòng cho tôi biết là có anyother công cụ mà qua đó tôi cũng có thể xem các phần cứng tổng hợp.
(cài đặt PRecison RTL, awiating Giấy phép.)

 
Nếu bạn sử dụng một quá trình tốc độ, và sản lượng của quá trình này là đầu vào đến một quá trình tốc độ, nó sẽ được ổn định (hoặc những công cụ này sẽ cho bạn biết nếu có một lỗi thời gian).

 

Welcome to EDABoard.com

Sponsor

Back
Top