Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AHDL.doc
Скачиваний:
20
Добавлен:
08.11.2018
Размер:
869.89 Кб
Скачать

Литература

  1. Антонов А.П. Язык описания цифровых устройств AlteraHDL. Практический курс. – М.: Радиософт, 2001.

  2. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. – М.: ДОДЭКА, 2000.

  3. Стешенко В.Б. ПЛИС фирмы ALTERA: элементная база, система проектирования и языки описания аппаратуры. – М.: ДОДЭКА, 2002.

  4. Бибило П.Н. Основы VHDL языка. – М.: СОЛОН-Р, 2000.

  5. Бибило П.Н. Синтез логических схем с использованием языка VHDL – М.: СОЛОН-Р, 2002.

  6. Соловьев В.В. Проектирование цифровых систем на основе программируемых логических интегральных схем. – М.: Горячая линия – Телеком, 2001.

  7. Техническая документация фирмы Altera.

  8. www.altera.ru

  9. www.altera.com

Приложение 1

Прототипы примитивов буферов

Примитив буфера

Прототип примитива буфера

CARRY

FUNCTION CARRY (in) RETURNS (out);

CASCADE

FUNCTION CASCADE (in) RETURNS (out);

EXP

FUNCTION EXP (in) RETURNS (out);

GLOBAL

FUNCTION GLOBAL (in) RETURNS (out);

LCELL

FUNCTION LCELL (in) RETURNS (out);

SOFT

FUNCTION SOFT (in) RETURNS (out);

OPNDRN

FUNCTION OPNDRN (in) RETURNS (out);

TRI

FUNCTION TRI (in, oe) RETURNS (out);

Приложение 2 Прототипы примитивов триггеров

Примитив триггера

Прототип примитива триггера

DFF

FUNCTION DFF (D, CLK, CLRN, PRN) RETURNS (Q)

DFFE

FUNCTION DFFE (D, CLK, CLRN, PRN, ENA) RETURNS (Q)

TFF

FUNCTION TFF (D, CLK, CLRN, PRN) RETURNS (Q)

TFFE

FUNCTION TFFE (T, CLK, CLRN, PRN, ENA) RETURNS (Q)

JKFF

FUNCTION JKFF (J, K, CLK, CLRN, PRN) RETURNS (Q)

JKFFE

FUNCTION JKFFE (J, K, CLK, CLRN, PRN, ENA) RETURNS (Q)

SRFF

FUNCTION SRFF (S, R, CLK, CLRN, PRN) RETURNS (Q)

SRFFE

FUNCTION SRFFE (S, R, CLK, CLRN, PRN, ENA) RETURNS (Q)

LATCH

FUNCTION LATCH (D, ENA) RETURNS (Q)

Приложение 3 Прототипы мегафункций

Мегафункция

Прототип мегафункции

lpm_constant

FUNCTION lpm_constant ( )

WITH (LPM_WIDTH, LPM_CVALUE)

RETURNS (result[LPM_WIDTH-1..0]);

Продолжение прил. 3

Мегафункция

Прототип мегафункции

lpm_abs

FUNCTION (data[LPM_WIDTH-1..0])

WITH (LPM_WIDTH, ADDERTYPE)

RETURNS (result[LPM_WIDTH-1..0], overflow);

lpm_and

FUNCTION lpm_and (data[LPM_SIZE-1..0][LPM_WIDTH-1..0])

WITH (LPM_WIDTH, LPM_SIZE)

RETURNS (result[LPM_WIDTH-1..0])

lpm_or

