CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

วงจรนับแบบกำหนดค่าการนับ

มีปัญหาจะปรึกษาพี่ๆนะค่ะ คือว่าต้องการเขียนโปรแกรมให้นับแค่ 95 แล้วกลับมานับ 0 ใหม่ค่ะ Complier ก็ผ่านค่ะ ไม่มี error หรือ warnning พอเอาไป simulator ปรากฎว่าผลลัพธ์ที่ได้ Counter นับแบบแปลกๆนะค่ะ ไม่ได้ตามที่ต้องการ โปรแกรมก็คิดว่าไม่ผิดแล้ว แก้ยังไงก็ยังนับสแป็ะ สปะแก้ไขมาหลายวันแล้วค่ะ ไม่รู้จะทำยังไงดี รบกวนพี่ๆช่วยหนูด้วยละกันนะคะ

library ieee;
use ieee.std_logic_1164.all;
entity sync_count is
port(clk_i : in std_logic;
q : out integer range 0 to 127
);
end sync_count;
architecture RTL of sync_count is
begin
process(clk_i)
variable count : integer range 0 to 127 ;
begin
if (clk_i'EVENT) and (clk_i ='1') then
if count < 95 then
count := count + 1;
else
count := 0 ;
end if;
q <= count;
end if;
end process;
end RTL;

ขอบคุณค่ะ

จากคุณ : นุช ตั้งกระทู้นี้เมื่อ 17:37 [14/01/2002]

ความคิดเห็นที่1

คิดว่าตามนี้น่าจะใช้ได้
Library ieee;
use
ieee.std_logic_1164.all;

Entity def_count is
port(
clk :in std_logic;
q :out integer range 0 to 100); /> end def_count;
architecture rtl of def_count is
begin /> process(clk)
variable cnt: integer range 0 to
100;
begin
if clk'event and clk = '1' then

if cnt = 95 then
cnt := 0;
else
cnt
:= cnt + 1;
end if;
q <= cnt;
end
if;
end process;
end rtl;

จากคุณ : k 23:12 [14/01/2002]

ความคิดเห็นที่2

ยังไม่ได้อยู่ดีค่ะ Complier ผ่านแต่ Sim มาแล้ว ยัง Counter แบบมั่วๆอยู่นะค่ะ

จากคุณ : นุช 14:01 [15/01/2002]

ความคิดเห็นที่3

ไม่ทราบว่าใช้ Tool ตัวไหนในการ Sim ครับ และที่ว่า count แล้วมั่วๆเป็นยังไงครับ เพราะผมลอง Sim ตาม code ทั้ง 2 ส่วนแล้วก็ใช้ได้ปกติและก็ลอง download ลง board ALTERA ก็ใช้ได้ดีคุณลองตรวจสอบข้อกำหนดและการSetup ของตัว Tool ที่ใช้ดูว่าถูกต้องหรือไม่

จากคุณ : k 16:31 [15/01/2002]

ความคิดเห็นที่4

ลองตรวจสอบค่า Time ของรูปคลื่น Input ที่ป้อนให้กับระบบของคุณดูนะครับ ผมคิดว่าถ้าความถี่ที่เข้ามามีค่า Time น้อยกว่าค่า Delay Time ของชิฟหรือของระบบที่ออกแบบมา การทำงานของวงจรอาจจะผิดพลาดก็ได้นะครับ ลองตรวจสอบดูดีๆนะครับ

จากคุณ : support@astronlogic.com 19:30 [15/01/2002]

ความคิดเห็นที่5

ตอนนี้ทำได้แล้วค่ะ กำหนดเงื่อนไขผิดนิดหน่อย ขอบคุณ คุณ K และพี่ๆทีมงานASTRON LOGIC มากค่ะ

จากคุณ : นุช 00:48 [18/01/2002]
ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป