aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: feeebe093fb61d6ca6b020b3a3c1c1928a339c21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Задачи с МФК "Основы проектирования аппаратных ускорителей систем искусственного интеллекта"

## А код где? [тут](/cgit/verilog-hw/tree)

## Как разрабатывать на своём компе?

Среды программирования я не нашёл, и не то, чтобы искал, поэтому скачал
компилятор (`iverilog`, или icarus verilog. НЕ СОВЕТУЮ `verilator`, хоть он и
популярен: во-первых, некоторые вещи в нём несовместимы с verilog на сайте,
во-вторых, тесты под него надо писать на `C++`, модулем не отделаешься)

Рутина такая (на Linux):

- пишите модуль по заданию, пишите модуль `test` без аргументов, там смотрите
  всё по задержкам и т.п..
- компилируете в консоли: `iverilog <ИМЯ ФАЙЛА>.v`
- запускаете в консоли: `./a.out`

На Windows: просто удачи бро. Сорян, но тут по фактам.

Чтобы выложить на контест, советую убирать ВСЕ лишние запяточки (после
`endmodule`, `end`, `endgenerate`), даже если у вас компилятор не ругается.
Оставляйте пустую строку в конце файла. Удаляйте тестовые модули.

## Зачем?

В конце курса вам препод скорее всего даст в районе 10 задач на сайте (в
контесте), которые надо будет решить на Verilog. Чтобы получить зачёт, в моё
время было достаточно решить ровно половину (Aka 5\* задач)

\*: у нас по плану было 10, а по факту 8 задач, поэтому достаточно было 4-х.
Препод это обещал пофискить к следующему году.

## А код правда просто можно взять и пиздить?
Если задачи такие же, то да. Задания в папке [`questions`](/cgit/verilog-hw/tree/questions)