dds генератор ЕРМ240

Обсуждаем цифровые устройства...
Ответить
Родился
Сообщения: 17
Зарегистрирован: Вт авг 04, 2015 13:52:00

Сообщение dimo41 »

Добрый день, не подскажете пожалуйста как считать данные из памяти RAM (EPM240T100C5 ufm_block) написал вот ну простенько

Код: Выделить всё

module dds_generator(clk,signal_output);
input wire clk;
output wire [7:0] signal_output;
reg [31:0] phase_acumulator;
//assign signal_output = ~phase_acumulator[31:24];
 ram_1port sin(
	.address(phase_acumulator[31:24]),
	.data(),
	.inclock(clk),
	.outclock(clk),
	.we(1'b0),
	.q(signal_output));
always@(posedge clk ) begin
 phase_acumulator <= phase_acumulator + 32'd85899346;
end
 endmodule
вроде как скомпилировалась а вот так что чудна
Report.jpg
(66.41 КБ) 483 скачивания
сам понимаю что я чего та недопоняли не правильно нахимичил а где ошибка не знаю :dont_know:
RTL схема
RTL_viewer.jpg
(24.91 КБ) 491 скачивание
вроде бы правильно а вот warning
warning.jpg
(79.77 КБ) 273 скачивания
пишет что output приведён на gnd :shock:
и нету clk в проекте :dont_know:
Warning (332068): No clocks defined in design.
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 275
Зарегистрирован: Вт окт 30, 2007 13:53:01
Откуда: Рыбинск

Сообщение UA3MQJ »

Total logic - 0. Так быть не должно. Такое бывает, когда в проекте ничего не происходит - синтезатор упрощает все.
Еще нужно написать:
initial phase_acumulator <= 32'd0;
иначе на альтерах работать не будет.
Вообще весь проект врядли влезет в 240, там только приемник uart все сожрет. Либо надо его упрощать.
Контактная информация:
Реклама
Родился
Сообщения: 17
Зарегистрирован: Вт авг 04, 2015 13:52:00

Сообщение dimo41 »

что не влезет я понимаю оно небудет через UART а выставлю 32 ножек и с помощью MCU + 74HC595 буду менять значение на них тогда запросто должно влезть, но пока зациклился на этой RAM и никак не могу продвигаться. :facepalm:
Родился
Сообщения: 17
Зарегистрирован: Вт авг 04, 2015 13:52:00

Сообщение dimo41 »

написал initial initial phase_acumulator = 32'd0;
и убрал clk со входа оставил только на выходе
ram1_port.jpg
(87.32 КБ) 317 скачиваний
тоже все по нулям :(
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Аватара пользователя
Сообщения: 275
Зарегистрирован: Вт окт 30, 2007 13:53:01
Откуда: Рыбинск

Сообщение UA3MQJ »

А можно скрин pin assigment? В RAM таблица синуса в мастере подсунута?
ЗЫ. там заремарен вывод наружу счетчика. Там пила то получалась?
Контактная информация:
Реклама
Родился
Сообщения: 17
Зарегистрирован: Вт авг 04, 2015 13:52:00

Сообщение dimo41 »

да когда написал без RAM

Код: Выделить всё

module dds_generator(clk,signal_output);
input wire clk;
output wire [7:0] signal_output;
reg [31:0] phase_acumulator;
initial phase_acumulator = 32'd0;
assign signal_output = phase_acumulator[31:31-7];
always@( posedge clk ) begin
 phase_acumulator <= phase_acumulator + 32'd85899; //
end
 endmodule
пила была
Вложения
Untitled.jpg
(135.31 КБ) 453 скачивания
pin_planer1.jpg
(98.34 КБ) 447 скачиваний
pin_planer0.jpg
(62.46 КБ) 442 скачивания
Реклама
Ответить

Вернуться в «Цифровая техника»