MAXPLUS软件的使用(第3章 第5节)(6)

2019-04-22 18:28

VARIABLE

ss: MACHINE WITH STATES (s0, s1, s2, s3); zd: NODE; BEGIN

ss.clk = clk; ss.reset = reset;

z = DFF(zd, clk, VCC, VCC); TABLE

% current current next next % % state input state output % ss, y => ss, zd; s0, 0 => s0, 0; s0, 1 => s2, 1; s1, 0 => s0, 0; s1, 1 => s2, 1; s2, 0 => s2, 1; s2, 1 => s3, 0; s3, 0 => s3, 0; s3, 1 => s1, 1; END TABLE; END;

例9:异步状态机 SUBDESIGN mealy (

clk : INPUT; reset : INPUT; y : INPUT; z : OUTPUT; )

VARIABLE

ss: MACHINE WITH STATES (s0, s1, s2, s3); BEGIN ss.clk = clk; ss.reset = reset; TABLE

139

% current current current next % % state input output state % ss, y => z, ss;

s0, 0 => 0, s0; s0, 1 => 1, s1; s1, 0 => 1, s1; s1, 1 => 0, s2; s2, 0 => 0, s2, 1 => 1, s3, 0 => 0, s3, 1 => 1, END TABLE; END;

例10:非指定状态的处理 例:

SUBDESIGN recover (

clk : INPUT; go : INPUT; ok : OUTPUT; )

VARIABLE

sequence : MACHINE OF BITS (q[2..0]) WITH STATES ( idle, one, two, three, four, illegal1, illegal2, illegal3);

s2; s3; s3; s0; 140

BEGIN

sequence.clk = clk; CASE sequence IS WHEN idle => IF go THEN sequence = one; END IF; WHEN one => sequence = two; WHEN two => sequence = three; WHEN three => sequence = four;

WHEN OTHERS => %其它状态转入idle% sequence = idle; END CASE;

ok = (sequence == four); END;

(6)基本逻辑模块/老型号宏功能模块/某些巨功能模块的使用

这些模块放在\\maxplus2\\max2lib\\mega_lpm和\\maxplus2\\max2inc子目录中,使用包括(Include)语句,可以使的这些文件在TDF文件中使用。 使用方法:

1. 在变量段声明这些模块的引用变量

2. 在逻辑段用<引用名>.<端口名>的格式使用端口

如下例子是四位计数器连接四/十六译码器,这些模块的引用在变量段的引用声明说明的。 INCLUDE \INCLUDE \SUBDESIGN macro1 (

clk : INPUT; out[15..0] : OUTPUT; )

VARIABLE counter : 4count;

141

decoder : 16dmux; BEGIN

counter.clk = clk; counter.dnup = GND;

decoder.(d,c,b,a) = counter.(qd,qc,qb,qa); out[15..0] = decoder.q[15..0]; END;

该例子中使用了ALTERA提供的宏函数4count和16dmux,它们在变量段给予了声明,使counter代表4count,decoder代表16dmux,两个函数的输入口以<引用名>.<端口名>的格式在逻辑段布尔表达式的左边,输出口以同样的方式放在右边。

这两个被引用的函数放在4count.inc和16dmux.inc文件中,定义如下: FUNCTION 4count (clk, clrn, setn, ldn, cin, dnup, d, c, b, a) RETURNS (qd, qc, qb, qa, cout); FUNCTION 16dmux (d, c, b, a) RETURNS (q[15..0]);

(7)创造宏功能和巨功能模块

创造一个AHDL能用的宏功能和巨功能模块需要如下步骤: 1)编译和仿真设计文件以保证设计的正确性 2)最好建立一个专门的子目录放设计文件 3)打开文本编辑器窗口,调入设计文件

4)选择File/Create Default Include File菜单建立TDF能使用的包括文件 5)选择File/Create Default Symbol菜单建立图形编辑器能使用的符号文件

142


MAXPLUS软件的使用(第3章 第5节)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:秦腔《安安送米》剧本

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: