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

Maverick_

Модератор
  • Постов

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

Весь контент Maverick_


  1. Дополняю еще необходимо знать нагрузку по каждому выходу (емкость, ток). Лучшая проверка - запрограммировать и посмотреть на вольтметре и амперметре реальные значения, так как бывает что теория расходится с практикой! :)
  2. ViLand извини но объем 20 Мб я буду на почту дого заливать (diall up(выход через телефонную линию) Internet), :crying: попробуй еще раз должно работать
  3. Пример VHDL испытательного стенда (VHDL Test Bench) VHDL испытательный стенд - программа VHDL, которая описывает ввод моделирования, использующего процедуры языка стандартного VHDL. Данный пример VHDL испытательного стенда позволяет читать из текстового файла и записывать результаты моделирования в текстовый файл, находящиеся в папке проекта. Код рабочий!!! Файлы для записи и чтения должны находится в папке проекта Извините код правильно не вставил - получилось и к тому же спешил LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; use ieee.std_logic_arith.all; use std.textio.all; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY shema_shema_sch_tb IS END shema_shema_sch_tb; ARCHITECTURE behavioral OF shema_shema_sch_tb IS COMPONENT shema PORT( Clock : IN STD_LOGIC; DOOR : IN STD_LOGIC_VECTOR (11 DOWNTO 0); I : OUT STD_LOGIC_VECTOR (9 DOWNTO 0); J : OUT STD_LOGIC_VECTOR (9 DOWNTO 0); PIXEL : OUT STD_LOGIC_VECTOR (11 DOWNTO 0); Reset : IN STD_LOGIC; W : OUT STD_LOGIC; constt : IN STD_LOGIC_VECTOR (11 DOWNTO 0); xx : OUT STD_LOGIC_VECTOR (2 DOWNTO 0); c1 : OUT STD_LOGIC; c2 : OUT STD_LOGIC; c3 : OUT STD_LOGIC; c4 : OUT STD_LOGIC; z1 : OUT STD_LOGIC; z2 : OUT STD_LOGIC; z3 : OUT STD_LOGIC; z4 : OUT STD_LOGIC; ih : OUT STD_LOGIC; jh : OUT STD_LOGIC; jl : OUT STD_LOGIC; ssjl : OUT STD_LOGIC_VECTOR (9 DOWNTO 0); cchk : OUT STD_LOGIC); END COMPONENT; SIGNAL Clock : STD_LOGIC; SIGNAL DOOR : STD_LOGIC_VECTOR (11 DOWNTO 0); SIGNAL PIXEL : STD_LOGIC_VECTOR (11 DOWNTO 0); SIGNAL Reset : STD_LOGIC; SIGNAL constt : STD_LOGIC_VECTOR (11 DOWNTO 0); SIGNAL z1 : STD_LOGIC; SIGNAL z2 : STD_LOGIC; SIGNAL z3 : STD_LOGIC; SIGNAL z4 : STD_LOGIC; SIGNAL I : STD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL J : STD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL xx : STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL c1 : STD_LOGIC; SIGNAL c2 : STD_LOGIC; SIGNAL c3 : STD_LOGIC; SIGNAL c4 : STD_LOGIC; SIGNAL w : STD_LOGIC; SIGNAL ih : STD_LOGIC; SIGNAL jh : STD_LOGIC; SIGNAL jl : STD_LOGIC; SIGNAL ssjl : STD_LOGIC_VECTOR (9 DOWNTO 0); SIGNAL cchk : STD_LOGIC; BEGIN UUT: shema PORT MAP( Clock => Clock, DOOR => DOOR, PIXEL => PIXEL, Reset => Reset, constt => constt, z1 => z1, z2 => z2, z3 => z3, z4 => z4, I => I, J => J, w => w, xx => xx, c1 => c1, c2 => c2, c3 => c3, c4 => c4, ih => ih, jh => jh, jl => jl, ssjl =>ssjl, cchk => cchk ); read_from_file: process(Clock) variable indata_line: line; variable indata: integer; file input_data_file: text open read_mode is "DATA.txt"; begin if rising_edge(Clock) then readline(input_data_file,indata_line); read(indata_line,indata); DOOR <= conv_std_logic_vector(indata,12); if endfile(input_data_file) then report "end of file -- looping back to start of file"; file_close(input_data_file); file_open(input_data_file,"DATA.txt"); end if; end if; end process; write_to_file: process(Clock) variable outdata_line: line; variable outdata: integer :=0; file output_data_file: text open write_mode is "vhdl_output.txt"; begin if rising_edge(Clock) then outdata := 1*CONV_INTEGER(To_X01Z(z1))+2*CONV_INTEGER(To_X01Z(z2))+4*CONV_INTEGER(To_X01Z(z 3))+8 *CONV_INTEGER(To_X01Z(z4)); write(outdata_line,outdata); writeline(output_data_file,outdata_line); end if; end process; clock_gen: process begin Clock <= '0'; wait for 50 ns; Clock <= '1'; wait for 50 ns; end process; reset_gen: process begin Reset <= '0'; wait for 10 ns; Reset <= '1'; wait; end process; const_gen: process begin constt <= "000000000000"; wait for 10 ns; constt <= "000000010100"; wait; end process; END; [\code]
  4. Сейчас скачал 19,26 Мб по ссылке http://www.gaisler.com/products/grlib/grli...17-b2710.tar.gz при чем без проблем ;) Пробуй должно получиться, удачи! :)
  5. Фирма производитель не имеет значение если нет использования блочной памяти и Digital Clock Managers (PLL, DCM) и все описано на языке описания аппаратуры то все будет тип-топ :)
  6. Доброго времени суток ВСЕМ! Модули UART даю от разных производителей :) Язык описания вроде VHDL Совет попробуй зарегистрироваться на Altera, Xilinx и с фтп скачать примеры и рекомендации. Я работаю с Xilinx так это он выложил (в Application Note) для микросхем CPLD, вопросы могут быть только с языком описания модулей и если там применяется блочная память. Удачи!
  7. Спасибо за оперативность!!! :a14: Сейчас буду смотреть.
  8. Если можешь то выложи пожалуйста VHDL исходник комплексного NCO (если приложишь описание исходника (для лучшего понимания) - будет еще лучше). Заранее благодарен
  9. "Не могу понять, как привязать физические пины к коду VHDL. Вобще, возможно ли реализовать эту идею на имеющейся ПЛИСке? " Привязка физических пинов делается не в коде VHDL, а например в Xilinx это утилита Assign Package, либо в ucf файле. Извини с альтерой не работал :crying:
  10. Доброго времени суток! Очень прошу помогите перевести пожалуйста выше приведенный код на vhdl "32-Bit Fixed Point Divide". Очень нужен , пожалуйста, в verilog я ничего не понимаю :crying:
  11. Извините, но я там не нашел на vhdl "32-Bit Fixed Point Divide". :(
  12. Доброго времени суток! помогите пожалуйста перевести с Verilog на VHDL. это модуль был взят с http://groups.google.com/group/comp.lang.v...5b1b43e9c222c0f The divide.v file shown below does not seem to work, i.e. quotient stays at '0' and remainder gives incorrect reading regardless of input values ! ------------------------------------------------------------------------------------------------------------------------------------------------------- // // File divide.v // // Unsigned/Signed division based on Patterson and Hennessy's algorithm. // Description: Calculates quotient. The "sign" input determines whether // signs (two's complement) should be taken into consideration. // module divide( ready, quotient, remainder, dividend, divider, sign, clk ); input clk; input sign; input [31:0] dividend, divider; output [31:0] quotient, remainder; output ready; reg [31:0] quotient, quotient_temp; reg [63:0] dividend_copy, divider_copy, diff; reg negative_output; wire [31:0] remainder = (!negative_output) ? dividend_copy[31:0] : ~dividend_copy[31:0] + 1'b1; reg [5:0] bit; wire ready = !bit; initial bit = 0; initial negative_output = 0; always @( posedge clk ) if( ready ) begin bit = 6'd32; quotient = 0; quotient_temp = 0; dividend_copy = (!sign || !dividend[31]) ? {32'd0,dividend} : {32'd0,~dividend + 1'b1}; divider_copy = (!sign || !divider[31]) ? {1'b0,divider,31'd0} : {1'b0,~divider + 1'b1,31'd0}; negative_output = sign && ((divider[31] && !dividend[31]) ||(!divider[31] && dividend[31])); end else if ( bit > 0 ) begin diff = dividend_copy - divider_copy; quotient_temp = quotient_temp << 1; if( !diff[63] ) begin dividend_copy = diff; quotient_temp[0] = 1'd1; end quotient = (!negative_output) ? quotient_temp : ~quotient_temp + 1'b1; divider_copy = divider_copy >> 1; bit = bit - 1'b1; end endmodule причина правки: используйте теги CODE для листингов программ
  13. Можно попробовать AcselDSP или SystemGenerator которые позволяют генерировать код (VHDL Verilog) из Matlab
  14. multi-source может возникать при назначении одному и тому же сигналу разных значений в разных процессах, опишите все присвоения этому сигналу в одном процессе, например используя технологию написания КА. И проверьте наличие в микросхеме тристабильных буферов, как было сказано выше!
  15. Привет всем! К сожалению :crying: , я не имею доступа на фтп. Кто-нибудь может дать проверенный уже в работе ядро процессора m8051, желательно на vhdl, с возможностью программирования на С стандартной Сигналовской программой. На http://www.opencores.org/ я смотрел, есть но на счет стабильности и работоспособности не уверен. За ранее благодарю за помощь!
  16. Переменные среды в Windows проверь ModelSim там обязательно должен присутствовать, у меня такое имя переменной PATH значение C:\Modeltech_xe\win32xoem имя переменной LM_LICENSE_FILE значение C:\Modeltech_xe\win32xoem\license.dat Версия ModelSim 6,1е; ISE 8.2.03 Успехов!
  17. извини, а то что Вы в прошлый раз тоже самое спрашивали и там есть некоторые ответы - они Вам не подходят? И зачем заново поднимать этот вопрос? Пиши уже в в своей теме и не делай повторяющихся тем?
  18. Я предлагаю Вам использовать Xilinx http://www.xilinx.com/ AccelDSP Synthesis Tool MATLAB language-based design tool for implementing high performance DSP systems. AccelDSP Synthesis Tool AccelDSP™ Synthesis Tool is a high-level MATLAB® language based tool for designing DSP blocks for Xilinx FPGAs. The tool automates floating- to fixed-point conversion, generates synthesizable VHDL or Verilog, and creates a testbench for verification. You can also generate a fixed-point C++ model or System Generator block from a MATLAB algorithm. AccelDSP synthesis tool is a key component of the Xilinx XtremeDSP™ solution that combines state-of-the-art FPGAs, design tools, intellectual property cores, and partnerships, as well as design and educational services. и System Generator for DSP The leading-edge modeling and implementation tool for high-performance DSP systems. System Generator for DSP System Generator for DSP is the industry’s leading high-level tool for designing high-performance DSP systems using FPGAs. The tool provides abstractions that enable you to develop highly parallel systems with the industry’s most advanced FPGAs, providing system modeling and automatic code generation from Simulink® and MATLAB® (The MathWorks, Inc.). System Generator is a key component of the Xilinx XtremeDSP™ solution that combines state-of-the-art FPGAs, design tools, intellectual property cores, and partnerships, as well as design and educational services. которые Вам позволят без глубоких знаний языков программирования положить на ПЛИС. Это мое мнение ;) В MATLAB на сколько я знаю уже вложены алгоритмы обработки видео, правда написаны на языке MATLAB. Когда переведешь алгоритм на язык программирования аппаратуры тебе выше названные программы напишут сколько это занимает места попробуешь поменять кристаллы, из расчета чтобы где-то 25% оставалось свободного пространства Вот и все УДАЧИ!!!
  19. Не знаю, но мне кажется нужно еще установить дополнительно библиотеки для моделирования ;) Просто там прописаны все возможные задержки для выбранного кристалла и модуля который Вы генерируете.
  20. Не знаю насчет плотности шума и других свойств генератора шума который предлагаю, даю то что я реализовывал, правда простейший наверное :excl:
  21. Я об этом тоже недавно узнал Mad Maks. Кстати леон 3 уже есть, но без математического со-процессора (они его продают за отдельные деньги), к сожалению. Говорят что новый более быстрый и более оптимизирован. :crying: WingLion: Смешной вопрос, а почему именно на VHDL? AHDL совсем не подходит? Я не знаю языка AHDL и Xilinx его поддерживает :05: И как я знаю Altera не выпускает продукцию под космос WingLion.
×
×
  • Создать...