реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> clock LED (verilog)
demsp
сообщение Mar 17 2018, 19:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435



Как в (4-bit'ном) регистре
Код
module reg4 (CLK, D, Q);
input CLK;
input  [3:0]  D;
output [3:0]  Q;
reg [3:0] Q;
always @(posedge CLK)
Q = D;
endmodule

повесить светодиод на clock (CLK)?
Вроде надо так
Код
module d_trig_verilog (CLK, D, Q);
input CLK;
input  [3:0]  D;
output [3:0]  Q;
output led_clk; // объявляем LED
reg [3:0] Q;
always @(posedge CLK)
Q = D;
assign led_clk = CLK; //назначаем LED как CLK
endmodule

Но так не работает.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 17 2018, 19:36
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(demsp @ Mar 17 2018, 22:25) *
Но так не работает.

Первый пример.
Взят обычный регистр, причем 4 бита.
Второй пример.
Тот же регистр, но он почему-то не используется... А почему? Зачем для светодиода Вам хочется 4 бита?
И какова частота клока? Если высокая, то глаз ее будет воспринимать как слабое свечение...

Короче вопрос сам по себе не понятен...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
demsp
сообщение Mar 17 2018, 19:49
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435



Выходы регистра я назначаю в PinPlanner'e (Quartus). А как назначить выход CLK?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 17 2018, 19:54
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(demsp @ Mar 17 2018, 22:49) *
Выходы регистра я назначаю в PinPlanner'e (Quartus). А как назначить выход CLK?


Сейчас попытаюсь вспомнить.

Домик из веток.
Домик из чего-то еще
Домик из камней...

А Вам какой нужен?
Если Вы еще не прошли уровень RTL, то зачем Вам назначать выводы?
Научитесь формулировать задачу, потом симулировать и отлаживать RTL... И только потом, когда пройдете эти "уровни", то и займетесь " как назначить выход"....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
demsp
сообщение Mar 17 2018, 20:16
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435



А есть разница, использую я внешний clock (timer 555) или внутренний?

Я же могу повесить LED'ы на разряды регистра. А как повесить LED на clock?
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Mar 17 2018, 20:19
Сообщение #6


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(demsp @ Mar 17 2018, 23:16) *
А есть разница, использую я внешний clock (timer 555) или внутренний?

Я же могу повесить LED'ы на разряды регистра. А как повесить LED на clock?

А зачем ?
Как уже сказали, Вы увидите тускло горящий светодиод. Какая в этом практическая польза ?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 17 2018, 20:19
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(demsp @ Mar 17 2018, 23:13) *
А есть разница, использую я внешний clock (timer 555) или внутренний?

Что такое "внутренний"? Откуда берется, если внутри ПЛИС обычно нет генераторов?
И что Вы понимаете под "внешний" и почему именно нестабильный "timer 555", а не кварц?
Про "синхронное проектирование" что-то читали?

А самое главное. Это "сдать и забыть" или "профессионально научиться"???


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
demsp
сообщение Mar 17 2018, 20:43
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435



Цитата(iosifk @ Mar 17 2018, 23:19) *
почему именно нестабильный "timer 555"

Потому что у меня нестабильный "timer 555"
Цитата(iosifk @ Mar 17 2018, 23:19) *
А самое главное. Это "сдать и забыть" или "профессионально научиться"???

Ценю вашу заботу biggrin.gif
Ну правда, помогите разобраться.
Как clock от внешнего таймера с невысокой частотой повесить на LED?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 17 2018, 21:20
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Как тяжко все начинать с нуля (особенно методом ненаучного тыка).

Код
module top_test_led (
    input  wire CLK,
    output wire led_clk // объявляем LED
);

assign led_clk = CLK; //назначаем LED как CLK

endmodule

Увидите отличия от Вашего кода?

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Leka
сообщение Mar 17 2018, 22:00
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Чтобы использовать клоки, только как клоки:
Код
reg [1:0] clkreg;
assign clkout=^clkreg;
always@(posedge сlk) clkreg[1] <= ~clkreg[0];
always@(negedge clk) clkreg[0] <= clkreg[1];


Сообщение отредактировал Leka - Mar 17 2018, 22:04
Go to the top of the page
 
+Quote Post
demsp
сообщение Mar 28 2018, 21:12
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435



Цитата(Leka @ Mar 18 2018, 02:00) *
assign clkout=^clkreg;

Поясните, пожалуйста, это означает clkout = XOR clkreg ?


Go to the top of the page
 
+Quote Post
AnatolySh
сообщение Mar 29 2018, 19:51
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 20-01-06
Из: Зеленоград
Пользователь №: 13 407



Цитата(demsp @ Mar 17 2018, 22:25) *
Но так не работает.
Что значит "не работает"? Давайте, как сказал Иосиф Григорьевич, вы смоделируете, покажете нам скриншот RTL-модели и ещё раз спросите (если к тому времени не найдёте ответ).


--------------------
WMBR
Go to the top of the page
 
+Quote Post
nbIBO
сообщение Aug 9 2018, 14:38
Сообщение #13





Группа: Участник
Сообщений: 7
Регистрация: 15-11-09
Пользователь №: 53 637



Так понимаю что вопрос из этой же темы.

<UCLK/clkout1_buf>, driving the net, <clk>, that is driving the following
(first 30) non-clock load pins.
< PIN: f_fifo0_clk.O; >
< PIN: f_fifo1_clk.O; >
This is not a recommended design practice in Spartan-6 due to limitations in
the global routing that may cause excessive delay, skew or unroutable
situations. It is recommended to only use a BUFG resource to drive clock
loads. If you wish to override this recommendation, you may use the
CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
this message to a WARNING and allow your design to continue.
< PIN "UCLK/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; >

UCLK - clocking wizard xilinx

clk <= clkout1 выходная частота на глобальной цепи, ей тактируются блоки внутри, но так же её надо вывести за пределы ПЛИС чере простой пин

что надо исплоьзовать что бы снять сигнал с глобальной цепи и вывести его на простой пин.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 9 2018, 14:59
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(nbIBO @ Aug 9 2018, 17:38) *
... что надо исплоьзовать что бы снять сигнал с глобальной цепи и вывести его на простой пин.
Проще всего и правильней использовать ODDR2 для этого
Код
ODDR2 (
  .C0( clk),
  .C1(~clk),
  .D0(1'b1),
  .D1(1'b0),
  .CE(1'b1),
  .R(1'b0),
  .S(1'b0),
  .Q(net_to_out_pin)
);
В этом случае и волки сыты - clk используется как клок - и овцы довольны - клок на выходе имеет туже частоту что clk а также такую же задержку что и обычные выходы от триггеров.

Удачи! Rob.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th April 2024 - 10:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01515 секунд с 7
ELECTRONIX ©2004-2016