faceoff的笔记 https://bbs.21ic.com/?460399 [收藏] [复制] [RSS]

日志

winCupl-实现一个4D触发器(转自: 吴健)

已有 1700 次阅读2007-8-7 15:50 |个人分类:DSP和CPLD|系统分类:EDA/PLD| wincupl, D触发器

前面我们学习了Cupl简单的编程,现在我们学一个很特别,也是很有用处的用法,就是用引脚扩展名。

    我们原来学D触发器的时候,如果全部用组合逻辑来实现,推导出来的式子会很长很长,如果这么傻做的话,会很麻烦。现在我们用引脚扩展名来实现就很方便。


   我们以GAL16V8B(在WinCupl中对应的编译型号为g16v8a)为例,GAL16V8B一共有20个引脚。第1引脚是CLK,即时钟引脚,第2~9引脚是输入引脚,共8个。第10引脚是地,第11引脚是OE,低电平禁止,高电平允许。第12~19是输出引脚,共8个,第20引脚是电源,一般可接+5V。


   现在我们用该器件来实现一个4D触发器,即4个同样的D触发器。


   在WinCupl中新建一个工程,文件内容如下:


Name     DSample ;
PartNo   00 ;
Date     2006-8-9 ;
Revision 01 ;
Designer Wu Jian ;
Company  Tale ;
Assembly None ;
Location  ;
Device   g16v8a ;


/* *************** INPUT PINS *********************/
PIN  [2..5]  = [A1..4];
/* *************** OUTPUT PINS *********************/
PIN 18 = Q1;
PIN 17 = Q2;
PIN 16 = Q3;
PIN 15 = Q4;


Q1.D = A1;
Q2.D = A2;
Q3.D = A3;
Q4.D = A4;


     很有意思吧。关键是最后的QX.D。这个“.D”表示把Q1~Q4当D触发器用。A1~A4就是这4个D触发器的输入端,Q1~Q4就是D触发器的输出端,正好4个。有人就要问了,时钟端呢?不要急,GAL16V8B的第1个引脚就是时钟端,当时钟端的输入信号出现上升沿的时候就将第2~5引脚的信号锁存到第18~15引脚。而11引脚可以当OE使能端用,正好一个D触发器。


    本文件编译后,在Proteus软件中的仿真图如下所示:



     好了,这个图大家可以自己去仿真。如果看过我的文章后对您有帮助的话,就达到我的目的了。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)