X
xplicitone
Guest
Здравейте,
Опитвам се да печатате символи в определени места за LCD на "Спартан" 3д използване Verilog.Аз съм го инициализира, но не мога да изглежда да отпечатате знаци, където искам да на дъската.
Благодаря.Добавено след 10 минути:Тук е моят инициализация код.Опитвам се за показване на номера по-специално точки на LCD, например."Срок 1ns / 1ps
////////////////////////////////////////////////// ////////////////////////////////
/ / Производител:
/ / Engineer:
/ /
/ / Създаване Дата: 02.24.2010 01:14:32
/ / Дизайн Име:
/ / Модул Име:
/ / Име на проекта:
/ / Целеви устройства:
/ / Метод версии:
/ / Описание:
/ /
/ / Зависимите:
/ /
/ / Редакция:
/ / Редакция 0.01 - Създадена на файла
/ / Допълнителни коментари:
/ /
////////////////////////////////////////////////// ////////////////////////////////
модул LCD (LCD_RS, LCD_RW, LCD_E, LCD_DATA, inclk, outclk);
продукция LCD_RS, LCD_RW, LCD_E;
обл LCD_RS, LCD_RW, LCD_E;
продукция [3:0] LCD_DATA;
обл [3:0] LCD_DATA;
вход inclk;
обл [3:0] Init_List [33:0]; / / Това създава 12 - 4 битови паметта
/ / Обл [3:0] Char_List [21:0]; / / Това създава 12 - 4 битови паметта
цяло число противодействие;
направи обл;
цяло число брой;
продукция outclk;
обл outclk;
обл [1:0] членка;
цяло число sec0;
цяло число sec1;
min0 число;
първоначален
започва
sec0 = 12; / / за 0 на масива по-долу
sec1 = 12;
min0 = 12;
= 0-членка;
брой = 0;
outclk = 0;
брояч = 0;
направи = 0;
Init_List [0] = 4'b0011; / / Init
Init_List [1] = 4'b0011;
Init_List [2] = 4'b0011;
Init_List [3] = 4'b0010;
Init_List [4] = 4'b0010;
Init_List [5] = 4'b1000;
Init_List [6] = 4'b0000;
Init_List [7] = 4'b0110;
Init_List [8] = 4'b0000;
Init_List [9] = 4'b1100;
Init_List [10] = 4'b0000;
Init_List [11] = 4'b0001;
Init_List [12] = 4'b0011; / / 0
Init_List [13] = 4'b0000;
Init_List [14] = 4'b0011; / / 1
Init_List [15] = 4'b0001;
Init_List [16] = 4'b0011; / / 2
Init_List [17] = 4'b0010;
Init_List [18] = 4'b0011; / / 3
Init_List [19] = 4'b0011;
Init_List [20] = 4'b0011; / / 4
Init_List [21] = 4'b0100;
Init_List [22] = 4'b0011; / / 5
Init_List [23] = 4'b0101;
Init_List [24] = 4'b0011; / / 6
Init_List [25] = 4'b0110;
Init_List [26] = 4'b0011; / / 7
Init_List [27] = 4'b0111;
Init_List [28] = 4'b0011; / / 8
Init_List [29] = 4'b1000;
Init_List [30] = 4'b0011; / / 9
Init_List [31] = 4'b1001;
Init_List [32] = 4'b0011; / /:
Init_List [33] = 4'b1010;
край
Винаги @ (posedge inclk) / / забавяне на часовника
започва
ако (Брой> = 2500000)
започва
брой = 0;
outclk =! outclk;
край
още
започва
брой = брой 1;
край
край
Винаги @ (posedge outclk)
започнете
LCD_RW = 0; / / режим за запис винаги
ако (обратно <12)
LCD_RS = 0; / / команден режим
още
LCD_RS = 1; / / данни за вземане
LCD_DATA = Init_List [брояч]; / / въвеждане на данни на автобус
ако (! извършено)
започва
LCD_E = 1;
направи = 1;
край
още
започва
/ / След като противодействие достигне 11, LCD е готов да получи ASCII данни
случай (държавата) / / премина основава на контрол на сигнали
0:
започва
ако (обратно <11)
започва
LCD_E = 0;
направи = 0;
брояч = брояч 1;
край
още
състояние = 1;
край
1:
започва
ако (sec0 <31)
започва
брояч = sec0;
sec0 = sec0 1;
LCD_E = 0;
направи = 0;
край
още
започва
sec0 = 12; / / 0 сек проучване
брояч = sec0;
LCD_E = 0;
направи = 0;
състояние = 2;
край
край
2:
започва
ако (sec1 <23) / / 5 секунди
започва
брояч = sec1;
sec1 = sec1 1;
състояние = 1;
край
още
започва
sec1 = 12; / / 0 секунди
брояч = sec1;
състояние = 3;
край
край
3:
започва
min0 = min0 1;
състояние = 1;
край
/ / Брояч = брояч 1;
endcase
край
крайendmodule
Опитвам се да печатате символи в определени места за LCD на "Спартан" 3д използване Verilog.Аз съм го инициализира, но не мога да изглежда да отпечатате знаци, където искам да на дъската.
Благодаря.Добавено след 10 минути:Тук е моят инициализация код.Опитвам се за показване на номера по-специално точки на LCD, например."Срок 1ns / 1ps
////////////////////////////////////////////////// ////////////////////////////////
/ / Производител:
/ / Engineer:
/ /
/ / Създаване Дата: 02.24.2010 01:14:32
/ / Дизайн Име:
/ / Модул Име:
/ / Име на проекта:
/ / Целеви устройства:
/ / Метод версии:
/ / Описание:
/ /
/ / Зависимите:
/ /
/ / Редакция:
/ / Редакция 0.01 - Създадена на файла
/ / Допълнителни коментари:
/ /
////////////////////////////////////////////////// ////////////////////////////////
модул LCD (LCD_RS, LCD_RW, LCD_E, LCD_DATA, inclk, outclk);
продукция LCD_RS, LCD_RW, LCD_E;
обл LCD_RS, LCD_RW, LCD_E;
продукция [3:0] LCD_DATA;
обл [3:0] LCD_DATA;
вход inclk;
обл [3:0] Init_List [33:0]; / / Това създава 12 - 4 битови паметта
/ / Обл [3:0] Char_List [21:0]; / / Това създава 12 - 4 битови паметта
цяло число противодействие;
направи обл;
цяло число брой;
продукция outclk;
обл outclk;
обл [1:0] членка;
цяло число sec0;
цяло число sec1;
min0 число;
първоначален
започва
sec0 = 12; / / за 0 на масива по-долу
sec1 = 12;
min0 = 12;
= 0-членка;
брой = 0;
outclk = 0;
брояч = 0;
направи = 0;
Init_List [0] = 4'b0011; / / Init
Init_List [1] = 4'b0011;
Init_List [2] = 4'b0011;
Init_List [3] = 4'b0010;
Init_List [4] = 4'b0010;
Init_List [5] = 4'b1000;
Init_List [6] = 4'b0000;
Init_List [7] = 4'b0110;
Init_List [8] = 4'b0000;
Init_List [9] = 4'b1100;
Init_List [10] = 4'b0000;
Init_List [11] = 4'b0001;
Init_List [12] = 4'b0011; / / 0
Init_List [13] = 4'b0000;
Init_List [14] = 4'b0011; / / 1
Init_List [15] = 4'b0001;
Init_List [16] = 4'b0011; / / 2
Init_List [17] = 4'b0010;
Init_List [18] = 4'b0011; / / 3
Init_List [19] = 4'b0011;
Init_List [20] = 4'b0011; / / 4
Init_List [21] = 4'b0100;
Init_List [22] = 4'b0011; / / 5
Init_List [23] = 4'b0101;
Init_List [24] = 4'b0011; / / 6
Init_List [25] = 4'b0110;
Init_List [26] = 4'b0011; / / 7
Init_List [27] = 4'b0111;
Init_List [28] = 4'b0011; / / 8
Init_List [29] = 4'b1000;
Init_List [30] = 4'b0011; / / 9
Init_List [31] = 4'b1001;
Init_List [32] = 4'b0011; / /:
Init_List [33] = 4'b1010;
край
Винаги @ (posedge inclk) / / забавяне на часовника
започва
ако (Брой> = 2500000)
започва
брой = 0;
outclk =! outclk;
край
още
започва
брой = брой 1;
край
край
Винаги @ (posedge outclk)
започнете
LCD_RW = 0; / / режим за запис винаги
ако (обратно <12)
LCD_RS = 0; / / команден режим
още
LCD_RS = 1; / / данни за вземане
LCD_DATA = Init_List [брояч]; / / въвеждане на данни на автобус
ако (! извършено)
започва
LCD_E = 1;
направи = 1;
край
още
започва
/ / След като противодействие достигне 11, LCD е готов да получи ASCII данни
случай (държавата) / / премина основава на контрол на сигнали
0:
започва
ако (обратно <11)
започва
LCD_E = 0;
направи = 0;
брояч = брояч 1;
край
още
състояние = 1;
край
1:
започва
ако (sec0 <31)
започва
брояч = sec0;
sec0 = sec0 1;
LCD_E = 0;
направи = 0;
край
още
започва
sec0 = 12; / / 0 сек проучване
брояч = sec0;
LCD_E = 0;
направи = 0;
състояние = 2;
край
край
2:
започва
ако (sec1 <23) / / 5 секунди
започва
брояч = sec1;
sec1 = sec1 1;
състояние = 1;
край
още
започва
sec1 = 12; / / 0 секунди
брояч = sec1;
състояние = 3;
край
край
3:
започва
min0 = min0 1;
състояние = 1;
край
/ / Брояч = брояч 1;
endcase
край
крайendmodule