[an error occurred while processing this directive]
|
Такая трабла: вот имеется такой модуль сдвигового регистра (регистр выталкивает 8 бит наружу, после этого формирует сигнал загрузки новых данных по шине, и так все повторяется):
//----------------------------------
module ShiftReg(out, load, clk, in);
output out;
output load;
input clk;
input [7:0] in;
reg [7:0] Reg;
reg [2:0] Cnt;
reg ld;
always @(posedge clk)
begin
Reg = Reg >> 1;
Cnt = Cnt + 1;
if(Cnt == 0)
begin
ld = 1'b1;
Reg = in;
end
else
ld = 1'b0;
end
assign out = Reg[0];
assign load = ld;
endmodule
//----------------------------------------
И есть такой модуль для моделирования, который изображает внешнее окружение:
//----------------------------------------
module test_sr;
reg clk;
reg [7:0] in;
wire load;
wire sout;
integer Data = 8'h55;
initial
begin
clk = 1'b0;
in = 8'b0;
end
always
#10_000 clk = ~clk;
always @(posedge load)
begin
in = Data;
Data = Data + 1;
end
initial
begin
#5000_000 $stop;
end
ShiftReg sr(sout, load, clk, in);
endmodule
//----------------------------------------
Теперь, когда запускаем из ISE Simulate Behavioral Model, все запускается (хотя и не работает, как надо :().
А когда запускаем Simulate Post-Fit Model, то получаем в ModelSim'е следующее:
# vsim -L simprims_ver -lib work -t 1ps +maxdelays test_sr glbl
# Loading work.test_sr
# Loading work.ShiftReg
# ** Warning: (vsim-3010) [TSCALE] - Module 'ShiftReg' has a `timescale directive in effect, but previous modules do not.
# Region: /test_sr/sr
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_IPAD
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_BUF
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_OPAD
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_FF
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_ZERO
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_ONE
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_XOR2
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_AND3
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_AND2
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_AND5
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_OR2
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_AND4
# Loading d:/cad/xilinx/MXE/win32xoem/../xilinx/verilog/simprims_ver.X_INV
# Loading work.glbl
# ** Error: (vsim-3053) d:/pro/h/soundgrabber/xilinx/1/Src/test_sr.v(32): Illegal output port connection (port 'out').
# Region: /test_sr/sr
# Error loading design
# Error: Error loading design
# Pausing macro execution
# MACRO ./test_sr.tdo PAUSED at line 9
Вопрос: что не так? Чего не хватает-то?
E-mail: info@telesys.ru