H
hlmwps
Guest
هو كيان FreqMeter
الميناء (إعادة : في std_logic ؛
م : في std_logic ؛
bclk : في std_logic ؛
gclk : في std_logic ؛
بدء : في std_logic ؛
ارقام اخرى : صحيح في نطاق 10 إلى 1000 ؛
أكثر من : من std_logic ؛
databus : خارج std_logic_vector (47 downto 0)
(؛)
نهاية FreqMeter ؛
العمارة السلوكية هو من FreqMeter
إشارة bz_count : صحيح ؛
إشارة gc_count : مجموعة صحيحا 0 إلى 1000 ؛
إشارة bz_ena ، المدرسة الوطنية للإدارة : std_logic ؛
إشارة clr : std_logic ؛
إشارة tmp_start ، tmp_over : std_logic ؛
إشارة resetn ، resetd : std_logic ؛
يبدأ
databus <= conv_std_logic_vector (bz_count ، 4
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="هادئ" border="0" />
؛
عملية (م ، وبدء) يبدأ
إذا م = '0' وبدء = '0' ثم
resetn <= '0' ؛
elsif م = '0' وrising_edge (بداية) ثم
resetn <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛
عملية (bclk)
يبدأ
إذا rising_edge (bclk) ثم
resetd <= resetn ؛
إذا كانت الغاية ؛
عملية الغاية ؛
clr <= resetn و(لا resetd) ؛
أكثر من <= tmp_over ؛
عملية (إعادة تعيين ، clr ، اضافة)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
tmp_start <= '0' ؛
falling_edge elsif (بداية) ثم
tmp_start <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛
عملية (إعادة تعيين ، clr ، tmp_over ، الاثيوبية ، tmp_start)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' أو (tmp_over = '1' والاثيوبية = '0') ثم
bz_ena <= '0' ؛
elsif rising_edge (tmp_start) ثم
bz_ena <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛bzcounter : عملية (إعادة تعيين ، bclk ، clr ، bz_ena ، المدرسة الوطنية للإدارة)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
bz_count <= 0 ؛
rising_edge elsif (bclk) ثم
إذا bz_ena = '1' والاثيوبية = '1' ثم
bz_count <= bz_count 1 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
gccounter : عملية (إعادة تعيين ، gclk ، clr ، bz_ena)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
gc_count <= 0 ؛
tmp_over <= '0' ؛
الاثيوبية <= '0' ؛
falling_edge elsif (gclk) ثم
إذا bz_ena = '1' ثم
gc_count <= gc_count 1 ؛
إذا gc_count = ارقام ثم
الاثيوبية <= '0' ؛
gc_count <= ارقام - 1 ؛
tmp_over <= '1' ؛
أيضا
الاثيوبية <= '1' ؛
tmp_over <= '0' ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
نهاية السلوكية ؛وأضاف بعد 5 دقائق :أعلاه هو مثال في إتش دي إل حول مكافحة تردد!
أنا مع أنها محاكاة Modelsim 6.0!انها يمكن ان تعمل بشكل جيد للغاية وظيفة أمر جيد!
ولكن عندما كنت تنزيل قبل ان تتحول الى Xinlix CPLD XC95144XL ، وظيفتها لا نحسن صنعا!
الرجاء مساعدتي لمعرفة اين هو الخطأ!
الميناء (إعادة : في std_logic ؛
م : في std_logic ؛
bclk : في std_logic ؛
gclk : في std_logic ؛
بدء : في std_logic ؛
ارقام اخرى : صحيح في نطاق 10 إلى 1000 ؛
أكثر من : من std_logic ؛
databus : خارج std_logic_vector (47 downto 0)
(؛)
نهاية FreqMeter ؛
العمارة السلوكية هو من FreqMeter
إشارة bz_count : صحيح ؛
إشارة gc_count : مجموعة صحيحا 0 إلى 1000 ؛
إشارة bz_ena ، المدرسة الوطنية للإدارة : std_logic ؛
إشارة clr : std_logic ؛
إشارة tmp_start ، tmp_over : std_logic ؛
إشارة resetn ، resetd : std_logic ؛
يبدأ
databus <= conv_std_logic_vector (bz_count ، 4
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="هادئ" border="0" />
؛
عملية (م ، وبدء) يبدأ
إذا م = '0' وبدء = '0' ثم
resetn <= '0' ؛
elsif م = '0' وrising_edge (بداية) ثم
resetn <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛
عملية (bclk)
يبدأ
إذا rising_edge (bclk) ثم
resetd <= resetn ؛
إذا كانت الغاية ؛
عملية الغاية ؛
clr <= resetn و(لا resetd) ؛
أكثر من <= tmp_over ؛
عملية (إعادة تعيين ، clr ، اضافة)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
tmp_start <= '0' ؛
falling_edge elsif (بداية) ثم
tmp_start <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛
عملية (إعادة تعيين ، clr ، tmp_over ، الاثيوبية ، tmp_start)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' أو (tmp_over = '1' والاثيوبية = '0') ثم
bz_ena <= '0' ؛
elsif rising_edge (tmp_start) ثم
bz_ena <= '1' ؛
إذا كانت الغاية ؛
عملية الغاية ؛bzcounter : عملية (إعادة تعيين ، bclk ، clr ، bz_ena ، المدرسة الوطنية للإدارة)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
bz_count <= 0 ؛
rising_edge elsif (bclk) ثم
إذا bz_ena = '1' والاثيوبية = '1' ثم
bz_count <= bz_count 1 ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
gccounter : عملية (إعادة تعيين ، gclk ، clr ، bz_ena)
يبدأ
إذا إعادة تعيين = '0' أو clr = '1' ثم
gc_count <= 0 ؛
tmp_over <= '0' ؛
الاثيوبية <= '0' ؛
falling_edge elsif (gclk) ثم
إذا bz_ena = '1' ثم
gc_count <= gc_count 1 ؛
إذا gc_count = ارقام ثم
الاثيوبية <= '0' ؛
gc_count <= ارقام - 1 ؛
tmp_over <= '1' ؛
أيضا
الاثيوبية <= '1' ؛
tmp_over <= '0' ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
إذا كانت الغاية ؛
عملية الغاية ؛
نهاية السلوكية ؛وأضاف بعد 5 دقائق :أعلاه هو مثال في إتش دي إل حول مكافحة تردد!
أنا مع أنها محاكاة Modelsim 6.0!انها يمكن ان تعمل بشكل جيد للغاية وظيفة أمر جيد!
ولكن عندما كنت تنزيل قبل ان تتحول الى Xinlix CPLD XC95144XL ، وظيفتها لا نحسن صنعا!
الرجاء مساعدتي لمعرفة اين هو الخطأ!