- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
for example:
"56783"seconds turn into the format of "h:m:s" is "15:46:23". I used the method of comparasion,i.e.confirm the hours first, 15*3600 < 56783 < 16*3600,so I confim the hour is 15. Then,comfirm the minutes is 46... But the question is that the "<" or ">" is rather delayed,a long path generated. So ,I want to ask a advice:can I find another way to realize the function ,not using the "<" and ">"? Thank U !링크가 복사됨
7 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
In vhdl, you can run multiple counters on the 1 sec clock edge:
if(Seconds /= 59) then
Seconds <= Seconds + 1;
else
Seconds <= (others => '0');
if(Minutes /= 59) then
Minutes <= Minutes + 1;
else
Minutes <= (others => '0');
if(Hours /=23) then
Hours <= Hours + 1;
else
Hours <= (others => '0');
end if;
end if;
end if;
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
We don't expect to use the "/=" ,it causes delay.
when the value of seconds is big,it may need several clocks.- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
It is a comparator either way (= checks all bits, /= checks all bits). Any difference in implementation or length of paths is target/tool dependant
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
--- Quote Start --- We don't expect to use the "/=" ,it causes delay. when the value of seconds is big,it may need several clocks. --- Quote End --- There is no big value for seconds. Its counter goes 0 ~ 59. You count on clock edge every 1sec time.
