Hi all,

            This bit of code was assembled, elaborated and run quite well
with ghdl generating good results on gtkwave using Linux.  When I ran it on
XP both Xilinx and lattice it gave errors bad synchronous description.
Comparing it with the example I should have the

   if rising edge etc as 

elsif rising edge.etc

 

Is this a ghdl error or simply a case of what they can pack into a cpld?

                        Regards Ian.

 

 

 

RX_BR_counter:process (OSC_10MHz, PG, rx_start_pul, rx_br_ctr_int,
rx_clk_int, br_start_pul)

begin

if PG = '0' then

            rx_br_ctr_int <= define_rx_baude_rate;

end if;

if rising_edge (OSC_10MHz) then

            if rx_start_pul = '1' or rx_br_ctr_int = define_rx_baude_rate
then

                        rx_br_ctr_int <= (others => '0');

                        else

                        rx_br_ctr_int <= rx_br_ctr_int + 1;

            end if;

end if;

rx_br_ctr5 <= std_logic (rx_br_ctr_int(5));

end process;

 

Lattice error

# Error: [46237]: "c:/vsn4_pulsar/ghdl/rx/rx.vhd", line 69: Unsupported
Clocking style: Signal/Variable rx_br_ctr_int is assigned in async part
before sync part ...

# Error: [46292]: Module work.UART_RX(behavioral) cannot be compiled because
it contains non-rtl constructs. Please check the log for warnings or errors
about non-synthesizable constructs in this module. # Error: [46237]:
"c:/vsn4_pulsar/ghdl/rx/rx.vhd", line 69: Unsupported Clocking style:
Signal/Variable rx_br_ctr_int is assigned in async part before sync part ...

# Error: [46292]: Module work.UART_RX(behavioral) cannot be compiled because
it contains non-rtl constructs. Please check the log for warnings or errors
about non-synthesizable constructs in this module.

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to