כתבתי קוד שעבד נפלא בסימולטור אך משום מה הוא אינו עבר את הטסטינג של הקורס בקמפוס il

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

כתבתי קוד שעבד נפלא בסימולטור אך משום מה הוא אינו עבר את הטסטינג של הקורס בקמפוס il

sara
..
כתבתי קוד שעבד נפלא בסימולטור אך משום מה הוא אינו עבר את הטסטינג של הקורס בקמפוס
הוא כותב לי שגיאה בשורה 2 ומוריד לי 52 נקודות. אשמח לתשובה ממממש!
אני מזינה את הקוד...

    PARTS:
Mux16(a=x,b=false,sel=zx,out=x1);
Mux16(a=y,b=false,sel=zy,out=y1);

Not16(in=x1,out=nx1);
Mux16(a=x1,b=nx1,sel=nx,out=x2);
Not16(in=y1,out=ny1);
Mux16(a=y1,b=ny1,sel=ny,out=y2);

Add16(a=x2,b=y2,out=aPlusB);
And16(a=x2,b=y2,out=aAndb);
Mux16(a=aAndb,b=aPlusB,sel=f,out=out0);

Not16(in=out0,out=nout0);
Mux16(a=out0,b=nout0,sel=no,out=out);

Reply | Threaded
Open this post in threaded view
|

Re: כתבתי קוד שעבד נפלא בסימולטור אך משום מה הוא אינו עבר את הטסטינג של הקורס בקמפוס il

WBahn
Administrator
Could you please write your request in English.

I used Google Translate and got the following, but just to see whether this was SPAM or not. It looks legit.

Title: I wrote code that worked wonderfully in the simulator but for some reason it did not pass the testing of the Beck course

Body: "I wrote code that worked wonderfully in the simulator but for some reason it did not pass the testing of the course on campus. He writes me an error in line 2 and drops me 52 points. I would love an answer from a realist! I'm entering the code"

I don't know what the Beck course is.

I also have no idea which part (chip) this code is for, so there is no way for me to tell what might be wrong. Based on the parts you are using and the signal names, I'm guessing it's the ALU. But engineering is not about guessing. Especially when asking for free help from people, try to make their lives easier by providing as much information as you can.

If it's the ALU, then where is your logic for the ng and zr outputs?

When you say error in line 2, line 2 of what? The .out file relative to the .cmp file? Your .hdl file? What?

Reply | Threaded
Open this post in threaded view
|

Re: כתבתי קוד שעבד נפלא בסימולטור אך משום מה הוא אינו עבר את הטסטינג של הקורס בקמפוס il

sara

sorry, you are absoulely right!!
I'm isreali... and i learn your course nand to tetris by onkine course in campus called "campus il" by Shion shoken and.. i wrote their the chip 'alu' without zr.... just the beggining.
i add now all my implemented.
this is one of the foles of nand to tetris, and i check it with the script nonstat.. that i got from you.


This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/02/ALU.hdl

/**
 * The ALU (Arithmetic Logic Unit).
 * Computes one of the following functions:
 * x+y, x-y, y-x, 0, 1, -1, x, y, -x, -y, !x, !y,
 * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs,
 * according to 6 input bits denoted zx,nx,zy,ny,f,no.
 * In addition, the ALU computes two 1-bit outputs:
 * if the ALU output == 0, zr is set to 1; otherwise zr is set to 0;
 * if the ALU output < 0, ng is set to 1; otherwise ng is set to 0.
 */

// Implementation: the ALU logic manipulates the x and y inputs
// and operates on the resulting values, as follows:
// if (zx == 1) set x = 0        // 16-bit constant
// if (nx == 1) set x = !x       // bitwise not
// if (zy == 1) set y = 0        // 16-bit constant
// if (ny == 1) set y = !y       // bitwise not
// if (f == 1)  set out = x + y  // integer 2's complement addition
// if (f == 0)  set out = x & y  // bitwise and
// if (no == 1) set out = !out   // bitwise not
// if (out == 0) set zr = 1
// if (out < 0) set ng = 1

CHIP ALU {
    IN  
        x[16], y[16],  // 16-bit inputs        
        zx, // zero the x input?
        nx, // negate the x input?
        zy, // zero the y input?
        ny, // negate the y input?
        f,  // compute out = x + y (if 1) or x & y (if 0)
        no; // negate the out output?

    OUT
        out[16], // 16-bit output
        zr, // 1 if (out == 0), 0 otherwise
        ng; // 1 if (out < 0),  0 otherwise

    PARTS:
Mux16(a=x,b=false,sel=zx,out=x1);
Mux16(a=y,b=false,sel=zy,out=y1);

Not16(in=x1,out=nx1);
Mux16(a=x1,b=nx1,sel=nx,out=x2);
Not16(in=y1,out=ny1);
Mux16(a=y1,b=ny1,sel=ny,out=y2);

Add16(a=x2,b=y2,out=aPlusB);
And16(a=x2,b=y2,out=aAndb);
Mux16(a=aAndb,b=aPlusB,sel=f,out=out0);

Not16(in=out0,out=nout0);
Mux16(a=out0,b=nout0,sel=no,out=out);