lut3.v

来自「和picoblaze完全兼容的mcu ip core」· Verilog 代码 · 共 69 行

V
69
字号
// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/unisims/LUT3.v,v 1.6 2005/03/14 22:32:54 yanx Exp $///////////////////////////////////////////////////////////////////////////////// Copyright (c) 1995/2004 Xilinx, Inc.// All Right Reserved./////////////////////////////////////////////////////////////////////////////////   ____  ____//  /   /\/   /// /___/  \  /    Vendor : Xilinx// \   \   \/     Version : 8.1i (I.13)//  \   \         Description : Xilinx Functional Simulation Library Component//  /   /                  3-input Look-Up-Table with General Output// /___/   /\     Filename : LUT3.v// \   \  /  \    Timestamp : Thu Mar 25 16:42:54 PST 2004//  \___\/\___\//// Revision://    03/23/04 - Initial version.//    02/04/05 - Rev 0.0.1 Replace premitive with function; Remove buf.// End Revision`timescale  100 ps / 10 psmodule LUT3 (O, I0, I1, I2);    parameter INIT = 8'h00;    input I0, I1, I2;    output O;    reg O;    reg tmp;      always @(  I2 or  I1 or  I0 )  begin      tmp =  I0 ^ I1  ^ I2;      if ( tmp == 0 || tmp == 1)           O = INIT[{I2, I1, I0}];      else           O = lut3_mux4 ( {1'b0, 1'b0, lut3_mux4 (INIT[7:4], {I1, I0}),                          lut3_mux4 (INIT[3:0], {I1, I0}) }, {1'b0, I2});    end  function lut3_mux4;  input [3:0] d;  input [1:0] s;  begin       if ((s[1]^s[0] ==1) || (s[1]^s[0] ==0))           lut3_mux4 = d[s];         else if ((d[0] === d[1]) && (d[2] === d[3]) && (d[0] === d[2]))           lut3_mux4 = d[0];         else if ((s[1] == 0) && (d[0] === d[1]))           lut3_mux4 = d[0];         else if ((s[1] == 1) && (d[2] === d[3]))           lut3_mux4 = d[2];         else if ((s[0] == 0) && (d[0] === d[2]))           lut3_mux4 = d[0];         else if ((s[0] == 1) && (d[1] === d[3]))           lut3_mux4 = d[1];         else           lut3_mux4 = 1'bx;   end   endfunctionendmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?