Я пытаюсь реализовать контроллер с функцией, которая отправляет тот же тактовый сигнал, что и его входные часы. Но при необходимости контроллер может также остановить выходной сигнал. Я реализую его на Xilinx ISE.
Моя идея такова: при достижении входных тактовых импульсов выходной тактовый сигнал устанавливается на 0. Если я хочу отправить тактовые импульсы, то при установке тактовых импульсов clock Я устанавливаю тактовую частоту на 1, но если я хочу остановить тактовую частоту вывода, я устанавливаю тактовую частоту на 0, чтобы другие устройства (все запускаемые с помощью posedge) не обнаруживали posedge.
Вот мой дизайн:
module controller(
input clk_in,
input reset,
output clk_out
//and other ports
);
always @(negedge clk_in)
clk_out<=0;
always @(posedge clk_in)
if(reset)
clk_out<=1;
else
begin
case(cases)
case1:
begin
//do something and halt the output clock
clk_out<=0;
end
case2:
begin
//do something and continue the output clock
clk_out<=1;
end
endcase
end
Когда я синтезировал дизайн, у меня была ошибка, в которой говорилось, что сигнал clk_out подключен к нескольким драйверам. Есть ли способ решить эту проблему?