Язык ISDL был разработан группой CAA (Computer-Aided Automation) университета MIT, США [46] и впервые представлен на конференции по автоматизированному дизайну DAC [47] в 1997 году. Основной специализацией ISDL является описание VLIW-архитектур. Изначально язык задумывался для поддержки настраиваемых компилятора, ассемблера и симулятора, а также генератора Verilog-описаний на основе ISDL-спецификаций. Как и nML, ISDL, главным образом, позволяет на основе использования атрибутной грамматики описывать систему команд процессора, включающую в себя семантику поведения, синтаксис ассемблера, машинные коды, а также описание ресурсных конфликтов. К важным достоинствам языка можно отнести возможность специфицировать задержки и конфликтные ситуации для параллелизма уровня команд (Instruction Level Parallelism, ILP) в виде логических правил, хотя явное описание конвейера отсутствует. Описание ISDL состоит из следующих секций:
Global_Definitions – глобальные определения лексем (Token) и нетерминальных символов (Non_Terminal);
Storage – элементы-хранилища (регистры, память, стек, управляющие и специальные регистры);
Instruction_Set – спецификация системы команд в виде набора операций, описание каждой из которых включает следующие атрибуты:
параметры в виде лексем и нетерминальных символов;
бинарное кодирование в машинном слове;
поведение в виде RTL описания над ресурсами-хранилищами;
время выполнения и другие параметры стоимости (например, энергопотребление):
задержки;
Описание тривиального процессора в ISDL приведено в примере 6. SECTION Format IW = OPF[4], DSTF[4], SRCF[4];