|
ModelSim, вопросы новичка |
|
|
|
 |
Ответов
|
May 25 2018, 13:34
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Добрый день всем!Еще один нубский вопрос: Решил промоделировать конечный автомат, но сигнал на выходе (out) в ModelSim отображает как "X", хотя в квартус-симуляторе моделируется все нормально. Если файлы (конечный автомат и тестбенч) добавлять в ModelSim вручную и - то тоже нормально все, сигнал out отображается так как планировалось. Делаю вывод - дело в макросе. Конечный автомат:Код module generator ( input clk, input ena, output reg out ); wire pulse; reg [15:0] cnt_val = 16'd0; reg [15:0] cnt_comp_val = 16'hFFFF; reg [1:0] state = 2'b00; parameter S0 = 0, S1 = 1, S2 = 2, S3 = 3;
reg [15:0] comp_val[3:0]; initial begin comp_val[0] = 16'd4; comp_val[1] = 16'd5; comp_val[2] = 16'd6; comp_val[3] = 16'd7; end
//---------------------------------------- always @ (state) begin case (state) S0: begin cnt_comp_val = comp_val[0]; out = 1; end S1: begin cnt_comp_val = comp_val[1]; out = 0; end S2: begin cnt_comp_val = comp_val[2]; out = 1; end S3: begin cnt_comp_val = comp_val[3]; out = 0; end default: begin cnt_comp_val = 16'hFFFF; out = 0; end endcase end
//---------------------------------------- always @ (posedge clk) begin if (!ena) state <= S0; else case (state) S0: state <= pulse? S1:S0; S1: state <= pulse? S2:S1; S2: state <= pulse? S3:S2; S3: state <= pulse? S0:S3; default: state <= S0; endcase end
//---------------------------------------- always @(posedge clk) begin if(ena) if(cnt_val==cnt_comp_val) cnt_val = 4'b1; else cnt_val = cnt_val + 1'd1; else cnt_val = 4'd1; end assign pulse = (cnt_val==cnt_comp_val); //---------------------------------------- endmodule Тестбенч к нему:Код `timescale 1ns / 1ns `include "generator.v"
module tb; reg clk; reg ena; wire out; generator generator1(.clk(clk), .ena(ena), .out(out));
always #1 clk = ~clk; initial begin clk = 0; ena = 0; #100; ena = 1; #1000; $stop; end endmodule Макрос:Код #transcript on vlib work vlog -sv tb.v vsim -t 1ns tb add wave /tb/* add wave /tb/generator1/*
#quietly radix unsigned configure wave -timelineunits ns run -all wave zoom full И картина на выходе (если запускать с помощью макроса): Что делаю не так - ума не приложу. Вроде бы объявлены начальные состояния регистров. Что это? Глюк ModelSim? Пробовал в 10.3d и в 6.5 - результат один и тот же(
|
|
|
|
Сообщений в этой теме
Sprite ModelSim, вопросы новичка May 18 2018, 11:26 Nieve Здравствуйте!
У вас в TestBench переменная ... May 18 2018, 11:43 iosifk Цитата(Sprite @ May 18 2018, 14:26) Добро... May 18 2018, 11:45 Sprite Nieve, Иосиф Григорьевич, спасибо!
Проглядел)... May 18 2018, 12:15  iosifk Цитата(Sprite @ May 18 2018, 15:15) Nieve... May 18 2018, 12:38  AVR Цитата(Sprite @ May 18 2018, 15:15) А мож... May 18 2018, 12:56   Stewart Little Цитата(AVR @ May 18 2018, 15:56) Прошу пр... May 18 2018, 15:59 Flip-fl0p КодА можно как-нибудь автоматизировать посылку раз... May 18 2018, 17:47 AnatolySh Цитата(Sprite @ May 18 2018, 14:26) Решил... May 18 2018, 18:03 R6L-025 Вроде как неплохо еще прогонять на случайных выбор... May 18 2018, 19:02 Flip-fl0p Цитата(R6L-025 @ May 18 2018, 22:02)... May 18 2018, 19:11 R6L-025 Можно создать *.qsys проект в который добавить нуж... May 18 2018, 19:21 Marat Zuev Цитата(Sprite @ May 18 2018, 12:26) Отлаж... May 18 2018, 20:30 Sprite Цитата(AnatolySh @ May 19 2018, 01:03) Не... May 19 2018, 13:35 Marat Zuev Цитата(Sprite @ May 19 2018, 14:35) наткн... May 19 2018, 13:52  Sprite Цитата(Marat Zuev @ May 19 2018, 20:52) В... May 20 2018, 06:38   Marat Zuev Цитата(Sprite @ May 20 2018, 07:38) Как м... May 20 2018, 07:09 R6L-025 А почему эту самую корку использовать нельзя? Если... May 20 2018, 07:09 R6L-025 А, еще есть quartus templates. В выпадающем меню E... May 20 2018, 07:12 Sprite Цитата(R6L-025 @ May 20 2018, 14:12)... May 20 2018, 08:16 R6L-025 Ну тогда попробуйте поиграть с директивами. Quartu... May 20 2018, 09:18 Sprite Спасибо, попробую. Еще один вопрос: как описать эт... May 20 2018, 09:29 AVR Цитата(Sprite @ May 20 2018, 12:29) Спаси... May 22 2018, 05:27 R6L-025 Да, verilog, vhdl... Берете описание портов pll ко... May 20 2018, 10:12 Sprite Цитата(R6L-025 @ May 20 2018, 17:12)... May 20 2018, 10:27 Sprite Всем добра!
Перевел проект полностью на veril... May 21 2018, 11:53 Marat Zuev Цитата(Sprite @ May 21 2018, 11:53) Если ... May 21 2018, 12:42 Flip-fl0p Я бы ещё не применял имена модулей - названия прим... May 21 2018, 12:47 Sprite Цитата(Flip-fl0p @ May 21 2018, 19:4... May 21 2018, 13:16  Flip-fl0p Поскольку полного кода я не вижу, я предположил, ч... May 21 2018, 13:17   Sprite Цитата(Flip-fl0p @ May 21 2018, 20:1... May 21 2018, 13:32    Marat Zuev Цитата(Sprite @ May 21 2018, 13:32) Вот к... May 21 2018, 18:29    nice_vladi Цитата(Sprite @ May 21 2018, 13:32) ...
... May 22 2018, 05:28 Flip-fl0p А какую цель Вы ставите перед собой ?
Сделать прав... May 21 2018, 14:30 Sprite Цитата(Flip-fl0p @ May 21 2018, 21:3... May 21 2018, 14:48 Sprite С учетом замечаний Marat Zuev переписал модуль, по... May 22 2018, 08:40 Flip-fl0p Цитата(Sprite @ May 22 2018, 11:40)
А ес... May 22 2018, 09:20  iosifk Цитата(Flip-fl0p @ May 22 2018, 12:2... May 22 2018, 09:46 Sprite Спасибо всем за критику)
Задачу в двух словах опи... May 22 2018, 10:24 iosifk Цитата(Sprite @ May 22 2018, 13:24) Спаси... May 22 2018, 12:20  Sprite Цитата(iosifk @ May 22 2018, 19:20) У Вас... May 22 2018, 12:28   iosifk Цитата(Sprite @ May 22 2018, 15:28) Чтени... May 22 2018, 12:35    Sprite Цитата(iosifk @ May 22 2018, 19:35) И в к... May 22 2018, 15:54     Flip-fl0p Цитата(Sprite @ May 22 2018, 18:54) Конеч... May 23 2018, 06:18     iosifk Цитата(Sprite @ May 22 2018, 18:54) Конеч... May 23 2018, 07:10 Sprite Довольный как слон
Все получилось! Собрал пр... May 22 2018, 12:04 Sprite Flip-fl0p, Иосиф Григорьевич спасибо! Подумаю ... May 23 2018, 11:49 nice_vladi Цитата(Sprite @ May 23 2018, 11:01) [b]
К... May 23 2018, 11:51 OM-S В tb.v поставьте начальное значение для регистра... May 23 2018, 11:59  Sprite Цитата(OM-S @ May 23 2018, 18:59) В ... May 23 2018, 12:24   _Anatoliy Что-то у вас входной клок дюже быстро клацает для ... May 23 2018, 12:38    Sprite Цитата(_Anatoliy @ May 23 2018, 19:38) Чт... May 23 2018, 13:20 iosifk Цитата(Sprite @ May 25 2018, 16:34) Добры... May 25 2018, 14:19 Flip-fl0p Цитата(Sprite @ May 25 2018, 16:34) Что д... May 25 2018, 15:50 Nieve 1. У вас в схеме нет сигнала "reset", ре... May 25 2018, 15:14 Sprite Цитата(Nieve @ May 25 2018, 22:14) 1. У в... May 25 2018, 16:41  Flip-fl0p Цитата(Sprite @ May 25 2018, 19:41) Ниче ... May 25 2018, 18:19  iosifk Цитата(Sprite @ May 25 2018, 19:41) Иосиф... May 25 2018, 18:35   andrew_b Цитата(iosifk @ May 25 2018, 21:35) Одног... May 26 2018, 05:03    iosifk Цитата(andrew_b @ May 26 2018, 08:03) А ... May 26 2018, 07:09 Nieve 1. В таком случае как быть если схема зависла и не... May 25 2018, 17:01 Sprite Flip-Flop, Иосиф Григорьевич - спасибо!
Прочит... May 26 2018, 14:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|