Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17041 Discussions

Quartus compilation problem

Altera_Forum
Honored Contributor II
1,485 Views

Hi all, 

I met a strange problem: when i use quartusii,a project first compiled need the Logic Elements is 13%,but then, i compiled again is 1%. :confused:
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
513 Views

 

--- Quote Start ---  

Hi all, 

I met a strange problem: when i use quartusii,a project first compiled need the Logic Elements is 13%,but then, i compiled again is 1%. :confused: 

--- Quote End ---  

 

 

Hi cherry, 

 

without any change ???? No design change, no settings changed .... 

 

Kind regards 

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
513 Views

this is the main program 

 

library ieee; 

use ieee.std_logic_1164.all; 

use ieee.std_logic_arith.all;  

 

entity up3_board1 is 

port( datain_adc: IN STD_LOGIC_VECTOR(7 downto 0);--input from ADC 

clock: IN STD_LOGIC; -- Clock Input from Altera Board 

dataout_serial: BUFFER STD_LOGIC_VECTOR(7 downto 0));--8 bit data for trasmitting 

end up3_board1; 

 

architecture BEHAVIOR of up3_board1 is  

 

------------------ COMPONENT UARTTransmitter------------------------------------------------  

 

component UARTTransmitter 

port ( txd_data: IN STD_LOGIC_VECTOR( 7 DOWNTO 0)); 

end component; 

 

 

------------component UARTTrasmitter------------------------------------------------------  

 

BEGIN  

 

PROCESS(clock,datain_adc) 

BEGIN 

 

if datain_adc="00000000"--data from ADC,not correct yet.. 

then  

dataout_serial<="00000000"; -- pH 0.0,fake data  

txd_data<=dataout_serial; 

 

elsif datain_adc="00000001" 

then 

dataout_serial<="00000101";-- pH 0.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000010" 

then 

dataout_serial<="00010000"; -- pH 1.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000011" 

then 

dataout_serial<="00010101"; -- pH 1.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000100" 

then 

dataout_serial<="00100000";-- pH 2.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000101" 

then 

dataout_serial<="00100101"; -- pH 2.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000110" 

then 

dataout_serial<="00110000"; -- pH 3.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000111" 

then 

dataout_serial<="00110101"; -- pH 3.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001000" 

then 

dataout_serial<="01000000"; -- pH 4.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001001" 

then 

dataout_serial<="01000101"; -- pH 4.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001010" 

then 

dataout_serial<="01010000"; -- pH 5.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001011" 

then 

dataout_serial<="01010101"; -- pH 5.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001100" 

then 

dataout_serial<="01100000"; -- pH 6.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001101" 

then 

dataout_serial<="01100101"; -- pH 6.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001110" 

then 

dataout_serial<="01110000"; -- pH 7.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001111" 

then 

dataout_serial<="01110101"; -- pH 7.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010000" 

then 

dataout_serial<="10000000"; -- pH 8.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010001" 

then 

dataout_serial<="10000101"; -- pH 8.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010010" 

then 

dataout_serial<="10010000"; -- pH 9.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010011" 

then 

dataout_serial<="10010101"; -- pH 9.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010100" 

then 

dataout_serial<="10100000"; -- pH 10.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010101" 

then 

dataout_serial<="10100101"; -- pH 10.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010110" 

then 

dataout_serial<="10110000"; -- pH 11.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010111" 

then 

dataout_serial<="10110101"; -- pH 11.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011000" 

then 

dataout_serial<="11000000"; -- pH 12.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011001" 

then 

dataout_serial<="11000101"; -- pH 12.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011010" 

then 

dataout_serial<="11010000"; -- pH 13.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011011" 

then 

dataout_serial<="11010101"; -- pH 13.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011100" 

then 

dataout_serial_1<="11100000"; -- pH 14.0 

txd_data<=dataout_serial; 

 

end if; 

end process; 

end BEHAVIOR; 

------------------------------------------------------------------ 

 

 

the program is when compilation of main program this error comes out 

 

"Error (10482): VHDL error at up3_board1.vhd(34): object "txd_data" is used but not declared"..i already add the component program file UARTTransmitter.vhdl to this main program 

 

