OpenCores
URL https://opencores.org/ocsvn/2d_game_console/2d_game_console/trunk

Subversion Repositories 2d_game_console

[/] [2d_game_console/] [trunk/] [Processor_Quartus/] [db/] [lpm_abs_k0a.tdf] - Rev 2

Compare with Previous | Blame | View Log

--lpm_abs CARRY_CHAIN="MANUAL" DEVICE_FAMILY="Cyclone IV E" IGNORE_CARRY_BUFFERS="OFF" LPM_WIDTH=16 data result
--VERSION_BEGIN 17.0 cbx_cycloneii 2017:04:25:18:06:29:SJ cbx_lpm_abs 2017:04:25:18:06:29:SJ cbx_lpm_add_sub 2017:04:25:18:06:29:SJ cbx_mgl 2017:04:25:18:09:28:SJ cbx_nadder 2017:04:25:18:06:30:SJ cbx_stratix 2017:04:25:18:06:30:SJ cbx_stratixii 2017:04:25:18:06:30:SJ cbx_util_mgl 2017:04:25:18:06:30:SJ  VERSION_END


-- Copyright (C) 2017  Intel Corporation. All rights reserved.
--  Your use of Intel 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 Intel Program License 
--  Subscription Agreement, the Intel Quartus Prime License Agreement,
--  the Intel 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 Intel and sold by Intel or its 
--  authorized distributors.  Please refer to the applicable 
--  agreement for further details.


FUNCTION carry_sum (cin, sin)
RETURNS ( cout, sout);

--synthesis_resources = lut 16 
SUBDESIGN lpm_abs_k0a
( 
        data[15..0]     :       input;
        overflow        :       output;
        result[15..0]   :       output;
) 
VARIABLE 
        cs1a[15..0] : carry_sum;
        result_tmp[15..0]       : WIRE;

BEGIN 
        cs1a[].cin = ( ((data[15..15] $ data[15..1]) & cs1a[14..0].cout), ((! data[0..0]) & data[15..15]));
        cs1a[].sin = ( ((data[15..15] $ data[15..1]) $ cs1a[14..0].cout), data[0..0]);
        overflow = (result_tmp[15..15] & data[15..15]);
        result[] = result_tmp[];
        result_tmp[] = ( cs1a[15..1].sout, data[0..0]);
END;
--VALID FILE

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.