Цитата(des00 @ Apr 20 2011, 22:23)

RTL и скорости здесь причем ? я вам про что до этого говорил?
если вам нужен результат могу сказать правильное для вас решение, если вам нужно понимание и самостоятельный логический вывод почему так правильно, выкладывайте свои мысли сюда. Выбор за вами.

Согласен, что в Мап Вьювере поинтереснее

и очень благодарен Вам за возможность поучиться!
Мысли такие, рассмотрим вначале 400->200MHz. Для этого случая я вижу только две альтернативы, одна, как я написал
Код
always @(posedge Clk400)
begin
TempIn400<=In400;
if(Clk200) Out200<={TempIn400, In400};
end
и вот такая
Код
always @(posedge Clk400) TempIn400<=In400;
always @(posedge Clk200) Out200<={TempIn400, In400};
Последний вариант меня смущает тем, что при выполнении присваивания в Out200 исходные аргументы могут измениться. В то же время, этот вариант компилится без слаков. Что я здесь не так понимаю?
Теперь случай, когда на входе 200, а на выходе 400МГц.
Понятно, что можно написать что-то типа
Код
assign TempOut400=In200[Clk200];
always @(posedge Clk400)
Out400<=TempOut400;
но я не могу логически почуствовать разницы между тем, что я написал старте топика и этим ассигном.
Буду очень благодарен тому, кто тыкнет меня носом в мои заблуждения.
ЗЫ Денис, опять ты мне Выкаешь, мне стыдно, а ты Вы да Вы.