

cpl
Свой-
Posts
384 -
Joined
-
Last visited
Reputation
0 ОбычныйAbout cpl
-
Rank
Местный
Контакты
-
ICQ
Array
Recent Profile Visitors
4,096 profile views
-
ПЛИС Gowin Semiconductor
cpl replied to StewartLittle's topic in Работаем с ПЛИС, области применения, выбор
вариант реализации передачи UDP пакета: https://lab85.ru/index.php/laboratoriya-stati/30-ethernet-peredacha-paketa -
ПЛИС Gowin Semiconductor
cpl replied to StewartLittle's topic in Работаем с ПЛИС, области применения, выбор
Gowin_V1.9.8 В списке M25P80 нет, поэтому Generic Flash. -
ПЛИС Gowin Semiconductor
cpl replied to StewartLittle's topic in Работаем с ПЛИС, области применения, выбор
Для информации: M25P80 не прошивается через jtag (ft2232h).... Плата своя: GW2A18QFN88 + M25P80. Программатор SPI FLASH не видит.... (SRAM загружает без проблем). Поставил winbond (то что было под рукой W25Q32BV) работает... -
cpl started following ПЛИС Gowin Semiconductor and Digilent программатор Xilinx
-
ПЛИС Gowin Semiconductor
cpl replied to StewartLittle's topic in Работаем с ПЛИС, области применения, выбор
Для GW2A-LV18PG256S. А как определить достаточный объем SPI FLASH, если в документации не указано ? К примеру у меня есть M25P80 (1M x 8), её хватит или нет ? Разобрался, нашел, таблицу с указанием объема необходимой конфигурационной флеши. -
ПЛИС Gowin Semiconductor
cpl replied to StewartLittle's topic in Работаем с ПЛИС, области применения, выбор
Какие SPI FLASH подходят для GW2A в качестве загрузочных ? Минимальный размер, фирмы производители, ограничения может есть какие ? Искал в разделе документации на сайте и не нашел... -
Разъем fx2-100s-1.27dsl стоимость 1шт = 500 руб Есть в наличии 35 шт.
-
Точно так и есть, отрабатывал глобальный ресет. Спасибо.
-
Моделирую вывод DDR данных.(Spartan 6, QuestaSim) Наткнулся на странное поведение компонента ODDR2. При старте моделирования ПЕРВЫЕ данные на выходе ODDR2 появляются только через 12 тактов, до этого 00. Не пойму в чем причина, что не так делаю ? тестбенч прилагаю. `timescale 1ns / 1ps module top( input wire i_clk_tx_0, input wire i_clk_tx_180, input wire i_rst, output wire [5:0] o_tx_data_ddr , output wire [5:0] o_debug1 , output wire [5:0] o_debug2 ); reg tx_ce = 1; // CE для ODDR2 reg [23:0] fifo_rd_data = 24'b1111_11__00_0001__1010_10__00_0010; wire [5:0] d0; wire [5:0] d1; reg rst = 0; assign d0 = fifo_rd_data[23:18]; assign d1 = fifo_rd_data[11:6]; reg [4:0] st = 0; reg [1:0] empty_cnt = 0; reg [7:0] delay = 0; always @(posedge i_clk_tx_0) begin case(st) 0: begin delay <= delay + 1'b1; if (delay == 2) begin delay <= 0; // rst <= 0; st <= st + 1'b1; end else begin // rst <= 1; end end 1: begin delay <= delay + 1'b1; st <= st + 1'b1; end 2: begin $display("fifo_rd_dataR = 0x%x 0x%x 0x%x 0x%x", fifo_rd_data[23:18], fifo_rd_data[17:12], fifo_rd_data[11:6], fifo_rd_data[5:0]); fifo_rd_data[23:12] <= fifo_rd_data[23:12] + 1'b1; fifo_rd_data[11:0] <= fifo_rd_data[11:0] + 1'b1; if (delay == 100) st <= 3; else st <= 1; end 3: begin end default: st <= 0; endcase end ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst0 ( .Q ( o_tx_data_ddr[0] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[0]), // 1-bit data input (associated with C0) .D1 ( d1[0]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst1 ( .Q ( o_tx_data_ddr[1] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[1]), // 1-bit data input (associated with C0) .D1 ( d1[1]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst2 ( .Q ( o_tx_data_ddr[2] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[2]), // 1-bit data input (associated with C0) .D1 ( d1[2]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst3 ( .Q ( o_tx_data_ddr[3] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[3]), // 1-bit data input (associated with C0) .D1 ( d1[3]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst4 ( .Q ( o_tx_data_ddr[4] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[4]), // 1-bit data input (associated with C0) .D1 ( d1[4]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); ODDR2 #( .DDR_ALIGNMENT("C1"), // Sets output alignment to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" set/reset ) ODDR2_inst5 ( .Q ( o_tx_data_ddr[5] ), // 1-bit DDR output data .C0 ( i_clk_tx_180 ), // 1-bit clock input .C1 ( i_clk_tx_0 ), // 1-bit clock input .CE ( 1'b1), // 1-bit clock enable input // .CE ( tx_ce), // 1-bit clock enable input .D0 ( d0[5]), // 1-bit data input (associated with C0) .D1 ( d1[5]), // 1-bit data input (associated with C1) .R ( rst), // 1-bit reset input .S ( 1'b0) // 1-bit set input ); assign o_debug1 = d0; assign o_debug2 = d1; endmodule ODDR2_test.zip
-
ADSP-BF518BSWZ-4F4
cpl replied to Victor1963's topic in Продам
Здравствуйте, год выпуска? какая ревизия ? -
Стоимость: 3000 руб.
-
Отладочная плата StarterKit SK-iMX53. Комплект: Плата + СД диск. Состояние: Отличное. Стоимость: 4000 руб. +79162127280
-
Продана, просьба закрыть тему.
-
Продам отладочную плату плата SBC8018+LCD cpu AM1808. 5000 руб. email: sgot () inbox.ru
-
XAM3359 вызов SVC исключения.
cpl replied to cpl's topic in TI, Allwinner, GigaDevice, Nordic, Espressif, etc.
Нашел проблему, (потратив несколько дней.... новый проц новые приключения, да еще в бареметале.....) Debug configurations -> вкладка Target -> галка Enable Semihosting (requires setting a breakpoint at SVC_Handler) галку нужно УБРАТЬ. :smile3046: -
Здравствуйте, Есть плата BeagleBone(белая) с отладчиком на борту (XDS100v2). Процессор XAM3359. Среда Win7, CCS v6.2 компилятор GCC gcc-arm-none-eabi-4_9-2015q3. ПО собираю из исходников AM335X_StarterWare_02_00_01_01, пытаюсь вызвать программное прерывание, но не происходит перевода на обработчик. программа запускается из DDR (gel делает инит переферии и т.п.), таблица векторов располагается в RAM 0x4030FC00. при вызове asm volatile("swi #458752"); процессор переходит по адресу 0x4030FC08, там он должен загрузить адрес подпрограммы SVC_Handler но заместо этого возвращается на сл. команды после вызова swi #458752. При этом IRQHandler, AbortHandler работают. main(){ while(1) asm volatile("swi #458752"); } SVC_Handler: b SVC_Handler /****************************************************************************** ** INTERNAL VARIABLE DEFINITIONS *******************************************************************************/ const unsigned int AM335X_VECTOR_BASE = 0x4030FC00; static unsigned int const vecTbl[14]= { 0xE59FF018, /* Opcode for loading PC with the contents of [PC + 0x18] */ 0xE59FF018, /* Opcode for loading PC with the contents of [PC + 0x18] */ 0xE59FF018, /* Opcode for loading PC with the contents of [PC + 0x18] */ 0xE59FF018, /* Opcode for loading PC with the contents of [PC + 0x18] */ 0xE59FF014, /* Opcode for loading PC with the contents of [PC + 0x14] */ 0xE24FF008, /* Opcode for loading PC with (PC - 8) (eq. to while(1)) */ 0xE59FF010, /* Opcode for loading PC with the contents of [PC + 0x10] */ 0xE59FF010, /* Opcode for loading PC with the contents of [PC + 0x10] */ (unsigned int)Entry, (unsigned int)UndefInstHandler, (unsigned int)SVC_Handler, (unsigned int)AbortHandler, (unsigned int)IRQHandler, (unsigned int)FIQHandler };