Страница 1 из 1

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

Добавлено: Чт авг 11, 2016 21:29:54
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.

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

Добавлено: Вс авг 14, 2016 08:20:25
UA3MQJ
Total logic - 0. Так быть не должно. Такое бывает, когда в проекте ничего не происходит - синтезатор упрощает все.
Еще нужно написать:
initial phase_acumulator <= 32'd0;
иначе на альтерах работать не будет.
Вообще весь проект врядли влезет в 240, там только приемник uart все сожрет. Либо надо его упрощать.

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

Добавлено: Вс авг 14, 2016 12:47:05
dimo41
что не влезет я понимаю оно небудет через UART а выставлю 32 ножек и с помощью MCU + 74HC595 буду менять значение на них тогда запросто должно влезть, но пока зациклился на этой RAM и никак не могу продвигаться. :facepalm:

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

Добавлено: Вс авг 14, 2016 12:56:14
dimo41
написал initial initial phase_acumulator = 32'd0;
и убрал clk со входа оставил только на выходе
ram1_port.jpg
(87.32 КБ) 317 скачиваний
тоже все по нулям :(

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

Добавлено: Вс авг 14, 2016 20:18:22
UA3MQJ
А можно скрин pin assigment? В RAM таблица синуса в мастере подсунута?
ЗЫ. там заремарен вывод наружу счетчика. Там пила то получалась?

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

Добавлено: Пн авг 15, 2016 10:09:17
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
пила была