描述
一般描述:
如何使用ABEL、Verilog或VHDL实现一个锁存器?
解决方案
下面的代码演示如何创建注册和组合锁存器ABEL:
//挂号锁存器
模块顶部
DATA0引脚;
插销使能销;
Out0PIN istype“Reg”;
方程
Out0:= DATA0;
OUT0.LH =锁存使能;
端盖
//组合锁存器
模块锁存器
数据引脚;
闩销;
Douthististype“留住”;
//douthTimp节点istype“留存”;
方程
DAT=数据和锁存器门闩
数据和/或冗余乘积项
//DouthTimp=数据和锁存器;
//DOUT=DutuToMeP数据;锁存器
结束
有两种形式的组合锁存器;注释行是交替形式所必需的。注释的版本可能对以下情况有用数据方程很大。因为“保留”属性,当数据方程大,软件将不能适当地最小化逻辑,从而导致高的产品使用期限。
下面的代码演示如何使用VHDL语言:
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体顶部
端口(
门:在STDYLogic中;
DIN:在STDYLogic中;
输出逻辑
;
端部顶部;
顶楼建筑
开始
进程(门,DIN)
开始
如果门=“1”,那么
DUT和DIN;
如果结束;
结束过程;
顶拱;
下面的代码演示如何使用Verilog:
模块顶部(DIN,GATE,DOUT);
输入DIN;
输入门;
输出输出;
Reg Dout;
总是@(门或DIN)
开始
如果(门)
DIN = DIN;
结束
终端模块
没有回复内容