FUNCTION lpm_or (data[LPM_SIZE-1..0][LPM_WIDTH-1..0]

WITH (LPM_WIDTH, LPM_SIZE)

RETURNS (result[LPM_WIDTH-1..0];

lpm_xor

FUNCTION lpm_xor (data[LPM_SIZE-1..0][LPM_WIDTH-1..0])

WITH (LPM_WIDTH, LPM_SIZE)

RETURNS (result[LPM_WIDTH-1..0]);

lpm_inv

FUNCTION lpm_inv (data[LPM_WIDTH-1..0])

WITH (LPM_WIDTH)

RETURNS (result[LPM_WIDTH-1..0]);

lpm_mux

FUNCTION lpm_mux (data[LPM_SIZE-1..0][LPM_WIDTH-1..0], sel[LPM_WIDTHS-1..0], clock, aclr)

WITH (LPM_WIDTH, LPM_SIZE, LPM_WIDTHS, LPM_ PIPELINE)

RETURNS (result[LPM_WIDTH-1..0]);

busmux

FUNCTION busmux (dataa[(width) - (1)..0], datab[(width) - (1)..0], sel)

WITH (WIDTH)

RETURNS (result[(width) - (1)..0]);

mux

FUNCTION mux (data[(width) - (1)..0], sel[(widths) - (1)..0])

WITH (WIDTH, WIDTHS)

RETURNS (result);

lpm_decode

FUNCTION lpm_decode (data[LPM_WIDTH-1..0], enable, clock, aclr)

WITH (LPM_WIDTH, LPM_DECODES, LPM_PIPELINE)

RETURNS (eq[LPM_DECODES-1..0]);

lpm_clshift

FUNCTION lpm_clshift (data[LPM_WIDTH-1..0],

distance[LPM_WIDTHDIST-1..0], direction)

WITH (LPM_WIDTH, LPM_WIDTHDIST, LPM_SHIFT-TYPE)

RETURNS (result[LPM_WIDTH-1..0], underflow, overflow);

Продолжение прил. 3

Мегафункция

Прототип мегафункции

lpm_bustri

FUNCTION lpm_bustri (data[LPM_WIDTH-1..0], enabletr, enabledt)

WITH (LPM_WIDTH)

RETURNS (tridata[LPM_WIDTH-1..0], result[LPM_WIDTH-1..0]);

lpm_compare

FUNCTION lpm_compare (dataa[LPM_WIDTH-1..0],

datab[LPM_WIDTH-1..0], clock, aclr)

WITH (LPM_WIDTH, LPM_REPRESENTATION, LPM_PIPELINE,

CHAIN_SIZE, ONE_INPUT_IS_CONSTANT)

RETURNS (alb, aeb, agb, ageb, aneb, aleb);

lpm_add_sub

FUNCTION lpm_add_sub (cin, dataa[LPM_WIDTH-1..0],

datab[LPM_WIDTH-1..0], add_sub, clock, aclr, clkn)

WITH (LPM_WIDTH, LPM_REPRESENTATION, LPM_DIRECTION,

ONE_INPUT_IS_CONSTANT, LPM_PIPELINE,

MAXIMIZE_SPEED)

RETURNS (result[LPM_WIDTH-1..0], cout, overflow);

lpm_divide

FUNCTION lpm_divide (numer[LPM_WIDTHN-1..0],

denom[LPM_WIDTHD-1..0], clock, aclr, clken)

WITH (LPM_WIDTHN, LPM_WIDTHD, LPM_PIPELINE, LPM_NREPRESENTATION,

LPM_DREPRESENTATION)

RETURNS (quotient[LPM_WIDTHN-1..0], remain [LPM_ WIDTHD-1..0];

lpm_mult

FUNCTION lpm_mult (dataa[(LPM_WIDTHA-1)..0],

datab[(LPM_WIDTHB-1)..0], sum[(LPM_WIDTHS-1)..0], aclr, clock)

WITH (LPM_WIDTHA, LPM_WIDTHB, LPM_WIDTHP,

LPM_WIDTHS, LPM_REPRESENTATION,

LPM_PIPELINE, LATENCY,

INPUT_A_IS_CONSTANT, INPUT_B_IS_CONSTANT, USE_EAB, MAXIMIZE_

SPEED)

RETURNS (result[LPM_WIDTHP-1..0]);

lpm_latch

FUNCTION lpm_latch (data[LPM_WIDTH-1..0], gate, aclr,

aset, aconst)

WITH (LPM_WIDTH, LPM_AVALUE)

RETURNS (q[LPM_WIDTH-1..0]);

             

Продолжение прил. 3

Мегафункция

Прототип мегафункции

lpm_ff

FUNCTION lpm_ff (data[LPM_WIDTH-1..0], clock, enable,

sclr, sset, sload, aclr, aset, aload)

WITH (LPM_WIDTH, LPM_AVALUE, LPM_SVALUE,

LPM_PVALUE, LPM_FFTYPE)

RETURNS (q[LPM_WIDTH-1..0]);

lpm_shiftreg

FUNCTION lpm_shiftreg (data[LPM_WIDTH-1..0], clock, enable, shiftin, load, sclr, sset, aclr, aset)

WITH (LPM_WIDTH, LPM_DIRECTION, LPM_AVALUE, LPM_SVALUE)

RETURNS (q[LPM_WIDTH-1..0], shiftout);

lpm_counter

FUNCTION lpm_counter (data[LPM_WIDTH-1..0], clock,

clk_en, cnt_en, updown, cin, aclr, aset, aconst, aload,

sclr, sset, sconst, sload)

WITH (LPM_WIDTH, LPM_DIRECTION, LPM_ MODU-

LUS, LPM_AVALUE, LPM_SVALUE, CARRY_

CNT_EN, LABWIDE_SCLR)

RETURNS (q[LPM_WIDTH-1..0], cout, eq[15..0]);

lpm_rom

FUNCTION lpm_rom (address[LPM_WIDTHAD-1..0],

inclock, outclock, memenab)

WITH (LPM_WIDTH, LPM_WIDTHAD, LPM_NUM-

WORDS, LPM_FILE, LPM_ADDRESS_CONTROL, LPM_OUTDATA)

RETURNS (q[LPM_WIDTH-1..0]);

lpm_ram_dq

FUNCTION lpm_ram_dq (data[LPM_WIDTH-1..0],

address[LPM_WIDTHAD-1..0], inclock, outclock, we)

WITH (LPM_WIDTH, LPM_WIDTHAD, LPM_NUM-

WORDS, LPM_FILE, LPM_INDATA, LPM_AD-

DRESS_ CONTROL, LPM_OUTDATA)

RETURNS (q[LPM_WIDTH-1..0]);

lpm_ram_io

FUNCTION lpm_ram_io (address[LPM_WIDTHAD-1..0], we,

inclock, outclock, outenab, memenab)

WITH (LPM_WIDTH, LPM_WIDTHAD, LPM_ NUM-

WORDS, LPM_FILE, LPM_INDATA, LPM_AD-

DRESS_CONTROL, LPM_OUTDATA)

RETURNS (dio[LPM_WIDTH-1..0])

Продолжение прил. 3

Мегафункция

Прототип мегафункции

csdpram

FUNCTION csdpram (dataa[LPM_WIDTH-1..0],

datab[LPM_WIDTH-1..0], addressa[LPM_WIDTHAD-

1..0], addressb[LPM_WIDTHAD-1..0], wea, web, clock,

clockx2)

WITH (LPM_WIDTH, LPM_WIDTHAD, LPM_ NUM-

WORDS, FILE)

RETURNS (qa[LPM_WIDTH-1..0], qb[LPM_WIDTH-1..0],

busy);

lpm_ram_dp

FUNCTION lpm_ram_dp (wren, data[LPM_WIDTH-1..0],

wraddress[LPM_WIDTHAD-1..0], wrclock. wrclken,

rden, rdaddress[LPM_WIDTHAD-1..0], rdclock,

rdclken)

WITH (LPM_WIDTH, LPM_WIDTHAD, LPM_NUM-

WORDS, LPM_FILE, LPM_INDATA, LPM_AD-

DRESS_CONTROL,

LPM_RDADDRESS_CONTROL, LPM_OUTDATA,

USE_EAB)

RETURNS (q[LPM_WIDTH-1..0]);

csfifo

FUNCTION csfifo (data[(LPM_WIDTH)-(1)..0], wreq, rreq,

clock, clockx2, clr, sclr, threshlevel [CEIL(LOG2

(LPM_NUMWORDS))-1..0])

WITH (LPM_WIDTH, LPM_NUMWORDS)

RETURNS (q[(LPM_WIDTH)-(1)..0], threshold, empty, full, usedw[CEIL(LOG2(LPM_NUMWORDS))-1..0]);

lpm_fifo

FUNCTION lpm_fifo (data[(LPM_WIDTH)-1..0], wrreq,

rdreq, clock, aclr, sclr)

WITH (LPM_WIDTH, LPM_NUMWORDS, LPM_WIDTHU, LPM_SHOWAHEAD, UNDERFLOW_CHECKING, OVERFLOW_CHECKING,

ALLOW_RWCYCLE_WHEN_FULL, USE_EAB)

RETURNS (q[(LPM_WIDTH)-1..0], empty, full,

usedw[LPM_WIDTHU-1..0]

                                                                        

Окончание прил. 3

Мегафункция

Прототип мегафункции

lpm_fifo_dc

FUNCTION lpm_fifo_dc (data[LPM_WIDTH-1..0], rdreq, wrreq,

rdclock, wrclock, aclr)

WITH (LPM_WIDTH, LPM_NUMWORDS, LPM_WIDTHU, LPM_SHOWAHEAD, UNDERFLOW_CHECKING, OVERFLOW_CHECKING, ALLOW_RWCYCLE_WHEN_FULL, USE_EAB, DELAY_RDUSEDW, DELAY_WRUSEDW, RDSYNC_DELAYPIPE, WRSYNC_DELAYPIPE)

RETURNS (q[LPM_WIDTH-1..0], rdempty, rdfull, wrempty, wrfull, rdusedw[LPM_WIDTHU-1..0],

wrusedw[LPM_WIDTHU-1..0]);

ntsc

FUNCTION ntsc (clock, reset)

RETURNS (csync, hd, vd, fld, blank, burst);

clklock

FUNCTION (inclk)

WITH (CLOCKBOOST, INPUT_FREQUENCY)

RETURNS (outclk);

PLL

FUNCTION PLL (a, b, nset)

RETURNS (nup, tri_up, ndown, tri_down);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]