简介:
用Verilog实现一个3-8译码器。可分别用结构描述和行为描述的方式实现,目的是比较两种方式在实现目标电路时的优劣性。一般数字系统设计中行为描述会用于较高层次的电路设计,而结构描述多用于实现更底层的逻辑功能。
代码实现:
/*--------------------------------------------------
Filename: decoder3_8_02.v
Function: 用结构描述的方式实现一个可综合的3—8译码器
Author: Zhang Kaizhou
Date: 2019-10-24 20:50:28
--------------------------------------------------*/
module decoder3_8_02(ena, addr, y);
//定义输入输出
input ena;
input [2 : 0] addr;
output [7 : 0] y;
//内部连线定义
wire naddr0, naddr1, naddr2;
//结构描述的方式实现
not nt0(naddr0, addr[0]);
not nt1(naddr1, addr[1]);
not nt2(naddr2, addr[2]);
and ad0(y[0], naddr2, naddr1, naddr0, ena);
and ad1(y[1], naddr2, naddr1, addr[0], ena);
and ad2(y[2], naddr2, addr[1], naddr0, ena);
and ad3(y[3], naddr2, addr[1], addr[0], ena);
and ad4(y[4], addr[2], naddr1, naddr0, ena);
and ad5(y[5], addr[2], naddr1, addr[0], ena);
and ad6(y[6], addr[2], addr[1], naddr0, ena);
and ad7(y[7], add