mac_mult_99h1.tdf 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --alt_mac_mult DATAA_CLEAR="NONE" DATAA_CLOCK="NONE" DATAA_WIDTH=10 DATAB_CLEAR="NONE" DATAB_CLOCK="NONE" DATAB_WIDTH=11 MULT_CLEAR="NONE" MULT_CLOCK="NONE" MULT_INPUT_A_IS_CONSTANT="NO" MULT_INPUT_B_IS_CONSTANT="NO" MULT_PIPELINE=0 MULT_REPRESENTATION_A="SIGNED" MULT_REPRESENTATION_B="SIGNED" OUTPUT_CLEAR="NONE" OUTPUT_CLOCK="NONE" OUTPUT_WIDTH=21 SIGNA_CLEAR="NONE" SIGNA_CLOCK="NONE" SIGNB_CLEAR="NONE" SIGNB_CLOCK="NONE" dataa datab dataout signa(vcc) signb(vcc) CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48 DEVICE_FAMILY="Cyclone IV E"
  2. --VERSION_BEGIN 13.0 cbx_alt_mac_mult 2013:04:24:18:08:47:SJ cbx_mgl 2013:04:24:18:11:10:SJ VERSION_END
  3. -- Copyright (C) 1991-2013 Altera Corporation
  4. -- Your use of Altera Corporation's design tools, logic functions
  5. -- and other software and tools, and its AMPP partner logic
  6. -- functions, and any output files from any of the foregoing
  7. -- (including device programming or simulation files), and any
  8. -- associated documentation or information are expressly subject
  9. -- to the terms and conditions of the Altera Program License
  10. -- Subscription Agreement, Altera MegaCore Function License
  11. -- Agreement, or other applicable license agreement, including,
  12. -- without limitation, that your use is for the sole purpose of
  13. -- programming logic devices manufactured by Altera and sold by
  14. -- Altera or its authorized distributors. Please refer to the
  15. -- applicable agreement for further details.
  16. FUNCTION mult_3go (dataa[9..0], datab[10..0])
  17. RETURNS ( result[20..0]);
  18. --synthesis_resources = lut 151
  19. SUBDESIGN mac_mult_99h1
  20. (
  21. dataa[9..0] : input;
  22. datab[10..0] : input;
  23. dataout[20..0] : output;
  24. signa : input;
  25. signb : input;
  26. )
  27. VARIABLE
  28. mult1 : mult_3go;
  29. const_node_signa : NODE;
  30. const_node_signb : NODE;
  31. tmp_dataout[20..0] : WIRE;
  32. x_dataa[9..0] : WIRE;
  33. x_datab[10..0] : WIRE;
  34. x_output[20..0] : WIRE;
  35. BEGIN
  36. mult1.dataa[] = x_dataa[];
  37. mult1.datab[] = x_datab[];
  38. dataout[] = tmp_dataout[];
  39. const_node_signa = signa;
  40. const_node_signb = signb;
  41. tmp_dataout[] = x_output[];
  42. x_dataa[] = ( dataa[]);
  43. x_datab[] = ( datab[]);
  44. x_output[20..0] = mult1.result[20..0];
  45. END;
  46. --VALID FILE