📄 pmi_def.v
字号:
// --------------------------------------------------------------------// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<// --------------------------------------------------------------------// Copyright (c) 2005 by Lattice Semiconductor Corporation// --------------------------------------------------------------------////// Lattice Semiconductor Corporation// 5555 NE Moore Court// Hillsboro, OR 97214// U.S.A.//// TEL: 1-800-Lattice (USA and Canada)// 1-408-826-6000 (other locations)//// web: http://www.latticesemi.com/// email: techsupport@latticesemi.com//// --------------------------------------------------------------------//// Synthesis Black Box definition for PMI Blocksmodule pmi_distributed_dpram #(parameter pmi_addr_depth = 64, parameter pmi_addr_width = 6, parameter pmi_data_width = 8, parameter pmi_regmode = "reg", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_distributed_dpram") ( input [(pmi_addr_width-1):0] WrAddress, input [(pmi_data_width-1):0] Data, input WrClock, input WE, input WrClockEn, input [(pmi_addr_width-1):0] RdAddress, input RdClock, input RdClockEn, input Reset, output [(pmi_data_width-1):0] Q)/* synthesis syn_black_box */;endmodule // pmi_distributed_dprammodule pmi_distributed_rom #(parameter pmi_addr_depth = 64, parameter pmi_addr_width = 6, parameter pmi_data_width = 8, parameter pmi_regmode = "reg", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_distributed_rom") ( input [(pmi_addr_width-1):0] Address, input OutClock, input OutClockEn, input Reset, output [(pmi_data_width-1):0] Q)/* synthesis syn_black_box */; endmodule // pmi_distributed_rommodule pmi_distributed_spram #(parameter pmi_addr_depth = 64, parameter pmi_addr_width = 6, parameter pmi_data_width = 8, parameter pmi_regmode = "reg", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_distributed_spram") ( input [(pmi_addr_width-1):0] Address, input [(pmi_data_width-1):0] Data, input Clock, input ClockEn, input WE, input Reset, output [(pmi_data_width-1):0] Q)/* synthesis syn_black_box */;endmodule // pmi_distributed_sprammodule pmi_distributed_shift_reg #(parameter pmi_data_width = 16, parameter pmi_regmode = "reg", parameter pmi_shiftreg_type = "fixed", parameter pmi_num_shift = 16, parameter pmi_num_width = 4, parameter pmi_max_shift = 16, parameter pmi_max_width = 4, parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_distributed_shift_reg") ( input [(pmi_data_width-1):0] Din, input [(pmi_max_width-1):0] Addr, input Clock, input ClockEn, input Reset, output [(pmi_data_width-1):0] Q)/*synthesis syn_black_box*/;endmodule // pmi_distributed_shift_regmodule pmi_mult #(parameter pmi_dataa_width = 8, parameter pmi_datab_width = 8, parameter module_type = "pmi_mult", parameter pmi_sign = "on", parameter pmi_additional_pipeline = 1, parameter pmi_input_reg = "on", parameter pmi_output_reg = "on", parameter pmi_family = "ECP2", parameter pmi_implementation = "DSP") (input [(pmi_dataa_width-1):0] DataA, input [(pmi_datab_width-1):0] DataB, input Clock, ClkEn, Aclr, output [(pmi_dataa_width + pmi_datab_width - 1):0] Result)/*synthesis syn_black_box*/;endmodule // pmi_multmodule pmi_mac #(parameter pmi_dataa_width = 8, parameter pmi_datab_width = 8, parameter pmi_accum_width = 32, parameter module_type = "pmi_mac", parameter pmi_sign = "on", parameter pmi_additional_pipeline = 1, parameter pmi_add_sub = "add", parameter pmi_input_reg = "on", parameter pmi_family = "ECP2", parameter pmi_implementation = "DSP") (input [(pmi_dataa_width - 1):0] DataA, input [(pmi_datab_width - 1):0] DataB, input Clock, ClkEn, Aclr, output [(pmi_accum_width - 1):0] Result)/*synthesis syn_black_box*/;endmodule // pmi_macmodule pmi_multaddsub #(parameter pmi_dataa_width = 8, parameter pmi_datab_width = 8, parameter module_type = "pmi_multaddsub", parameter pmi_sign = "on", parameter pmi_additional_pipeline = 1, parameter pmi_add_sub = "add", parameter pmi_input_reg = "on", parameter pmi_output_reg = "on", parameter pmi_family = "ECP2", parameter pmi_implementation = "DSP") (input [(pmi_dataa_width-1):0] DataA0, input [(pmi_dataa_width-1):0] DataA1, input [(pmi_datab_width-1):0] DataB0, input [(pmi_datab_width-1):0] DataB1, input Clock, ClkEn, Aclr, output [(pmi_dataa_width + pmi_datab_width):0] Result)/*synthesis syn_black_box*/;endmodule // pmi_multaddsubmodule pmi_multaddsubsum #(parameter pmi_dataa_width = 8, parameter pmi_datab_width = 8, parameter module_type = "pmi_multaddsubsum", parameter pmi_sign = "on", parameter pmi_additional_pipeline = 1, parameter pmi_add_sub0 = "add", parameter pmi_add_sub1 = "add", parameter pmi_input_reg = "on", parameter pmi_output_reg = "on", parameter pmi_family = "ECP2", parameter pmi_implementation = "DSP") (input [(pmi_dataa_width-1):0] DataA0, input [(pmi_dataa_width-1):0] DataA1, input [(pmi_dataa_width-1):0] DataA2, input [(pmi_dataa_width-1):0] DataA3, input [(pmi_datab_width-1):0] DataB0, input [(pmi_datab_width-1):0] DataB1, input [(pmi_datab_width-1):0] DataB2, input [(pmi_datab_width-1):0] DataB3, input Clock, ClkEn, Aclr, output [(pmi_dataa_width + pmi_datab_width + 1):0] Result)/*synthesis syn_black_box*/;endmodule // pmi_multaddsubsummodule pmi_add #(parameter pmi_data_width = 8, parameter pmi_result_width = 8, parameter pmi_sign = "off", parameter pmi_family = "EC", parameter module_type = "pmi_add" ) ( input [pmi_data_width-1:0] DataA, input [pmi_data_width-1:0] DataB, input Cin, output [pmi_data_width-1:0] Result, output Cout, output Overflow)/*synthesis syn_black_box */;endmodule // pmi_addmodule pmi_sub #(parameter pmi_data_width = 8, parameter pmi_result_width = 8, parameter pmi_sign = "off", parameter pmi_family = "EC", parameter module_type = "pmi_sub" ) ( input [pmi_data_width-1:0] DataA, input [pmi_data_width-1:0] DataB, input Cin, output [pmi_data_width-1:0] Result, output Cout, output Overflow)/*synthesis syn_black_box */;endmodule // pmi_submodule pmi_counter #(parameter pmi_data_width = 8, parameter pmi_updown = "up", parameter pmi_family = "EC", parameter module_type = "pmi_counter" ) ( input Clock, input Clk_En, input Aclr, input UpDown, output [pmi_data_width-1:0] Q)/*synthesis syn_black_box */;endmodule // pmi_countermodule pmi_addsub #(parameter pmi_data_width = 8, parameter pmi_result_width = 8, parameter pmi_sign = "off", parameter pmi_family = "EC", parameter module_type = "pmi_addsub" ) ( input [pmi_data_width-1:0] DataA, input [pmi_data_width-1:0] DataB, input Cin, input Add_Sub, output [pmi_data_width-1:0] Result, output Cout, output Overflow)/*synthesis syn_black_box */;endmodule // pmi_addsubmodule pmi_ram_dp #(parameter pmi_wr_addr_depth = 512, parameter pmi_wr_addr_width = 9, parameter pmi_wr_data_width = 18, parameter pmi_rd_addr_depth = 512, parameter pmi_rd_addr_width = 9, parameter pmi_rd_data_width = 18, parameter pmi_regmode = "reg", parameter pmi_gsr = "enable", parameter pmi_resetmode = "async", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_ram_dp") (input [(pmi_wr_data_width-1):0] Data, input [(pmi_wr_addr_width-1):0] WrAddress, input [(pmi_rd_addr_width-1):0] RdAddress, input WrClock, input RdClock, input WrClockEn, input RdClockEn, input WE, input Reset, output [(pmi_rd_data_width-1):0] Q);/*synthesis syn_black_box */endmodule // pmi_ram_dpmodule pmi_ram_dp_true #(parameter pmi_addr_depth_a = 512, parameter pmi_addr_width_a = 9, parameter pmi_data_width_a = 18, parameter pmi_addr_depth_b = 512, parameter pmi_addr_width_b = 9, parameter pmi_data_width_b = 18, parameter pmi_regmode_a = "reg", parameter pmi_regmode_b = "reg", parameter pmi_gsr = "enable", parameter pmi_resetmode = "async", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_write_mode_a = "normal", parameter pmi_write_mode_b = "normal", parameter pmi_family = "EC", parameter module_type = "pmi_ram_dp_true") (input [(pmi_data_width_a-1):0] DataInA, input [(pmi_data_width_b-1):0] DataInB, input [(pmi_addr_width_a-1):0] AddressA, input [(pmi_addr_width_b-1):0] AddressB, input ClockA, input ClockB, input ClockEnA, input ClockEnB, input WrA, input WrB, input ResetA, input ResetB, output [(pmi_data_width_a-1):0] QA, output [(pmi_data_width_b-1):0] QB)/*synthesis syn_black_box */; endmodule // pmi_ram_dp_truemodule pmi_ram_dq #(parameter pmi_addr_depth = 512, parameter pmi_addr_width = 9, parameter pmi_data_width = 18, parameter pmi_regmode = "reg", parameter pmi_gsr = "enable", parameter pmi_resetmode = "async", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_write_mode = "normal", parameter pmi_family = "EC", parameter module_type = "pmi_ram_dq") (input [(pmi_data_width-1):0] Data, input [(pmi_addr_width-1):0] Address, input Clock, input ClockEn, input WE, input Reset, output [(pmi_data_width-1):0] Q)/*synthesis syn_black_box*/; endmodule // pmi_ram_dqmodule pmi_rom #(parameter pmi_addr_depth = 512, parameter pmi_addr_width = 9, parameter pmi_data_width = 8, parameter pmi_regmode = "reg", parameter pmi_gsr = "enable", parameter pmi_resetmode = "async", parameter pmi_init_file = "none", parameter pmi_init_file_format = "binary", parameter pmi_family = "EC", parameter module_type = "pmi_rom") (input [(pmi_addr_width-1):0] Address, input OutClock, input OutClockEn, input Reset, output [(pmi_data_width-1):0] Q)/*synthesis syn_black_box*/;endmodule // pmi_rommodule pmi_fifo_dc #( parameter pmi_data_width_w = 18, parameter pmi_data_width_r = 18, parameter pmi_data_depth_w = 256,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -