ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
23 июля
1597421 Топик полностью
mse homjak (Вчера, 23:50, просмотров: 44)
Чё, бдь, довы@бывались? Жэлезный трахтур, таки пришол. Таки, посмотрим, во чо это выльеца. Предыстория... 

Заинтересовался локальной ИИшэчькой. Почитал всякое. Прикупил RTX5060TI c 16Gb. Поебался, чтобы она завелась на мамке для Хеонов версии1. Безуспешно. Поставил на мамку версии3. Тожэ поебался, но ожила. Скочял лмСтудию, скочял из неё Qwen3.6coder. Закинул первый попавшийся файл на верилог и попросил его сгенерить временные констрейны. Сгенерил. Похожэ на правду. Нашол кокую-то ошибку. Не разбирался. Вот тока, с пылу-жару. Отвечает, примерно через секунду, ответ печатает, порядка десяти-дваццати буков в секунду. Ну и диалог:

сгенерируй временные констрейны для этого модуля на verilog:
module accumulatorSyncro(mclk
,nFixSumm
,nReset
,incomeData
,accumulatedSelectedData
,nSelectAccumulate
,nSelectOut
);
input mclk;
input nFixSumm;
input nReset;
input nSelectAccumulate;
input nSelectOut;
input[35:0] incomeData;
output[47:0] accumulatedSelectedData;
wire mclk;
wire nFixSumm;
wire nReset;
wire[35:0] incomeData;
wire nSelectAccumulate;
wire nSelectOut;
wire[47:0] accumulatedSelectedData;
assign accumulatedSelectedData[47:0]=nSelectOut?36'hzzzzzzzzz:accumulatedData[47:0];
reg[47:0]accumulatedData;
always@(negedge mclk or negedge nReset)
if(nReset==0)
accumulatedData[47:0]<=48'h0;
else
if(nSelectAccumulate==0)
if(nFixSumm==0)
accumulatedData[47:0]<=accumulatedData[47:0]+{12'h0,incomeData[35:0]};
endmodule
qwen3-coder-30b-a3b-instruct Вот временные контstrain для данного модуля Verilog: verilog // Clock constraints create_clock -period 10.0 -name clk [get_ports mclk] # Пример: если частота тактирования 100 MHz, период 10 ns // Input delays set_input_delay -max 2.0 -min 0.5 [get_ports incomeData] -clock clk set_input_delay -max 1.5 -min 0.3 [get_ports nSelectAccumulate] -clock clk set_input_delay -max 1.5 -min 0.3 [get_ports nSelectOut] -clock clk set_input_delay -max 1.5 -min 0.3 [get_ports nFixSumm] -clock clk set_input_delay -max 1.5 -min 0.3 [get_ports nReset] -clock clk // Output delays set_output_delay -max 2.5 -min 0.5 [get_ports accumulatedSelectedData] -clock clk // Clock uncertainty set_clock_uncertainty -setup 0.5 -hold 0.2 [get_clocks clk] // False path constraints (если есть) # Если есть пути, которые не должны участвовать в анализе # set_false_path -from [get_ports nReset] -to [get_registers] # set_false_path -from [get_ports nSelectAccumulate] -to [get_registers] // Multi-cycle paths (если нужно) # Для медленных путей, если есть ограничения на время выполнения # set_multicycle_path -setup 2 -hold 1 -from [get_ports incomeData] -to [get_registers] // Clock gating constraints (если применимо) set_clock_gating_check -enable // Timing groups for synchronous resets set_false_path -from [get_ports nReset] -to [get_registers] # Так как сброс асинхронный, может потребоваться специальная обработка // если используете clock enable (если применимо) # set_clock_enable -enable [get_ports nSelectAccumulate] // Специфические ограничения для регистра накопления set_max_delay -from [get_ports incomeData] -to [get_registers] 5.0 Примечания: Период тактирования: 10.0 ns (100 MHz) - можно изменить в зависимости от реальной частоты Входные задержки: Максимальные и минимальные значения для входных сигналов Выходные задержки: Для выходного сигнала accumulatedSelectedData Clock uncertainty: Учитываются временные параметры тактирования False paths: Ограничения на пути, которые не должны участвовать в тайминг-анализе Важные замечания по коду: В вашем коде есть ошибка в assign statement: verilog assign accumulatedSelectedData[47:0]=nSelectOut?36'hzzzzzzzzz:accumulatedData[47:0]; Скорее всего должно быть: verilog assign accumulatedSelectedData[47:0] = nSelectOut ? 48'hZZZZZZZZZZZZ : accumulatedData[47:0]; В коде есть неинициализированный сигнал nReset - его нужно явно определить как входной Для точного тайминг-анализа рекомендую уточнить: Частоту тактирования mclk Требования к задержкам Наличие асинхронных сбросов и их поведение Send a message to the model...

Страшно? Он, грит, я ещо и вышивать могупечатки в ПИКАДе разводить и в волновой анализ... Пиздит, наверное, но красиво пиздит.

Но Сара Коннор смотрит на всё вот это вот, как на говно...