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] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 lucas.vbal
--lpm_abs CARRY_CHAIN="MANUAL" DEVICE_FAMILY="Cyclone IV E" IGNORE_CARRY_BUFFERS="OFF" LPM_WIDTH=16 data result
2
--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
3
 
4
 
5
-- Copyright (C) 2017  Intel Corporation. All rights reserved.
6
--  Your use of Intel Corporation's design tools, logic functions
7
--  and other software and tools, and its AMPP partner logic
8
--  functions, and any output files from any of the foregoing
9
--  (including device programming or simulation files), and any
10
--  associated documentation or information are expressly subject
11
--  to the terms and conditions of the Intel Program License
12
--  Subscription Agreement, the Intel Quartus Prime License Agreement,
13
--  the Intel MegaCore Function License Agreement, or other
14
--  applicable license agreement, including, without limitation,
15
--  that your use is for the sole purpose of programming logic
16
--  devices manufactured by Intel and sold by Intel or its
17
--  authorized distributors.  Please refer to the applicable
18
--  agreement for further details.
19
 
20
 
21
FUNCTION carry_sum (cin, sin)
22
RETURNS ( cout, sout);
23
 
24
--synthesis_resources = lut 16
25
SUBDESIGN lpm_abs_k0a
26
(
27
        data[15..0]     :       input;
28
        overflow        :       output;
29
        result[15..0]   :       output;
30
)
31
VARIABLE
32
        cs1a[15..0] : carry_sum;
33
        result_tmp[15..0]       : WIRE;
34
 
35
BEGIN
36
        cs1a[].cin = ( ((data[15..15] $ data[15..1]) & cs1a[14..0].cout), ((! data[0..0]) & data[15..15]));
37
        cs1a[].sin = ( ((data[15..15] $ data[15..1]) $ cs1a[14..0].cout), data[0..0]);
38
        overflow = (result_tmp[15..15] & data[15..15]);
39
        result[] = result_tmp[];
40
        result_tmp[] = ( cs1a[15..1].sout, data[0..0]);
41
END;
42
--VALID FILE

powered by: WebSVN 2.1.0

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