Перейти к содержанию
    

Evgenij

Участник
  • Постов

    16
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Evgenij

  • Звание
    Участник
    Участник

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. ЗАМЕНА в port map VCC на V не всегда помогает ПРИМЕР: ERROR (EX4916) : Formal v is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":11083)
  2. В VERILOG порт питания обозначается V ,что приведено на примере . VCC XLXI_167 (.V(XLXN_369)); VCC XLXI_1670 (.V(XLXN_3690)); GND XLXI_174 (.G(XLXN_413)); GND XLXI_500 (.G(XLXN_500)); VCC XLXI_181 (.V(XLXN_385)); VCC XLXI_182 (.V(XLXN_386)); VCC XLXI_183 (.V(XLXN_388)); VCC XLXI_184 (.V(XLXN_389)); VCC XLXI_187 (.V(XLXN_397)); VCC XLXI_189 (.V(XLXN_400)); VCC XLXI_190 (.V(XLXN_401)); VCC XLXI_191 (.V(XLXN_406)); В VHDL не ясно каким знаком обозначается порт питания ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6630) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6679) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6803) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6816)
  3. Подскажите как обозначаются порты питания в VHDL. В Verilog это V port. Ниже примерный кусок кода. Как обозначить порт XLXI_153 XLXI_152 : GND port map (G=>XLXN_278); XLXI_153 : VCC port map (power=>XLXN_279);
  4. Программа получена путем перевода sch файла из Xilinx в Verilog и в дальнейшем используется для Gowin. Кто пользовался таким методом, есть ли какие-то "подводные камни"? Ниже приложен код и схематическое изображение. На простой программе такого типа все работает без всяких проблем, однако на более грамостких программах возникают проблемы, которые не получается увидеть не вооруженным глазом. //////////////////////////////////////////////////////////////////////////////// // Copyright (c) 1995-2012 Xilinx, Inc. All rights reserved. //////////////////////////////////////////////////////////////////////////////// // ____ ____ // / /\/ / // /___/ \ / Vendor: Xilinx // \ \ \/ Version : 14.4 // \ \ Application : sch2hdl // / / Filename : REGISTR.vf // /___/ /\ Timestamp : 07/11/2023 13:35:05 // \ \ / \ // \___\/\___\ // //Design Name: REGISTR //Device: spartan6 //Purpose: // This verilog netlist is translated from an ECS schematic.It can be // synthesized and simulated, but it should not be modified. // `timescale 100 ps / 10 ps module SR16CE_HXILINX_REGISTR(Q, C, CE, CLR, SLI) ; output [15:0] Q; input C; input CE; input CLR; input SLI; reg [15:0] Q; always @(posedge C or posedge CLR) begin if (CLR) Q <= 16'b0000_0000_0000_0000; else if (CE) Q <= {Q[14:0], SLI}; end endmodule `timescale 1ns / 1ps module REGISTR(T15, R12, R13); input T15; output R12; output R13; (* LOC = "REC(9)" *) wire [15:0] REC; wire XLXN_29; wire XLXN_45; wire XLXN_46; wire XLXN_48; wire XLXN_49; wire XLXN_51; wire XLXN_52; wire XLXN_55; wire XLXN_57; wire XLXN_58; wire XLXN_59; wire XLXN_63; GND XLXI_5 (.G(XLXN_55)); GND XLXI_10 (.G(XLXN_51)); VCC XLXI_14 (.V(XLXN_52)); (* IOSTANDARD = "DEFAULT" *) (* IBUF_DELAY_VALUE = "0" *) (* IFD_DELAY_VALUE = "AUTO" *) IBUF XLXI_15 (.I(T15), .O(XLXN_29)); BUFG XLXI_17 (.I(XLXN_29), .O(XLXN_57)); (* IOSTANDARD = "DEFAULT" *) (* SLEW = "SLOW" *) (* DRIVE = "12" *) OBUF XLXI_18 (.I(XLXN_45), .O(R12)); XNOR2 XLXI_31 (.I0(XLXN_48), .I1(XLXN_46), .O(XLXN_45)); FDCE XLXI_34 (.C(XLXN_57), .CE(XLXN_52), .CLR(XLXN_51), .D(XLXN_45), .Q(XLXN_49)); FDCE XLXI_35 (.C(XLXN_57), .CE(XLXN_58), .CLR(XLXN_59), .D(XLXN_58), .Q(XLXN_48)); (* HU_SET = "XLXI_37_0" *) SR16CE_HXILINX_REGISTR XLXI_37 (.C(XLXN_57), .CE(XLXN_63), .CLR(XLXN_55), .SLI(XLXN_49), .Q(REC[15:0])); XOR2 XLXI_40 (.I0(REC[9]), .I1(REC[7]), .O(XLXN_46)); VCC XLXI_41 (.V(XLXN_58)); GND XLXI_42 (.G(XLXN_59)); VCC XLXI_44 (.V(XLXN_63)); OBUF XLXI_46 (.I(XLXN_57), .O(R13)); endmodule module XNOR2(I0,I1,O); input I0,I1; output O; assign O = ~((I0 && I1) || (~I0 && ~I1)); endmodule module XOR2(I0,I1,O); input I0,I1; output O; assign O = (I0 && I1) || (~I0 && ~I1); endmodule module FDCE( input CLR, CE, D, C, output reg Q); always @(posedge C or posedge CLR) if(CLR) Q <= 0; else if(CE) Q <= D; endmodule
  5. module testb_mul; parameter M_Sise = 8; parameter R_Sise = 8; parameter MCLK_PERIOD = 50; // Inputs reg MCLK; wire Ready; reg signed [M_Sise-1:0] M; reg signed [M_Sise-1:0] R; reg Start; // Outputs wire [M_Sise+R_Sise-2:0] Res; // Instantiate the Unit Under Test (UUT) mul_booth #(.X(M_Sise), .Y(R_Sise) ) top( .Clk(MCLK), .Ready(Ready), .M(M), .R(R), .Start(Start), .Res(Res) ); integer i,j; reg [M_Sise+R_Sise-2:0] Test_Mul = 0; wire error_flag = Ready & (Res != Test_Mul); initial begin // Initialize Inputs MCLK = 0; M = -127; R = -127; Start = 0; // Wait 100 ns for global reset to finish #100; // Add stimulus here for(i=0;i<255;i=i+1) begin for(j=0;j<255;j=j+1) begin Test_Mul <= M * R; #MCLK_PERIOD; #MCLK_PERIOD; Start <= 1'b1; #MCLK_PERIOD; Start <= 1'b0; #(MCLK_PERIOD*R_Sise); R <= R + 1; end R <= -127; M <= M + 1; end end initial begin MCLK = 1'b0; #(MCLK_PERIOD/2); forever #(MCLK_PERIOD/2) MCLK = ~MCLK; end endmodule
  6. Кто-то сталкивался в проблемой бесконечного циклирования в программе. Использую for с зацикленной переменной - не дает. Использую forever - тоже самое. Может кто-то сталкивался и если да то как решали?
  7. Компиляция файла ассемблера с помощью MPLAB IDE V8.92 прошла успешно, но файл mp2hex.exe не создается (Error spawning mp2hex.exe). Сталкивался ли кто-то с таким?
  8. Можно ли схемный вариант для Xilinx перевести в Verilog и использовать для программирования Gowin? Кто-нибудь пробовал использовать ReadBack?
  9. Все проверил, ПЛИС и правда был GW2A-18C, переделал программу, однако на ситуацию это никак не повлияло. Проверял сигналы на памяти при программировании и сигналы выходящии при включении питания, так и понял, что в память программа зашивается и отправляется в ПЛИС.
  10. Все определяется и программируется. Информация на вход памяти поступает.
  11. Ознакомился с инструкцией подробно. Есть некоторые несоответсвтия с ней в связи с тем, что там по большей части рассказывают про плату 20K, а у меня 20K Lite версия, в которой почти ничего нет, только 2 кнопки 2 свича. IDE соответсвует запаяной микросхеме. IDE - Gowin_V1.9.8.05, микросхема - GW2A-LV18PG256C8/I7.
  12. К вопросу о Tang Primer 20K. Программа зашивается в память. При перезагрузке питания программа с памяти переписывается в ПЛИС. Однако выходных сигналов с ПЛИС нет. Если кто-то сталкивался с такими трудностями, то как решали? Плата Tang Primer 20K Lite. Прогромматор RV-Debbuger Plus. ПЛИС GW2A LV18PG256C8/I7. Память W25Q32JVS.
  13. А может кто-то сталкивался с такой проблемой еще, по схеме с SPI Flash выходит CLK на контакт L10, однако при замере на самой L10 на Core Board на контакте не приходит частоты, хотя на 6 контакте SPI Flash она имеется.
  14. программирую через RV Debugger plus, Windows 7, GOWIN V1.9.5.08, через Gowin Programmer 1.9.8.05, Ex Flash Mode Erase/Program/Verify, проходит программирование и на верификации останавливается. Заканчивает программирование на регистре 0x08CE00. Как узнать статус регистра после перезапуска не знаю если честно.
×
×
  • Создать...