any idea???
0 Kudos
Altera_Forum
Honored Contributor II
513 Views

 

--- Quote Start ---  

this is the main program 

 

library ieee; 

use ieee.std_logic_1164.all; 

use ieee.std_logic_arith.all;  

 

entity up3_board1 is 

port( datain_adc: IN STD_LOGIC_VECTOR(7 downto 0);--input from ADC 

clock: IN STD_LOGIC; -- Clock Input from Altera Board 

dataout_serial: BUFFER STD_LOGIC_VECTOR(7 downto 0));--8 bit data for trasmitting 

end up3_board1; 

 

architecture BEHAVIOR of up3_board1 is  

 

------------------ COMPONENT UARTTransmitter------------------------------------------------  

 

component UARTTransmitter 

port ( txd_data: IN STD_LOGIC_VECTOR( 7 DOWNTO 0)); 

end component; 

 

 

------------component UARTTrasmitter------------------------------------------------------  

 

BEGIN  

 

PROCESS(clock,datain_adc) 

BEGIN 

 

if datain_adc="00000000"--data from ADC,not correct yet.. 

then  

dataout_serial<="00000000"; -- pH 0.0,fake data  

txd_data<=dataout_serial; 

 

elsif datain_adc="00000001" 

then 

dataout_serial<="00000101";-- pH 0.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000010" 

then 

dataout_serial<="00010000"; -- pH 1.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000011" 

then 

dataout_serial<="00010101"; -- pH 1.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000100" 

then 

dataout_serial<="00100000";-- pH 2.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000101" 

then 

dataout_serial<="00100101"; -- pH 2.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000110" 

then 

dataout_serial<="00110000"; -- pH 3.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00000111" 

then 

dataout_serial<="00110101"; -- pH 3.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001000" 

then 

dataout_serial<="01000000"; -- pH 4.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001001" 

then 

dataout_serial<="01000101"; -- pH 4.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001010" 

then 

dataout_serial<="01010000"; -- pH 5.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001011" 

then 

dataout_serial<="01010101"; -- pH 5.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001100" 

then 

dataout_serial<="01100000"; -- pH 6.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001101" 

then 

dataout_serial<="01100101"; -- pH 6.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001110" 

then 

dataout_serial<="01110000"; -- pH 7.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00001111" 

then 

dataout_serial<="01110101"; -- pH 7.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010000" 

then 

dataout_serial<="10000000"; -- pH 8.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010001" 

then 

dataout_serial<="10000101"; -- pH 8.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010010" 

then 

dataout_serial<="10010000"; -- pH 9.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010011" 

then 

dataout_serial<="10010101"; -- pH 9.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010100" 

then 

dataout_serial<="10100000"; -- pH 10.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010101" 

then 

dataout_serial<="10100101"; -- pH 10.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010110" 

then 

dataout_serial<="10110000"; -- pH 11.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00010111" 

then 

dataout_serial<="10110101"; -- pH 11.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011000" 

then 

dataout_serial<="11000000"; -- pH 12.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011001" 

then 

dataout_serial<="11000101"; -- pH 12.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011010" 

then 

dataout_serial<="11010000"; -- pH 13.0 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011011" 

then 

dataout_serial<="11010101"; -- pH 13.5 

txd_data<=dataout_serial; 

 

elsif datain_adc="00011100" 

then 

dataout_serial_1<="11100000"; -- pH 14.0 

txd_data<=dataout_serial; 

 

end if; 

end process; 

end BEHAVIOR; 

------------------------------------------------------------------ 

 

 

the program is when compilation of main program this error comes out 

 

"Error (10482): VHDL error at up3_board1.vhd(34): object "txd_data" is used but not declared"..i already add the component program file UARTTransmitter.vhdl to this main program 

 

any idea??? 

--- Quote End ---  

 

 

Hi, 

 

I'm not a VHDL expert, but I think you have to define a signal called txd_data in your architecture. 

 

Kind regards 

 

GPK 

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
513 Views

Are you aware you have created a completly asynchronous design? there are no registers in this code. 

 

Also, you have not instantiated a UART Transmitter.
0 Kudos
Reply