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.
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
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.
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;
//$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 `