Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / var 23 / САПР_курсач.doc
Скачиваний:
33
Добавлен:
17.04.2013
Размер:
683.52 Кб
Скачать

Процедурное моделирование.

project.vhd

library model;

use model.all;

use std.textio.all;

entity project is end project;

architecture behavior of project is

component REG23_ALG

port(c,ec,r:in bit;q:out bit_vector(0 to 7);cout:out bit);

end component;

component REG23_RTL

port(c,ec,r:in bit;q1:out bit_vector(0 to 7);cout1:out bit);

end component;

component REG23_STR

port(c,ec,r:in bit;q2:out bit_vector(0 to 7);cout2:out bit);

end component;

for all: REG23_ALG use entity model.REG23(ALG);

for all: REG23_RTL use entity model.REG23(RTL);

for all: REG23_STR use entity model.REG23(STR);

signal c,ec,r,cout_alg,cout_rtl,cout_str:bit;

signal q_alg,q_rtl,q_str:bit_vector(0 to 7);

begin

process

begin

c<='0','1' after 5ns,'0' after 10ns, '1' after 15ns,'0' after 20ns,'1' after 25ns,

'0' after 30ns,'1' after 35ns,'0' after 40ns,'1' after 45ns,'0' after 50ns,

'1' after 55ns,'0' after 60ns,'1' after 65ns,'0' after 70ns,'1' after 75ns,

'0' after 80ns,'1' after 85ns,'0' after 90ns,'1' after 95ns,'0' after 100ns,

'1' after 105ns,'0' after 110ns,'1' after 115ns,'0' after 120ns,

'0' after 125ns,'1' after 130ns,'0' after 135ns,'1' after 140ns,'0' after 145ns,

'1' after 150ns,'0' after 155ns,'1' after 160ns,'0' after 165ns,'1' after 170ns,'0' after 175ns;

ec<='0','1' after 15ns,'0' after 25ns,'1' after 45ns,'0' after 65ns,'1' after 85ns,'0' after 105ns,

'1' after 125ns,'0' after 145ns,'1' after 165ns;

r<='0' after 0ns,'1' after 5ns;

wait;

end process;

d1:REG23_ALG port map(c,ec,r,q_alg,cout_alg);

d2:REG23_RTL port map(c,ec,r,q_rtl,cout_rtl);

d3:REG23_STR port map(c,ec,r,q_str,cout_str);

process

variable l:line;

variable t:time;

begin

t:=now;

if t=0ns then

write (l,"c ec r q_alg cout_alg q_rtl cout_rtl q_str cout_str Time");

writeline(output,l);

end if;

write(l,c); write(l," ");

write(l,ec); write(l," ");

write(l,r); write(l," ");

write(l,q_alg); write(l," ");

write(l,cout_alg); write(l," ");

write(l,q_rtl); write(l," ");

write(l,cout_rtl); write(l," ");

write(l,q_str); write(l," ");

write(l,cout_str); write(l," ");

write(l,t); write(l," ");

writeline(output,l);

wait for 5ns;

end process;

end behavior;

model1.bat

vhdl bibl.vhd >bibl.txt

vhdl model.vhd >model.txt

vhdl project.vhd >project.txt

link project project project > link.txt

sv 180ns project > test.txt

Результат процедурного моделирования.

c ec r q_alg cout_alg q_rtl cout_rtl q_str cout_str

0 0 0 10000000 0 11111111 1 11111111 1 0ns

0 0 0 10000000 1 10000000 1 10000000 1 5ns

1 0 1 10000000 1 10000000 1 10000000 1 10ns

0 0 1 01000000 1 01000000 1 01000000 1 15ns

1 1 1 01000000 1 01000000 1 01000000 1 20ns

0 1 1 01000000 1 01000000 1 01000000 1 25ns

1 0 1 01000000 1 01000000 1 01000000 1 30ns

0 0 1 00100000 1 00100000 1 00100000 1 35ns

1 0 1 00100000 1 00100000 1 00100000 1 40ns

0 0 1 00010000 1 00010000 1 00010000 1 45ns

1 1 1 00010000 1 00010000 1 00010000 1 50ns

0 1 1 00010000 1 00010000 1 00010000 1 55ns

1 1 1 00010000 1 00010000 1 00010000 1 60ns

0 1 1 00010000 1 00010000 1 00010000 1 65ns

1 0 1 00010000 1 00010000 1 00010000 1 70ns

0 0 1 00001000 0 00001000 0 00001000 0 75ns

1 0 1 00001000 0 00001000 0 00001000 0 80ns

0 0 1 00000100 0 00000100 0 00000100 0 85ns

1 1 1 00000100 0 00000100 0 00000100 0 90ns

0 1 1 00000100 0 00000100 0 00000100 0 95ns

1 1 1 00000100 0 00000100 0 00000100 0 100n

0 1 1 00000100 0 00000100 0 00000100 0 105n

1 0 1 00000100 0 00000100 0 00000100 0 110n

0 0 1 00000010 0 00000010 0 00000010 0 115n

1 0 1 00000010 0 00000010 0 00000010 0 120n

0 0 1 00000001 0 00000001 0 00000001 0 125n

0 1 1 00000001 0 00000001 0 00000001 0 130n

1 1 1 00000001 0 00000001 0 00000001 0 135n

0 1 1 00000001 0 00000001 0 00000001 0 140n

1 1 1 00000001 0 00000001 0 00000001 0 145n

0 0 1 10000000 1 10000000 1 10000000 1 150n

1 0 1 10000000 1 10000000 1 10000000 1 155n

0 0 1 01000000 1 01000000 1 01000000 1 160n

1 0 1 01000000 1 01000000 1 01000000 1 165n

0 1 1 00100000 1 00100000 1 00100000 1 170n

1 1 1 00100000 1 00100000 1 00100000 1 175n

0 1 1 00100000 1 00100000 1 00100000 1 180n

Соседние файлы в папке var 23