我正在尝试在以下 VHDL 代码中实现时钟同步和时钟分频器。时钟(clk_rx 和 clk_tx)应在总线上“RX”信号的上升沿和下降沿同步。我可以模拟以下内容,但由于我使用的是“RX'EVENT”,因此无法在 ISE 中合成。有人可以为此提出替代方案吗?(Verilog 也可以使用)
-------------------------------------------- 时钟分频器---- -------------------------------------------------- ----------------------------------
PROCESS (CLK_I, RX)
BEGIN
IF (RX'EVENT) THEN
clk_cnt <= to_unsigned(0,clk_cnt'LENGTH);
ELSIF (CLK_I'EVENT AND CLK_I = '1') THEN
IF clk_cnt >2499 THEN
clk_cnt <= to_unsigned(0,clk_cnt'LENGTH);
ELSE
clk_cnt <= clk_cnt + 1;
END IF;
END IF;
END PROCESS;
clk_rx <= '1' WHEN clk_cnt = 1250 ELSE '0'; -----clk_rx=1 only at the half of the counter period----------clk enable
clk_tx <= '1' WHEN clk_cnt = 2499 ELSE '0';