logo资料库

alu实验代码.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
module alu(a,b,aluc,r,z); input [31:0] a,b; input [3:0] aluc; output [31:0] r; output z; assign r = cal (a,b,aluc); assign z =~|r; function [31:0] cal; input [31:0] a,b; input [3:0] aluc; casex(aluc) 4'bx000:cal =a + b; 4'bx100:cal =a - b; 4'bx001:cal =a & b; 4'bx101:cal =a | b; 4'bx010:cal =a ^ b; 4'bx110:cal ={b[15:0],16'h0}; 4'bx011:cal =b << a[4:0]; 4'b0111:cal =b >> a[4:0]; 4'b1111:cal =$signed(b) >>> a[4:0]; endcase endfunction endmodule // megafunction wizard: %LPM_COUNTER% // GENERATION: STANDARD // VERSION: WM1.0 // MODULE: LPM_COUNTER LPM_COUNTER // ============================================================ // File Name: lpm_counter4.v // Megafunction Name(s): // // // Simulation Library Files(s): // // ============================================================ // ************************************************************ lpm
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! // // 13.0.1 Build 232 06/12/2013 SP 1 SJ Full Version // ************************************************************ //Copyright (C) 1991-2013 Altera Corporation //Your use of Altera Corporation's design tools, logic functions //and other software and tools, and its AMPP partner logic //functions, and any output files from any of the foregoing //(including device programming or simulation files), and any //associated documentation or information are expressly subject //to the terms and conditions of the Altera Program License //Subscription Agreement, Altera MegaCore Function License //Agreement, or other applicable license agreement, including, //without limitation, that your use is for the sole purpose of //programming logic devices manufactured by Altera and sold by //Altera or its authorized distributors. Please refer to the //applicable agreement for further details. // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module lpm_counter4 ( clock, q); input output clock; [3:0] q; wire [3:0] sub_wire0; wire [3:0] q = sub_wire0[3:0]; lpm_counter LPM_COUNTER_component ( .clock (clock), .q (sub_wire0), .aclr (1'b0), .aload (1'b0), .aset (1'b0), .cin (1'b1), .clk_en (1'b1), .cnt_en (1'b1), .cout (),
.data ({4{1'b0}}), .eq (), .sclr (1'b0), .sload (1'b0), .sset (1'b0), .updown (1'b1)); defparam LPM_COUNTER_component.lpm_direction = "UP", LPM_COUNTER_component.lpm_port_updown = "PORT_UNUSED", LPM_COUNTER_component.lpm_type = "LPM_COUNTER", LPM_COUNTER_component.lpm_width = 4; endmodule // ============================================================ // CNX file retrieval info // ============================================================ // Retrieval info: PRIVATE: ACLR NUMERIC "0" // Retrieval info: PRIVATE: ALOAD NUMERIC "0" // Retrieval info: PRIVATE: ASET NUMERIC "0" // Retrieval info: PRIVATE: ASET_ALL1 NUMERIC "1" // Retrieval info: PRIVATE: CLK_EN NUMERIC "0" // Retrieval info: PRIVATE: CNT_EN NUMERIC "0" // Retrieval info: PRIVATE: CarryIn NUMERIC "0" // Retrieval info: PRIVATE: CarryOut NUMERIC "0" // Retrieval info: PRIVATE: Direction NUMERIC "0" // Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone" // Retrieval info: PRIVATE: ModulusCounter NUMERIC "0" // Retrieval info: PRIVATE: ModulusValue NUMERIC "0" // Retrieval info: PRIVATE: SCLR NUMERIC "0" // Retrieval info: PRIVATE: SLOAD NUMERIC "0" // Retrieval info: PRIVATE: SSET NUMERIC "0" // Retrieval info: PRIVATE: SSET_ALL1 NUMERIC "1" // Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" // Retrieval info: PRIVATE: nBit NUMERIC "4" // Retrieval info: PRIVATE: new_diagram STRING "1" // Retrieval info: LIBRARY: lpm lpm.lpm_components.all // Retrieval info: CONSTANT: LPM_DIRECTION STRING "UP" // Retrieval info: CONSTANT: LPM_PORT_UPDOWN STRING "PORT_UNUSED" // Retrieval info: CONSTANT: LPM_TYPE STRING "LPM_COUNTER" // Retrieval info: CONSTANT: LPM_WIDTH NUMERIC "4" // Retrieval info: USED_PORT: clock 0 0 0 0 INPUT NODEFVAL "clock" // Retrieval info: USED_PORT: q 0 0 4 0 OUTPUT NODEFVAL "q[3..0]"
// Retrieval info: CONNECT: @clock 0 0 0 0 clock 0 0 0 0 // Retrieval info: CONNECT: q 0 0 4 0 @q 0 0 4 0 // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4.v TRUE // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4.inc FALSE // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4.cmp FALSE // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4.bsf TRUE FALSE // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4_inst.v FALSE // Retrieval info: GEN_FILE: TYPE_NORMAL lpm_counter4_bb.v TRUE // Retrieval info: LIB_FILE: lpm module ext8to32(a,s);// input [7:0] a; output [31:0] s; assign s={4{a}};// endmodule
分享到:
收藏