在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3401|回复: 5

synplify ready ip core and other

[复制链接]
发表于 2013-3-19 03:57:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 speak48 于 2013-4-14 02:47 编辑

examples encryted ip i find that on net
http://read.pudn.com/downloads152/sourcecode/embed/668240/CAST_jpeg_d-xact/JPEG_D/openip/hdl/verilog/jpeg_d/jpeg_d_core.v__.htm
see attach whats inside

so send me encrypted any 3rd party ip for decryption





  1. `include "jpeg_d_package.v"

  2. module jpeg_d_core (clk, hd_clk_en, en, rst, clr, mp_out_common_cbus, mp_out_d_cbus, mp_in_d_cbus, pixout_rdy, pixout, pixout_wen, pixout_eob, pixout_lbs, pixout_sob, scanactive, soi_eoi, eos, streamdin, streamfifodatavalid, streamren, ps_fifo_in_cbus, ps_fifo_out_cbus, dht_raddr, dht_dout, idct_in_cbus, idct_out_cbus, idctbuffer_dout, idctbuffer_out_cbus, qt_dout, qtables_out_cbus);

  3.    input clk;                          // Global clock
  4.    input hd_clk_en;                    // Global clock enable
  5.    input en;                           // Enable
  6.    input rst;                          // Asynchronous reset
  7.    input clr;                          // Synchronous clear
  8.    input[82:0] mp_out_common_cbus;     // Data/control bus from markers' parser (common to encode and decode)
  9.    input[42:0] mp_out_d_cbus;          // Data/control bus from markers' parser (only for decoder)
  10.    output[3:0] mp_in_d_cbus;           // Data/control bus to markers' parser from decoder
  11.    wire[3:0] mp_in_d_cbus;
  12.    input pixout_rdy;                   // Ready to accept pixel data
  13.    output[7:0] pixout;                 // Pixel out data
  14.    wire[7:0] pixout;
  15.    output pixout_wen;                  // Pixel out data write enable
  16.    wire pixout_wen;
  17.    output pixout_eob;                  // End of block flag. Masks last sample of each block
  18.    wire pixout_eob;
  19.    output pixout_lbs;                  // Last block in scan flag. Masks last block's samples
  20.    wire pixout_lbs;
  21.    output pixout_sob;                  // Start of block flag. Masks first sample of each block.
  22.    wire pixout_sob;
  23.    output scanactive;                  // Scan-active flag (asserted when the decoder processes ecs data)
  24.    wire scanactive;
  25.    output[1:0] soi_eoi;                // SOI-EOI flags. Asserted when the corresponding marker has been detected.
  26.    wire[1:0] soi_eoi;
  27.    output eos;                         // End Of Scan indicator
  28.    wire eos;
  29.    input[7:0] streamdin;               // Data from stream fifo
  30.    input streamfifodatavalid;          // Data valid flag for data coming from stream fifo
  31.    output streamren;                   // Stream fifo read enable
  32.    wire streamren;
  33.    input[33:0] ps_fifo_in_cbus;        // Control/data bus from Huffman decoder's ouptut fifo
  34.    output[35:0] ps_fifo_out_cbus;      // Control/data bus to Huffman decoder's ouptut fifo
  35.    wire[35:0] ps_fifo_out_cbus;
  36.    output[8:0] dht_raddr;              // Huffman tables read address
  37.    wire[8:0] dht_raddr;
  38.    input[7:0] dht_dout;                // Huffman tables read data
  39.    input[10:0] idct_in_cbus;           // Data/control bus from IDCT
  40.    output[12:0] idct_out_cbus;         // Data/control bus to IDCT
  41.    wire[12:0] idct_out_cbus;
  42.    input[10:0] idctbuffer_dout;        // Data bus from IDCT buffer
  43.    output[29:0] idctbuffer_out_cbus;   // Control/data bus to IDCT buffer
  44.    wire[29:0] idctbuffer_out_cbus;
  45.    input[7:0] qt_dout;                 // Q-tables data
  46.    output[18:0] qtables_out_cbus;      // Control data bus to Q-tables
  47.    wire[18:0] qtables_out_cbus;

  48.    // Internal signal declarations
  49.    wire en1;                           // Global enable (1)

  50.    // Input fifo IF
  51.    wire[3:0] din_fifo_cbus;      // Input fifo control bus
  52.    wire din_fifo_clr_1x;         // Clear input fifo (slow clock domain/output)
  53.    wire din_fifo_empty;          // Input fifo empty flag
  54.    wire din_fifo_full;           // Input fifo full
  55.    wire din_fifo_ren;            // Input fifo read enable
  56.    wire inwait_int;              // Input wait (prevents reading from stream fifo)

  57.    // Q-Tables IF
  58.    wire[9:0] dqt_cbus;           // Q-tables control bus
  59.    wire[1:0] tqi;                // Q-Tables selector
  60.    wire e_d;                     // Enhanced quantization scheme selector

  61.    // Auxiliary Control/Status signals
  62.    wire ecs;                     // Entropy-coded scan processing flag (registered ecs_cu)
  63.    wire ecs_cu;                  // Entropy-coded scan processing flag

  64.    // MCU unit IF
  65.    wire[3:0] frame_himax;        // Maximum horizontal subsampling factor
  66.    wire[3:0] frame_vimax;        // Maximum vertical subsampling factor
  67.    wire[3:0] hi_fast;            // Horizontal subsampling factor (fast)
  68.    wire[3:0] vi_fast;            // Vertical subsampling factor (fast)
  69.    wire[3:0] hi_slow;            // Horizontal subsampling factor (slow)
  70.    wire[3:0] vi_slow;            // Vertical subsampling factor (slow)
  71.    wire[13:0] hmcu;              // Horizontal MCU index
  72.    wire[13:0] vmcu;              // Vertical MCU index
  73.    wire[1:0] mcu_cbus;           // MCU unit control bus
  74.    wire[1:0] mcu_csj;            // MCU's scan-component selector
  75.    wire sen;                     // Enable for latch parameters
  76.    wire[2:0] nf;                 // Number of components in frame
  77.    wire[15:0] x;                 // Number of samples in line
  78.    wire[15:0] y;                 // Number of lines
  79.    wire[15:0] ri;                // Restart interval length
  80.    wire[2:0] ns;                 // Number of components in scan

  81.    // Huffman tables fifo IF
  82.    wire[1:0] htfifo_cbus;        // Huffman Tables fifo control bus
  83.    wire[6:0] ht_cbus;            // Huffman decoder's control bus
  84.    wire ht_fifo_clr;             // Huffman Tables fifo clear
  85.    wire ht_fifo_empty;           // Huffman tables fifo empty
  86.    wire ht_fifo_full;            // Huffman tables fifo full
  87.    wire ht_fifo_ren;             // Huffman Tables fifo read enable
  88.    wire huffd_datavalid;         // Huffman decoder output valid
  89.    wire[7:0] tdin;               // Huffman tables fifo ouptut data

  90.    // Huffman decoder IF
  91.    wire[31:0] huffd_din;         // Huffman decoder input
  92.    wire[31:0] ecs_data;          // Entropy-coded segment data
  93.    wire huffd_en;                // Enable MCU unit
  94.    wire huffd_eob;               // End of block flag from Huffman decoder
  95.    wire huffd_load;              // Load from input fifo (drived from Huffman decoder)
  96.    wire huffd_lum_cr;            // Luminance Chrominance selector
  97.    wire huffd_res;               // Huffman decoder restrat flag
  98.    wire huffdclr;                // Clear MCU unit
  99.    wire taj;                     // AC tables selector

  100.    // IDCT IF
  101.    wire idct_finished;           // IDCT finshed flag
  102.    wire[1:0] idctcu_cbus;        // IDCT control unit control bus

  103.    // Register file IF
  104.    wire[6:0] sof0_cbus;          // SOF0 register control bus
  105.    wire[7:0] sof0ci;             // Component identifier from from SOF0 marker
  106.    wire[4:0] sos_cbus;           // SOS register control bus

  107.    // Implicit buffer signal declarations
  108.    wire eos_internal;

  109.    //-----------------------------------------------------------------------------
  110.    assign streamren = ~inwait_int;
  111.    //-----------------------------------------------------------------------------
  112.    // Assignments to/from control and busses data of markers parse
  113.    //-----------------------------------------------------------------------------
  114.    assign sof0ci      = mp_out_common_cbus[82:75];
  115.    assign frame_himax = mp_out_common_cbus[3:0];
  116.    assign frame_vimax = mp_out_common_cbus[7:4];
  117.    assign ri          = mp_out_common_cbus[23:8];
  118.    //-----------------------------------------------------------------------------
  119.    assign sof0_cbus        = mp_out_d_cbus[6:0];
  120.    assign sos_cbus         = mp_out_d_cbus[23:19];
  121.    assign dqt_cbus         = mp_out_d_cbus[16:7];
  122.    assign htfifo_cbus[1]   = mp_out_d_cbus[18] & en;
  123.    assign htfifo_cbus[0]   = mp_out_d_cbus[17];
  124.    assign idctcu_cbus[1]   = mp_out_d_cbus[27] & en;
  125.    assign idctcu_cbus[0]   = mp_out_d_cbus[26] & en;
  126.    assign din_fifo_cbus[3] = mp_out_d_cbus[31] & en;
  127.    assign din_fifo_cbus[2] = mp_out_d_cbus[30] & en;
  128.    assign din_fifo_cbus[1] = mp_out_d_cbus[29] & en;
  129.    assign din_fifo_cbus[0] = mp_out_d_cbus[28] & en;
  130.    assign mcu_cbus[1]      = mp_out_d_cbus[25] & en;
  131.    assign mcu_cbus[0]      = mp_out_d_cbus[24] & en;
  132.    assign inwait_int       = mp_out_d_cbus[42];
  133.    assign e_d              = mp_out_d_cbus[38];
  134.    assign ecs_cu           = mp_out_d_cbus[37];
  135.    assign sen              = mp_out_d_cbus[39] & en;
  136.    assign soi_eoi          = mp_out_d_cbus[41:40];
  137.    //-----------------------------------------------------------------------------
  138.    assign mp_in_d_cbus[0] = idct_finished;
  139.    assign mp_in_d_cbus[1] = ht_fifo_empty;
  140.    assign mp_in_d_cbus[2] = ht_fifo_full;
  141.    assign mp_in_d_cbus[3] = din_fifo_full;
  142.    //-----------------------------------------------------------------------------
  143.    assign en1 = en & hd_clk_en;
  144.    //-----------------------------------------------------------------------------
  145.    // Assert input fifo read enable, when global enable is asserted, huffman decoder is enabled,
  146.    // and huffman decoder asks for a new data
  147.    assign din_fifo_ren = huffd_en & huffd_load & en;
  148.    // Input to huffman decoder is either ecs-data (during decoding mode)
  149.    // or table specification data (during tables-programming mode)
  150.    assign huffd_din = (ecs == 1) ? ecs_data : {ecs_data[31:8], tdin};
  151.    // Clear read register of input fifo, whenever huffman decoder is cleared
  152.    assign din_fifo_clr_1x = (huffdclr | htfifo_cbus[0]) & en;

  153.    // Instance port mappings.
  154.    din_fifo u_din_fifo (
  155.                         .clk(clk),
  156.                         .hd_clk_en(hd_clk_en),
  157.                         .clrx1(din_fifo_clr_1x),
  158.                         .clrx4(din_fifo_cbus[1]),
  159.                         .din(streamdin),
  160.                         .en(en),
  161.                         .flush(din_fifo_cbus[3]),
  162.                         .ren(din_fifo_ren),
  163.                         .rst(rst),
  164.                         .wen(din_fifo_cbus[2]),
  165.                         .dout(ecs_data),
  166.                         .empty(din_fifo_empty),
  167.                         .full(din_fifo_full)
  168.                        );

  169.    ecs_data_processor u_ecs_data_processor (
  170.                                             .clk(clk),
  171.                                             .hd_clk_en(hd_clk_en),
  172.                                             .en(en),
  173.                                             .rst(rst),
  174.                                             .clr(clr),
  175.                                             .csj(mcu_csj),
  176.                                             .din_fifo_empty(din_fifo_empty),
  177.                                             .ecs(ecs),
  178.                                             .eos(eos_internal),
  179.                                             .ps_fifo_in_cbus(ps_fifo_in_cbus),
  180.                                             .dht_raddr(dht_raddr),
  181.                                             .dht_dout(dht_dout),
  182.                                             .ps_fifo_out_cbus(ps_fifo_out_cbus),
  183.                                             .huffd_run_program(ht_cbus[6]),
  184.                                             .huffd_cu_en(mcu_cbus[1]),
  185.                                             .huffd_res(huffd_res),
  186.                                             .huffd_din(huffd_din),
  187.                                             .huffd_cu_clr(mcu_cbus[0]),
  188.                                             .huffd_lum_cr(huffd_lum_cr),
  189.                                             .huffd_code_symbol(ht_cbus[5]),
  190.                                             .huffd_en_w(ht_cbus[1]),
  191.                                             .huffd_clr_w(ht_cbus[0]),
  192.                                             .huffd_use_ac_dc(ht_cbus[3]),
  193.                                             .huffd_ac_dc(ht_cbus[4]),
  194.                                             .huffdclr(huffdclr),
  195.                                             .huffd_eob(huffd_eob),
  196.                                             .huffd_load(huffd_load),
  197.                                             .huffd_datavalid(huffd_datavalid),
  198.                                             .huffden_r(huffd_en),
  199.                                             .idct_buffdout(idctbuffer_dout),
  200.                                             .idctbuffer_out_cbus(idctbuffer_out_cbus),
  201.                                             .idct_in_cbus(idct_in_cbus),
  202.                                             .idct_cu_clr(idctcu_cbus[0]),
  203.                                             .idct_cu_en(idctcu_cbus[1]),
  204.                                             .idct_finished(idct_finished),
  205.                                             .idct_out_cbus(idct_out_cbus),
  206.                                             .qt_din(streamdin),
  207.                                             .qt_dout(qt_dout),
  208.                                             .qt_en_w(dqt_cbus[0]),
  209.                                             .qt_tq_w(dqt_cbus[9:8]),
  210.                                             .qt_wen(dqt_cbus[1]),
  211.                                             .tqi(tqi),
  212.                                             .ns(ns),
  213.                                             .e_d(e_d),
  214.                                             .qt_addr_w(dqt_cbus[7:2]),
  215.                                             .qtables_out_cbus(qtables_out_cbus),
  216.                                             .pixout_rdy(pixout_rdy),
  217.                                             .pixout(pixout),
  218.                                             .pixout_eob(pixout_eob),
  219.                                             .pixout_lbs(pixout_lbs),
  220.                                             .pixout_sob(pixout_sob),
  221.                                             .pixout_wen(pixout_wen)
  222.                                            );

  223.    ht_fifo u_ht_fifo (
  224.                       .clk(clk),
  225.                       .hd_clk_en(hd_clk_en),
  226.                       .clrx1(htfifo_cbus[0]),
  227.                       .clrx4(htfifo_cbus[0]),
  228.                       .din(streamdin),
  229.                       .en(en),
  230.                       .ren(ht_fifo_ren),
  231.                       .rst(rst),
  232.                       .wen(htfifo_cbus[1]),
  233.                       .dout(tdin),
  234.                       .empty(ht_fifo_empty),
  235.                       .full(ht_fifo_full)
  236.                      );

  237.    huffman_d_tables_cu u_huffman_d_tables_cu (
  238.                                               .clk(clk),
  239.                                               .clr(htfifo_cbus[0]),
  240.                                               .din(tdin),
  241.                                               .en(en),
  242.                                               .hd_clk_en(hd_clk_en),
  243.                                               .ht_fifo_empty(ht_fifo_empty),
  244.                                               .ht_fifo_full(ht_fifo_full),
  245.                                               .rst(rst),
  246.                                               .ht_cbus(ht_cbus),
  247.                                               .ht_fifo_clr(ht_fifo_clr),
  248.                                               .ht_fifo_ren(ht_fifo_ren)
  249.                                              );

  250.    jdreg_1 ecsdreg (
  251.                     .clk(clk),
  252.                     .d(ecs_cu),
  253.                     .en(en1),
  254.                     .rst(rst),
  255.                     .q(ecs)
  256.                    );

  257.    jdreg_1 scanactivereg (
  258.                           .clk(clk),
  259.                           .d(ecs_cu),
  260.                           .en(en),
  261.                           .rst(rst),
  262.                           .q(scanactive)
  263.                          );

  264.    mcuunit u_mcuunit (
  265.                       .clk(clk),
  266.                       .clrx1(huffdclr),
  267.                       .clrx4(mcu_cbus[0]),
  268.                       .en(huffd_en),
  269.                       .frame_himax(frame_himax),
  270.                       .frame_vimax(frame_vimax),
  271.                       .hd_clk_en(hd_clk_en),
  272.                       .hi_fast(hi_fast),
  273.                       .hi_slow(hi_slow),
  274.                       .huffd_datavalid(huffd_datavalid),
  275.                       .huffd_eob(huffd_eob),
  276.                       .ns(ns),
  277.                       .ri(ri),
  278.                       .rst(rst),
  279.                       .sen(sen),
  280.                       .vi_fast(vi_fast),
  281.                       .vi_slow(vi_slow),
  282.                       .x(x),
  283.                       .y(y),
  284.                       .eos(eos_internal),
  285.                       .hmcu(hmcu),
  286.                       .huffd_res(huffd_res),
  287.                       .mcu_csj(mcu_csj),
  288.                       .vmcu(vmcu)
  289.                      );

  290.    mux_1 lumchrmux (
  291.                     .a(ht_cbus[2]),
  292.                     .b(taj),
  293.                     .s(ecs),
  294.                     .y(huffd_lum_cr)
  295.                    );

  296.    registerfile u_registerfile (
  297.                                 .clk(clk),
  298.                                 .din(streamdin),
  299.                                 .mcu_csj(mcu_csj),
  300.                                 .rst(rst),
  301.                                 .sof0_rf_addr(sof0_cbus[6:4]),
  302.                                 .sof0_rf_ci_w(sof0_cbus[3:2]),
  303.                                 .sof0_rf_clr(sof0_cbus[0]),
  304.                                 .sof0_rf_wen(sof0_cbus[1]),
  305.                                 .sos_rf_clr(sos_cbus[0]),
  306.                                 .sos_rf_csj(sos_cbus[3:2]),
  307.                                 .sos_rf_waddr(sos_cbus[4]),
  308.                                 .sos_rf_wen(sos_cbus[1]),
  309.                                 .ci_out(),
  310.                                 .hi_fast(hi_fast),
  311.                                 .hi_slow(hi_slow),
  312.                                 .nf(nf),
  313.                                 .ns(ns),
  314.                                 .p(),
  315.                                 .taj(taj),
  316.                                 .tdj(),
  317.                                 .tqi(tqi),
  318.                                 .vi_fast(vi_fast),
  319.                                 .vi_slow(vi_slow),
  320.                                 .x(x),
  321.                                 .y(y)
  322.                                );

  323.   // Implicit buffered output assignments
  324.    assign eos = eos_internal;

  325. endmodule



复制代码
发表于 2014-2-20 16:59:58 | 显示全部楼层
回复 1# speak48
发表于 2014-5-1 00:56:59 | 显示全部楼层
Hi,

I would like to decrypt a protected verilog file  as your example, andyredcom@foxmail.com
发表于 2016-5-7 00:11:27 | 显示全部楼层
回复 1# speak48

how to decryp
发表于 2016-5-7 00:49:48 | 显示全部楼层
回复 3# andyredcom

how to decryption
发表于 2017-2-9 00:07:03 | 显示全部楼层
I am learning about Huffman coding,could you please send me the Huffman coding program?my mail is 1991025456@qq.com,thanks a lot!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 04:07 , Processed in 0.024233 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表