我想使用多个反相器创建异或振荡器。振荡器和反相器的数量应通用定义。我已经完成了 1 个振荡器,但我不知道如何多次生成相同的振荡器并让它们异或。这是我的代码的一部分:
gen_ring_oscillator:
for i in 1 to NUM_INVERTER-1 generate
osc_chain(i)<= not osc_chain(i-1);
end generate;
ring_oscillator:process(osc_chain, en_oc, osc_reset)
begin
if (osc_reset = '1') then
osc_chain(0) <= '0';
elsif (en_oc = '1') then
osc_chain(0) <= osc_chain(NUM_INVERTER-1);
ro_out <= osc_chain(NUM_INVERTER-1);
end if;
end process;
我已经使用 osc_chain 作为逆变器之间的信号。