Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - xilinx webpack

 
Thread Tools Search this Thread
Old 08-17-2004, 10:34 PM   #1
Default xilinx webpack


hi

i have the following problem:
i have written some code and part of it is:

RAM_CONTROL_COMB: process(Sensor_Data_Ready, RAM_BHE, RAM_BLE, Sensor_Data)
begin

RAM_Data <= "ZZZZZZZZZZZZZZZZ";
s_RAM_Address_Count_Sensor <= '0';

if Sensor_Data_Ready'event and Sensor_Data_Ready = '1' then
if RAM_BHE = '0' then
RAM_Data(15 downto <= Sensor_Data;
elsif RAM_BLE = '0' then
RAM_Data(7 downto 0) <= Sensor_Data;
end if;
end if;

if RAM_BLE'event and RAM_BLE = '1' then
s_RAM_Address_Count_Sensor <= '1';
end if;
end process RAM_CONTROL_COMB;

i get the following error message:

RROR:Xst:827 - D:/CodeGeeks/Elektronik/VHDL/FingerTip/FgTp.vhdl line
191: Signal RAM_Data<7> cannot be synthesized, bad synchronous
description.

line 191 is the declaration of the process. the simulation works. i can get
rid of the error if i put the two lines
RAM_Data <= "ZZZZZZZZZZZZZZZZ";
s_RAM_Address_Count_Sensor <= '0';
at the verry end of the process.
why does this make a difference. after that the simulation doesnt work
anymore.

thanks for any help
urban




Urban Stadler
  Reply With Quote
Old 08-18-2004, 06:14 AM   #2
Urban Stadler
 
Posts: n/a
Default Re: xilinx webpack
well i have a ram module that has 2 different write enable ports. one for
the high byte an one for the low byte.



"Antti Lukats" <> schrieb im Newsbeitrag
news:cfv04u$70v$04$...
>
> "Urban Stadler" <> wrote in message
> news:dMCUc.112408$sh.96444@fed1read06...
> > hi
> >
> > i have the following problem:
> > i have written some code and part of it is:
> >
> > RAM_CONTROL_COMB: process(Sensor_Data_Ready, RAM_BHE, RAM_BLE,

> Sensor_Data)
> > begin
> >
> > RAM_Data <= "ZZZZZZZZZZZZZZZZ";
> > s_RAM_Address_Count_Sensor <= '0';
> >
> > if Sensor_Data_Ready'event and Sensor_Data_Ready = '1' then
> > if RAM_BHE = '0' then
> > RAM_Data(15 downto <= Sensor_Data;
> > elsif RAM_BLE = '0' then
> > RAM_Data(7 downto 0) <= Sensor_Data;
> > end if;
> > end if;

>
> the above assumes you have RAM module from 2 block rams, each 8 bit wide

and
> with separate wr enable ports. I would say the code as is would not
> synthesise in most cases.
>
> rethink your logic!
>
> antti
> xilinx.openchip.org
>
>





Urban Stadler
  Reply With Quote
Old 08-18-2004, 05:26 PM   #3
Antti Lukats
 
Posts: n/a
Default Re: xilinx webpack

"Urban Stadler" <> wrote in message
news:dMCUc.112408$sh.96444@fed1read06...
> hi
>
> i have the following problem:
> i have written some code and part of it is:
>
> RAM_CONTROL_COMB: process(Sensor_Data_Ready, RAM_BHE, RAM_BLE,

Sensor_Data)
> begin
>
> RAM_Data <= "ZZZZZZZZZZZZZZZZ";
> s_RAM_Address_Count_Sensor <= '0';
>
> if Sensor_Data_Ready'event and Sensor_Data_Ready = '1' then
> if RAM_BHE = '0' then
> RAM_Data(15 downto <= Sensor_Data;
> elsif RAM_BLE = '0' then
> RAM_Data(7 downto 0) <= Sensor_Data;
> end if;
> end if;


the above assumes you have RAM module from 2 block rams, each 8 bit wide and
with separate wr enable ports. I would say the code as is would not
synthesise in most cases.

rethink your logic!

antti
xilinx.openchip.org




Antti Lukats
  Reply With Quote
Old 08-18-2004, 07:20 PM   #4
Ralf Hildebrandt
 
Posts: n/a
Default Re: xilinx webpack
Urban Stadler wrote:


> RAM_CONTROL_COMB: process(Sensor_Data_Ready, RAM_BHE, RAM_BLE, Sensor_Data)
> begin
>
> RAM_Data <= "ZZZZZZZZZZZZZZZZ";
> s_RAM_Address_Count_Sensor <= '0';
>
> if Sensor_Data_Ready'event and Sensor_Data_Ready = '1' then
> if RAM_BHE = '0' then
> RAM_Data(15 downto <= Sensor_Data;
> elsif RAM_BLE = '0' then
> RAM_Data(7 downto 0) <= Sensor_Data;
> end if;
> end if;
>
> if RAM_BLE'event and RAM_BLE = '1' then
> s_RAM_Address_Count_Sensor <= '1';
> end if;
> end process RAM_CONTROL_COMB;
>
> i get the following error message:
>
> RROR:Xst:827 - D:/CodeGeeks/Elektronik/VHDL/FingerTip/FgTp.vhdl line
> 191: Signal RAM_Data<7> cannot be synthesized, bad synchronous
> description.


Think like the simulator: Everytime Sensor_Data_Ready, RAM_BHE, RAM_BLE
or Sensor_Data changes, this process is triggered and then

RAM_Data <= "ZZZZZZZZZZZZZZZZ";
s_RAM_Address_Count_Sensor <= '0';

are set. (And only during a rising_edge of Sensor_Data_Ready something
different is assigned.)
What do you think this could be in Hardware? I have no idea and your
synthesis tool, too.

Use a synchronous FF with async reset:

process(asyc_reset,clock)
begin
if (asyc_reset='1') then
-- do some reset
elsif rising_edge(clock) then
-- do what you want
end if;
end process;


Furthermore you use _two_ "edge detectors" within one process, which
leads to the synthesis tool error. Only a few synthesis tools support
dual-edge-fliflops, so in most cases this is forbidden.
But your problem is very easy to solve, because in the 1st
edge-triggered block RAM_Data is written to and in the 2nd
s_RAM_Address_Count_Sensor is written to. -> Just split this process
into two processes. The synthesis tool is not smart enough to detect,
that in you case this is not a dual-edge-FF. It does simply synthax
checking.

Ralf


Ralf Hildebrandt
  Reply With Quote
Old 08-18-2004, 09:44 PM   #5
Brian Drummond
 
Posts: n/a
Default Re: xilinx webpack
On Tue, 17 Aug 2004 23:34:37 +0200, "Urban Stadler"
<> wrote:

>hi
>
>i have the following problem:
>i have written some code and part of it is:
>
>RAM_CONTROL_COMB: process(Sensor_Data_Ready, RAM_BHE, RAM_BLE, Sensor_Data)


> if Sensor_Data_Ready'event and Sensor_Data_Ready = '1' then


> if RAM_BLE'event and RAM_BLE = '1' then


This process appears to have two clock signals.

>i get the following error message:
> RROR:Xst:827 - D:/CodeGeeks/Elektronik/VHDL/FingerTip/FgTp.vhdl line
>191: Signal RAM_Data<7> cannot be synthesized, bad synchronous
>description.


It is likely that the synthesis tool cannot accept such a process, even
if it simulates the way you want.
Try two separate processes, with one clock each.

- Brian




Brian Drummond
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
UCF file for virtex family...using Xilinx 10.1 dhoomketu Hardware 0 05-23-2009 07:36 PM
Xilinx 7.1 and testbench error boitsas Software 0 01-15-2008 04:14 PM
Dazzle Box... swt458 Hardware 2 01-15-2008 06:06 AM
xilinx ISE8.2 error: XST779 JayTee Hardware 1 07-11-2007 01:16 PM
VHDL (Assigning pins in xilinx) amanpervaiz Hardware 3 12-02-2006 04:37 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46