alt_u_div_sfd.tdf
上传用户:whms_168
上传日期:2022-08-09
资源大小:592k
文件大小:9k
源码类别:

VHDL/FPGA/Verilog

开发平台:

Others

  1. --alt_u_div DEVICE_FAMILY="MAX II" LPM_PIPELINE=0 MAXIMIZE_SPEED=5 WIDTH_D=4 WIDTH_N=8 WIDTH_Q=8 WIDTH_R=4 denominator numerator quotient remainder
  2. --VERSION_BEGIN 5.1 cbx_cycloneii 2005:08:30:10:31:44:SJ cbx_lpm_abs 2005:08:17:17:24:32:SJ cbx_lpm_add_sub 2005:09:30:12:13:06:SJ cbx_lpm_divide 2005:03:24:20:40:32:SJ cbx_mgl 2005:10:09:07:39:04:SJ cbx_stratix 2005:10:07:15:53:08:SJ cbx_stratixii 2005:07:27:05:50:56:SJ cbx_util_mgl 2005:09:13:05:23:22:SJ  VERSION_END
  3. --  Copyright (C) 1991-2005 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 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 add_sub_v88 (dataa[0..0], datab[0..0])
  17. RETURNS ( cout, result[0..0]);
  18. FUNCTION add_sub_098 (dataa[1..0], datab[1..0])
  19. RETURNS ( cout, result[1..0]);
  20. FUNCTION add_sub_198 (dataa[2..0], datab[2..0])
  21. RETURNS ( cout, result[2..0]);
  22. FUNCTION add_sub_298 (dataa[3..0], datab[3..0])
  23. RETURNS ( cout, result[3..0]);
  24. FUNCTION add_sub_398 (dataa[4..0], datab[4..0])
  25. RETURNS ( cout, result[4..0]);
  26. --synthesis_resources = 
  27. SUBDESIGN alt_u_div_sfd
  28. den_out[3..0] : output;
  29. denominator[3..0] : input;
  30. numerator[7..0] : input;
  31. quotient[7..0] : output;
  32. remainder[3..0] : output;
  33. VARIABLE 
  34. add_sub_0 : add_sub_v88;
  35. add_sub_1 : add_sub_098;
  36. add_sub_2 : add_sub_198;
  37. add_sub_3 : add_sub_298;
  38. add_sub_4 : add_sub_398;
  39. add_sub_5 : add_sub_398;
  40. add_sub_6 : add_sub_398;
  41. add_sub_7 : add_sub_398;
  42. DenominatorIn[44..0] : WIRE;
  43. DenominatorIn_tmp[44..0] : WIRE;
  44. gnd_wire : WIRE;
  45. nose[71..0] : WIRE;
  46. NumeratorIn[71..0] : WIRE;
  47. NumeratorIn_tmp[71..0] : WIRE;
  48. prestg[39..0] : WIRE;
  49. quotient_tmp[7..0] : WIRE;
  50. sel[35..0] : WIRE;
  51. selnose[71..0] : WIRE;
  52. StageIn[44..0] : WIRE;
  53. StageIn_tmp[44..0] : WIRE;
  54. StageOut[39..0] : WIRE;
  55. BEGIN 
  56. add_sub_0.dataa[0..0] = NumeratorIn[7..7];
  57. add_sub_0.datab[0..0] = DenominatorIn[0..0];
  58. add_sub_1.dataa[] = ( StageIn[5..5], NumeratorIn[14..14]);
  59. add_sub_1.datab[1..0] = DenominatorIn[6..5];
  60. add_sub_2.dataa[] = ( StageIn[11..10], NumeratorIn[21..21]);
  61. add_sub_2.datab[2..0] = DenominatorIn[12..10];
  62. add_sub_3.dataa[] = ( StageIn[17..15], NumeratorIn[28..28]);
  63. add_sub_3.datab[3..0] = DenominatorIn[18..15];
  64. add_sub_4.dataa[] = ( StageIn[23..20], NumeratorIn[35..35]);
  65. add_sub_4.datab[4..0] = DenominatorIn[24..20];
  66. add_sub_5.dataa[] = ( StageIn[28..25], NumeratorIn[42..42]);
  67. add_sub_5.datab[4..0] = DenominatorIn[29..25];
  68. add_sub_6.dataa[] = ( StageIn[33..30], NumeratorIn[49..49]);
  69. add_sub_6.datab[4..0] = DenominatorIn[34..30];
  70. add_sub_7.dataa[] = ( StageIn[38..35], NumeratorIn[56..56]);
  71. add_sub_7.datab[4..0] = DenominatorIn[39..35];
  72. den_out[3..0] = DenominatorIn[38..35];
  73. DenominatorIn[] = (gnd_wire # DenominatorIn_tmp[]);
  74. DenominatorIn_tmp[] = ( DenominatorIn[39..0], ( gnd_wire, denominator[]));
  75. gnd_wire = B"0";
  76. nose[] = ( B"00000000", (add_sub_7.cout # gnd_wire), B"00000000", (add_sub_6.cout # gnd_wire), B"00000000", (add_sub_5.cout # gnd_wire), B"00000000", (add_sub_4.cout # gnd_wire), B"00000000", (add_sub_3.cout # gnd_wire), B"00000000", (add_sub_2.cout # gnd_wire), B"00000000", (add_sub_1.cout # gnd_wire), B"00000000", (add_sub_0.cout # gnd_wire));
  77. NumeratorIn[] = (gnd_wire # NumeratorIn_tmp[]);
  78. NumeratorIn_tmp[] = ( NumeratorIn[63..0], numerator[]);
  79. prestg[] = ( add_sub_7.result[], add_sub_6.result[], add_sub_5.result[], add_sub_4.result[], GND, add_sub_3.result[], B"00", add_sub_2.result[], B"000", add_sub_1.result[], B"0000", add_sub_0.result[]);
  80. quotient[] = quotient_tmp[];
  81. quotient_tmp[] = ( (! selnose[0..0]), (! selnose[9..9]), (! selnose[18..18]), (! selnose[27..27]), (! selnose[36..36]), (! selnose[45..45]), (! selnose[54..54]), (! selnose[63..63]));
  82. remainder[3..0] = StageIn[43..40];
  83. sel[] = ( gnd_wire, (gnd_wire # (sel[35..35] # DenominatorIn[43..43])), (gnd_wire # (sel[34..34] # DenominatorIn[42..42])), (gnd_wire # (sel[33..33] # DenominatorIn[41..41])), gnd_wire, (gnd_wire # (sel[31..31] # DenominatorIn[38..38])), (gnd_wire # (sel[30..30] # DenominatorIn[37..37])), (gnd_wire # (sel[29..29] # DenominatorIn[36..36])), gnd_wire, (gnd_wire # (sel[27..27] # DenominatorIn[33..33])), (gnd_wire # (sel[26..26] # DenominatorIn[32..32])), (gnd_wire # (sel[25..25] # DenominatorIn[31..31])), gnd_wire, (gnd_wire # (sel[23..23] # DenominatorIn[28..28])), (gnd_wire # (sel[22..22] # DenominatorIn[27..27])), (gnd_wire # (sel[21..21] # DenominatorIn[26..26])), gnd_wire, (gnd_wire # (sel[19..19] # DenominatorIn[23..23])), (gnd_wire # (sel[18..18] # DenominatorIn[22..22])), (gnd_wire # (sel[17..17] # DenominatorIn[21..21])), gnd_wire, (gnd_wire # (sel[15..15] # DenominatorIn[18..18])), (gnd_wire # (sel[14..14] # DenominatorIn[17..17])), (gnd_wire # (sel[13..13] # DenominatorIn[16..16])), gnd_wire, (gnd_wire # (sel[11..11] # DenominatorIn[13..13])), (gnd_wire # (sel[10..10] # DenominatorIn[12..12])), (gnd_wire # (sel[9..9] # DenominatorIn[11..11])), gnd_wire, (gnd_wire # (sel[7..7] # DenominatorIn[8..8])), (gnd_wire # (sel[6..6] # DenominatorIn[7..7])), (gnd_wire # (sel[5..5] # DenominatorIn[6..6])), gnd_wire, (gnd_wire # (sel[3..3] # DenominatorIn[3..3])), (gnd_wire # (sel[2..2] # DenominatorIn[2..2])), (gnd_wire # (sel[1..1] # DenominatorIn[1..1])));
  84. selnose[] = ( (gnd_wire # (! nose[71..71])), (gnd_wire # (! nose[70..70])), (gnd_wire # (! nose[69..69])), (gnd_wire # (! nose[68..68])), ((gnd_wire # (! nose[67..67])) # sel[35..35]), ((gnd_wire # (! nose[66..66])) # sel[34..34]), ((gnd_wire # (! nose[65..65])) # sel[33..33]), ((gnd_wire # (! nose[64..64])) # sel[32..32]), (gnd_wire # (! nose[63..63])), (gnd_wire # (! nose[62..62])), (gnd_wire # (! nose[61..61])), (gnd_wire # (! nose[60..60])), ((gnd_wire # (! nose[59..59])) # sel[31..31]), ((gnd_wire # (! nose[58..58])) # sel[30..30]), ((gnd_wire # (! nose[57..57])) # sel[29..29]), ((gnd_wire # (! nose[56..56])) # sel[28..28]), (gnd_wire # (! nose[55..55])), (gnd_wire # (! nose[54..54])), (gnd_wire # (! nose[53..53])), (gnd_wire # (! nose[52..52])), ((gnd_wire # (! nose[51..51])) # sel[27..27]), ((gnd_wire # (! nose[50..50])) # sel[26..26]), ((gnd_wire # (! nose[49..49])) # sel[25..25]), ((gnd_wire # (! nose[48..48])) # sel[24..24]), (gnd_wire # (! nose[47..47])), (gnd_wire # (! nose[46..46])), (gnd_wire # (! nose[45..45])), (gnd_wire # (! nose[44..44])), ((gnd_wire # (! nose[43..43])) # sel[23..23]), ((gnd_wire # (! nose[42..42])) # sel[22..22]), ((gnd_wire # (! nose[41..41])) # sel[21..21]), ((gnd_wire # (! nose[40..40])) # sel[20..20]), (gnd_wire # (! nose[39..39])), (gnd_wire # (! nose[38..38])), (gnd_wire # (! nose[37..37])), (gnd_wire # (! nose[36..36])), ((gnd_wire # (! nose[35..35])) # sel[19..19]), ((gnd_wire # (! nose[34..34])) # sel[18..18]), ((gnd_wire # (! nose[33..33])) # sel[17..17]), ((gnd_wire # (! nose[32..32])) # sel[16..16]), (gnd_wire # (! nose[31..31])), (gnd_wire # (! nose[30..30])), (gnd_wire # (! nose[29..29])), (gnd_wire # (! nose[28..28])), ((gnd_wire # (! nose[27..27])) # sel[15..15]), ((gnd_wire # (! nose[26..26])) # sel[14..14]), ((gnd_wire # (! nose[25..25])) # sel[13..13]), ((gnd_wire # (! nose[24..24])) # sel[12..12]), (gnd_wire # (! nose[23..23])), (gnd_wire # (! nose[22..22])), (gnd_wire # (! nose[21..21])), (gnd_wire # (! nose[20..20])), ((gnd_wire # (! nose[19..19])) # sel[11..11]), ((gnd_wire # (! nose[18..18])) # sel[10..10]), ((gnd_wire # (! nose[17..17])) # sel[9..9]), ((gnd_wire # (! nose[16..16])) # sel[8..8]), (gnd_wire # (! nose[15..15])), (gnd_wire # (! nose[14..14])), (gnd_wire # (! nose[13..13])), (gnd_wire # (! nose[12..12])), ((gnd_wire # (! nose[11..11])) # sel[7..7]), ((gnd_wire # (! nose[10..10])) # sel[6..6]), ((gnd_wire # (! nose[9..9])) # sel[5..5]), ((gnd_wire # (! nose[8..8])) # sel[4..4]), (gnd_wire # (! nose[7..7])), (gnd_wire # (! nose[6..6])), (gnd_wire # (! nose[5..5])), (gnd_wire # (! nose[4..4])), ((gnd_wire # (! nose[3..3])) # sel[3..3]), ((gnd_wire # (! nose[2..2])) # sel[2..2]), ((gnd_wire # (! nose[1..1])) # sel[1..1]), ((gnd_wire # (! nose[0..0])) # sel[0..0]));
  85. StageIn[] = (gnd_wire # StageIn_tmp[]);
  86. StageIn_tmp[] = ( StageOut[39..0], B"00000");
  87. StageOut[] = ( ((( StageIn[38..35], NumeratorIn[56..56]) & selnose[63..63]) # (prestg[39..35] & (! selnose[63..63]))), ((( StageIn[33..30], NumeratorIn[49..49]) & selnose[54..54]) # (prestg[34..30] & (! selnose[54..54]))), ((( StageIn[28..25], NumeratorIn[42..42]) & selnose[45..45]) # (prestg[29..25] & (! selnose[45..45]))), ((( StageIn[23..20], NumeratorIn[35..35]) & selnose[36..36]) # (prestg[24..20] & (! selnose[36..36]))), ((( StageIn[18..15], NumeratorIn[28..28]) & selnose[27..27]) # (prestg[19..15] & (! selnose[27..27]))), ((( StageIn[13..10], NumeratorIn[21..21]) & selnose[18..18]) # (prestg[14..10] & (! selnose[18..18]))), ((( StageIn[8..5], NumeratorIn[14..14]) & selnose[9..9]) # (prestg[9..5] & (! selnose[9..9]))), ((( StageIn[3..0], NumeratorIn[7..7]) & selnose[0..0]) # (prestg[4..0] & (! selnose[0..0]))));
  88. END;
  89. --VALID FILE