risclite / ARM9-compatible-soft-CPU-core

This ARMv4-compatible CPU core is written in synthesiable verilog.It could launch uCLinux and Linux in MODELSIM. It has high Dhrystone benchmark value: 1.2 DMIPS/MHz. It could be utilized in your FPGA design as one submodule, if you master the interface of this .v file. This IP core is very compact. It is one .v file and has only less 1800 lines.
Apache License 2.0
77 stars 32 forks source link

about timer interrupt in uclinux simulation #2

Open mmw43 opened 5 years ago

mmw43 commented 5 years ago

hi,When I simulating uclinux in my processor model,I noticed the code at the end of the tb.v file.It appears to be simulating the timer TC1 interrupt to calculate Bogomips.But these delay values don't seem to suit my processor.Because I don't understand how you get the right delay value(such as #7109937 irq = 1;#2737517 irq = 1;). My processor model is slower than yours.Therefore, should my delay values be modified to fit my processor model?Looking forward to your reply.Thanks a lot. `initial begin

7109937 irq = 1;

//$display("\nA IRQ Here-1-\n");

10 irq = 0;

250718;

2737517 irq = 1;

//$display("\nA IRQ Here-2-\n");

10 irq = 0;

2934647 irq = 1;

//$display("\nA IRQ Here-3-\n");

10 irq = 0; //13032839

2825411 irq = 1;

//$display("\nA IRQ Here-4-\n");

10 irq = 0; //15858260

417730 ;//16275990

2192710 irq = 1;

//$display("\nA IRQ Here-5-\n");

10 irq = 0; //18468710

3040400 irq = 1;

//$display("\nA IRQ Here-6-\n");

10 irq = 0; //21509100

2716070 irq = 1;

//$display("\nA IRQ Here-7-\n");

10 irq = 0; //24225170

584130 ;//24809300

2077340 irq = 1;

//$display("\nA IRQ Here-8-\n");

10 irq = 0;//26886650

2634170 irq = 1;

//$display("\nA IRQ Here-9-\n");

10 irq = 0;//29520830

2620510 irq = 1;

//$display("\nA IRQ Here-10-\n");

10 irq = 0;//32141350

2613690 irq = 1;

//$display("\nA IRQ Here-11-\n");

10 irq = 0;//34755040

2610430 irq = 1;

//$display("\nA IRQ Here-12-\n");

10 irq = 0;//37365300

3043820 irq = 1;

//$display("\nA IRQ Here-13-\n");

10 irq = 0;//40409350

2610430 irq = 1;

//$display("\nA IRQ Here-14-\n");

10 irq = 0;//43019790

3042120 irq = 1;

//$display("\nA IRQ Here-15-\n");

10 irq = 0;//46061920

2610440 irq = 1;

//$display("\nA IRQ Here-16-\n");

10 irq = 0;//48672370

2106680 irq = 1;

//$display("\nA IRQ Here-17-\n");

10 irq = 0;//50779060

2041210 irq = 1;

//$display("\nA IRQ Here-18-\n");

10 irq = 0;//52820280

2273270 irq = 1;

//$display("\nA IRQ Here-19-\n");

10 irq = 0;//55093560

2324600 irq = 1;

//$display("\nA IRQ Here-20-\n");

10 irq = 0;//57418160

2241780 irq = 1;

//$display("\nA IRQ Here-21-\n");

10 irq = 0;//59659960

2508810 irq = 1;

//$display("\nA IRQ Here-22-\n");

10 irq = 0;//62168780

2481000 irq = 1;

//$display("\nA IRQ Here-23-\n");

10 irq = 0;//64649790

2535220 irq = 1;

irq_flag = 1;

//$display("\nA IRQ Here-24-\n");

10 irq = 0;//67185020

2866150 irq = 1;

//$display("\nA IRQ Here-25-\n");

10 irq = 0;//70051180

2513840 irq = 1;

//$display("\nA IRQ Here-26-\n");

10 irq = 0;//72565020

2350380 irq = 1;

//$display("\nA IRQ Here-26-\n");

10 irq = 0;//74915420

//$stop(1); end `

risclite commented 5 years ago

Hi, do not need to modify. just compile and sim . I didn't understand how to insert IRQ, just software SkyEye tells me to do that. I am a verilog developer not C guys.