![]() |
|
|
|||||||
![]() |
VHDL - "signal does not hold its value outside clock edge" |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
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?= |
|
|
|
|
#2 |
|
Posts: n/a
|
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 |
|
|
|
#3 |
|
Posts: n/a
|
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?= |
|
|
|
#4 |
|
Posts: n/a
|
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?= |
|
|
|
#5 |
|
Posts: n/a
|
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?= |
|
|
|
#6 |
|
Posts: n/a
|
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?= |
|
![]() |
| Thread Tools | Search this Thread |
|
|
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 |