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

Reply

VHDL - "signal does not hold its value outside clock edge"

 
Thread Tools Search this Thread
Old 01-23-2006, 01:20 PM   #1
Default "signal does not hold its value outside clock edge"


Hello.

I'm a begginer in VHDL and I'm with a problem in the compilation of my
description.
These are the errors:

Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[7]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[6]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[5]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[4]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[3]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[2]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[1]" because signal does not hold its value outside
clock edge
Error: VHDL error at mult_seq_mf.vhd(62): can't infer register for
signal "entradaregB[0]" because signal does not hold its value outside
clock edge

All the errors are the same and the part of the description where the
error ocurrs is this:

entradaregB <= multB WHEN (clk'EVENT AND clk = '1' AND start = '1')
else soma(0) & multiplicador(n-1 DOWNTO 1);

If I take off the "clk'EVENT" it works, but I need to have a border
sensitive description.
Can anyone help me?
Thanks!

Guilherme Corręa.



=?iso-8859-1?q?Guilherme_Corr=EAa?=
  Reply With Quote
Old 01-23-2006, 02:05 PM   #2
tln
 
Posts: n/a
Default Re: "signal does not hold its value outside clock edge"
Hi Guilherme,

I'm assuming you got this error during synthesis. Because the end
result of your code is a hardware device, the code must be
synthesizable into hardware that exists on the FPGA/CPLD. The code you
have written does not describe a real synchronous element. To make a
register (not sure if this is what you want your code to do, but...):

reg_process: process (clk)
begin
if rising_edge(clk)
if start = '1' then
entradaregB <= multB;
else
entradaregB <= soma(0) & multiplicador(n-1 DOWNTO 1);
end if;
end if;
end process reg_process;

Registers can only change on a clock edge. Generally the only
asynchronous event that can change a register is a reset. You might
want to think about taking some training on FPGAs and VHDL. As a
beginner, if you don't have a good understanding of both the coding
methods to describe hardware and the hardware your code is configuring,
you will run into a lot of problems.

Good luck!



tln
  Reply With Quote
Old 01-23-2006, 03:45 PM   #3
=?iso-8859-1?q?Guilherme_Corr=EAa?=
 
Posts: n/a
Default Re: "signal does not hold its value outside clock edge"
Ok, thank you.

The register is working now, but the result of all the description
isn't ok yet.
It's a description of a multiplier and the result of the multiplication
is wrong. I'll continue trying.

Thank you.



=?iso-8859-1?q?Guilherme_Corr=EAa?=
  Reply With Quote
Old 01-23-2006, 03:48 PM   #4
=?iso-8859-1?q?Guilherme_Corr=EAa?=
 
Posts: n/a
Default Re: "signal does not hold its value outside clock edge"
Ok, thank you.

The register is working now, but the result of all the description
isn't ok yet.
It's a description of a multiplier and the result of the multiplication
is wrong. I'll continue trying.

Thank you.



=?iso-8859-1?q?Guilherme_Corr=EAa?=
  Reply With Quote
Old 01-23-2006, 03:51 PM   #5
=?iso-8859-1?q?Guilherme_Corr=EAa?=
 
Posts: n/a
Default Re: "signal does not hold its value outside clock edge"
Ok, thank you.

The register is working now, but the result of all the description
isn't ok yet.
It's a description of a multiplier and the result of the multiplication
is wrong. I'll continue trying.

Thank you.



=?iso-8859-1?q?Guilherme_Corr=EAa?=
  Reply With Quote
Old 01-23-2006, 03:52 PM   #6
=?iso-8859-1?q?Guilherme_Corr=EAa?=
 
Posts: n/a
Default Re: "signal does not hold its value outside clock edge"
Ok, thank you.

The register is working now, but the result of all the description
isn't ok yet.
It's a description of a multiplier and the result of the multiplication
is wrong. I'll continue trying.

Thank you.



=?iso-8859-1?q?Guilherme_Corr=EAa?=
  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
Clock Modelling using VHDL rtl.engineer Hardware 0 07-31-2008 11:50 AM
Computer Clock GoneBeforeMyTime A+ Certification 5 04-21-2007 05:31 PM
Post-Route Simulation does not give output for the first clock cycle Options velocityreviews Software 0 04-17-2007 05:47 PM
New Releases: Revelations, The Librarian & My Left Foot: Updated complete downloadable R1 DVD DB & Info lists Doug MacLean DVD Video 0 05-17-2005 06:57 AM
Hollywood Detective - The Buried Clock David Marsh DVD Video 1 09-27-2004 11:26 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