Методы модуляции VHDL большого масштаба - PullRequest
1 голос
/ 23 мая 2010

Я думаю о реализации 16-битного процессора в VHDL.Упрощенный процессор.ADD, MULS, NEG, BitShift, JUMP, Relitive Jump, BREQ, Relitive BREQ, я не знаю что-то вроде этого> Вероятно, все работает только с 16-битными операндами.Я мог бы даже сократить его и использовать только один операнд и аккумулятор.С некоторыми регуляторами состояния, Carry, Zero, Neg (если я не использую Accumlator),

Я знаю, как спроектировать все детали из логических элементов и планировать их сборку из первых принципов, так что для моего ALUМне нужно «построить» ADDer, вероятно Carry Look up, групповой сумматор, этот сумматор сам по себе состоит из пары частей, которые сами состоят из пары частей.

Во всяком случае, моя проблема не в дизайне процессора или VHDL (я знаю язык, более или менее).Это то, как я должен держать вещи организованными.Как я должен использовать пакеты, Как я должен назвать свои процессы и карты портов?(я никогда не видел преимущества именования карт портов или процессов)

Ответы [ 2 ]

2 голосов
/ 14 декабря 2010

Что бы вы ни делали, обязательно прочитайте основную работу Джири Гайслера о методе структурированного VHDL-проектирования.

http://www.gaisler.com/doc/vhdl2proc.pdf http://www.gaisler.com/doc/structdes.pdf

Вы будете очень рады, что сделали.

0 голосов
/ 23 мая 2010

Просмотр некоторых существующих примеров не повредит. На том уровне, о котором вы говорите (соглашения об именах и т. Д.), Я никогда по-настоящему не отличался в дизайне аппаратного обеспечения от программного обеспечения.

Кроме того, я бы вообще советовал против делать такие вещи, как ваши собственные сумматоры и тому подобное, если только это не требуется, потому что это домашняя работа или что-то в этом роде. С интегральными микросхемами FPGA и (в немного меньшем объеме) ASIC у вас есть существующая "библиотека" аппаратного обеспечения в устройстве, поэтому некоторые вещи, такие как A <= B + c, обычно используют схему сумматора, уже встроенную в устройство в случае FPGA или оптимизированного вручную жесткого макроса в случае ASIC.

Написание собственного текста потребует изрядного количества дополнительной работы и почти всегда приведет к худшему результату. В случае с ASIC будет немного хуже; в случае с ПЛИС это обычно будет немного хуже.

Редактировать: Я должен также отметить, что простой процессор на самом деле не квалифицируется как крупномасштабный дизайн, по крайней мере, IMO. Может быть, это из-за моего опыта работы с программным обеспечением, но я всегда находил процессоры довольно простыми. Лишь для одного примера, когда я однажды сделал контроллер DRAM, мне показалось, что lot больше работы. Я не помню ничего подобного количеству строк исходного кода, но, основываясь на памяти, я бы сказал, что оно больше (вероятно, примерно в 2 раза). Конечно, это будет зависеть от того, насколько простым будет ваш процессор ...

...