[an error occurred while processing this directive]
|
Желательно, чтобы все процессы происходили под управлением одной глобальной частоты. Откройте даташит и посмотрите структуру кристалла. Основа ячейки триггер (может два) и логика. Вы вправе задействовать что хотите. Но синхронный девайс лучше.
Пакет автоматом назначит эту частоту глобальной. Или есть специальный примитив типа GBUF. Конечно можно использовать и вторичные клоки. С ограничениями (констрейнами). Чтобы перевести данные из одного клок домена в другой действительно проще иметь одну максимальную частоту. Вот пример
module in_out
(
output reg [7:0] out_data,
output out_clk,
input global_clk,
input [7:0] input_data,
input in_clk,
input inout_clk
);
reg [7:0] in_data;
reg [2:0] sdvig_in_rg;
reg [2:0] sdvig_out_rg;
wire e_wr_rg;
wire e_rd_rg;
assign out_clk = inout_clk;
always @ (posedge global_clk)
begin
sdvig_in_rg <= {sdvig_in_rg[1:0], in_clk};
sdvig_out_rg <= {sdvig_out_rg[1:0], inout_clk};
end
assign e_wr_rg = sdvig_in_rg[1] & ~sdvig_in_rg[2];
assign e_rd_rg = ~sdvig_out_rg[1] & sdvig_out_rg[2];
always @ (posedge global_clk)
begin
if (e_wr_rg)
in_data <= input_data;
if (e_rd_rg)
out_data <= in_data;
end
endmodule
Моделсим нормальный продукт. Качайте 8 WEBPAC. Счетчик Ваш точно должен работать. Что касается схемного ввода, это не более высокий уровень. (Я 10 лет проработал с 530 серией). Высокий уровень это поведенческое описание. Причем заметьте оно автоматом ложиться на одноклоковую глобальную синхронизацию.
module ct (clk, out);
input clk ;
output [3:0] out;
reg [3:0] ct;
always @(posedge clk)
begin
ct <= ct + 1'b1;
end
assign out = ct;
endmodule
Мой Вам совет. Переходите на текстовое описание. Тем более что у Xilinx самый поганый схемный редактор (по удобствам).
Скачайте с сайта xilinx xst.pdf (синтезабельное hdl описание библиотечных элементов) и выберите язык по вкусу. Ваш опыт поможет быстрее перейти на язык описания. Потому что действительно Вы должны представлять во что выльется то или иное описание в железе. Есть RTL просмотрщик.
Найдите книгу Полякова Языки VHDL и VERILOG в проектировании цифровой аппаратуры. Это системый подход. По XILINX книга Зотова Проектирование цифровых устройств на основе ПЛИС XILINX в САПР WEBPACK ISE, книга Сергиенко по VHDL на основе кристаллов xilinx.
Успехов.
E-mail: info@telesys.ru