Loại chuyển đổi trong Verilog

M

Mkanimozhi

Guest
Chào,
im thiết kế một khái niệm trong Verilog và trong đó i cần phải so sánh các giá trị nhị phân với giá trị số nguyên, làm thế nào tôi có thể thực hiện nó, trong Verilog không có chức năng chuyển đổi loại hình, làm thế nào tôi có thể thực hiện nó, plz bất cứ ai làm rõ sự nghi ngờ của tôi.

Kính trọng
Kanimozhi.M

 
Trong Verilog bạn có thể so sánh giá trị số nguyên với một trong nhị phân ...
xin được chi tiết hơn trong câu hỏi ur

 
chào,
Đây là mã của tôi

input [7:0] t1;
input [02:00] địa chỉ;luôn luôn @ CLK posedge (hoặc rẽ rw negedge hay)
bắt đầu
if (rst)! bắt đầu
data_out1 = 8'b0;
mem_status1 = 'b0;
for (i = 0; i <= 7; i = i 1)
memory1 = 8'b0; cuối
khác bắt đầu
for (i = 0; i <= 7; i = i 1)if(rw=='b1 && t1=='b1 && t1==address ) begin memory1 [địa chỉ] = data_in;
mem_status1 = 'b1; cuối

khác bắt đầu
nếu (rw == 'b0 & & t1 ==' b1 & & t1 == địa chỉ)
data_out1 = memory1 [địa chỉ]; cuối cùng kết thúc
cuối
tại t1 code ở trên == adddres tôi cần phải làm là viết hoạt động nhưng trong tat t1 th bit bằng địa chỉ nói rằng nếu t1 [5] == địa chỉ (101base2 = 5 trong số nguyên) na, đến kiểm tra tình trạng này, làm thế nào tôi có thể write.plz đưa cho tôi một idia.

Kính trọng
kanimozhi.M

 
Đây là mẫu mã tôi đã cố gắng ...hope this will be helpful for u.. module valcompare ();

reg [15] một;
số nguyên b;

ban đầu
b = 15;

phân công c = (a == b);

endmoduleThêm vào sau khi 11 phút:Kính Kanimozhi,

Các giá trị nếu t1 là một chút đơn,
nói rằng nếu tôi có giá trị là 3, sau đó ti [3] có thể được chỉ '1 'hoặc '0',
nhưng bạn đang cố gắng để so sánh một giá trị bit duy nhất đối với một giá trị bit, 3 ...
nói THT t1 có thể không bao giờ lớn hơn 1 ...và bạn đang cố gắng để so sánh với một 3-bit giá trị, mà có thể không được tốtinput [7:0] t1;
input [02:00] địa chỉ;luôn luôn @ CLK posedge (hoặc rẽ rw negedge hay)
bắt đầu
if (rst)! bắt đầu
data_out1 = 8'b0;
mem_status1 = 'b0;
for (i = 0; i <= 7; i = i 1)
memory1 = 8'b0; cuối
khác bắt đầu
for (i = 0; i <= 7; i = i 1)begin

nếu (rw == 'b1 & & t1 ==' b1 & & t1 == địa chỉ)
bắt đầu
memory1 [địa chỉ] = data_in;
mem_status1 = 'b1; cuối

khác bắt đầu

nếu (rw == 'b0 & & t1 ==' b1 & & t1 == địa chỉ)

data_out1 = memory1 [địa chỉ]; cuối cùng kết thúc
cuối

 
chào,
có, nhờ ya, bây giờ tôi hiểu sai lầm của tôi trong chương trình của tôi.Thêm vào sau khi 29 phút:Chào,
Nếu tôi cần phải so sánh các t giá trị vị trí với địa chỉ na, làm thế nào tôi sẽ làm gì, nói rằng nếu các t giá trị poition thứ 5 na là chúng tôi sẽ xem xét việc này như là số nguyên, địa chỉ là nhị phân và nhị phân của crossponding giá trị của địa chỉ là 101base2 làm thế nào để so sánh với giá trị vị trí với giá trị địa chỉ.

Kính trọng
Kanimozhi.M

 
có thể sẽ làm việc này?

Mã số:if (t1 [địa chỉ] == 1'b1)

nếu (rw) memory1 [địa chỉ] <= data_in;

else data_out1 <= memory1 [địa chỉ];
 
DEAR Mkanimozhi,

Tôi cũng chấp nhận với j_andr, giải pháp được đề xuất bởi ông nên làm việc.hãy thử, nếu u không thể, hãy cho chúng tôi biết ...

 
Chào
i kalyansumankv đã làm việc trên nó, nó working.thanks giúp đỡ ur.

 

Welcome to EDABoard.com

Sponsor

Back
Top