verilog program help, Verilog problem

Updated on technology 2024-04-24
6 answers
  1. Anonymous users2024-02-08

    First of all, you have to figure out what type of keyboard you have, whether it's a determinant scan or a matrix, the determinant is old-fashioned, first scan the rows in the scan columns, this benefit is to save cables. The other is matrix, which means that the button directly produces a corresponding data.

    What you need to do is, first of all, write the keyboard driver and the LED digital tube driver.

    After completion, you can store the data read by the keyboard in a 64-bit register, this register is displayed through the digital tube, when the new data comes in, the data shifts, the new data occupies 16 bits high, and the old data is shifted 16 bits to the right. And so on.

    When making keystrokes, you should pay attention to anti-shake, that is, use a counter to record the time of keystrokes, and after exceeding a threshold, it is considered an effective keystroke, so as to prevent glitches.

    When doing LED drivers, it is necessary to pay attention to the refresh rate of LEDs, which is the frequency that the human eye can see.

    I've done the LED driver on the spantan3, and you can discuss it if you have any questions

    Thank you There is a delay in pressing the re, so how to judge that the key is raised?

    Press it is 0, lift it is 1 (that's on my board, connected to the pull-up resistor), you judge that 0 is 1.

  2. Anonymous users2024-02-07

    You're using at least two digital tubes, right? Using two as an example, each tube has an eight-bit register (or seven bits) to store the key value. Is the keyboard keyboard matrix 4*4?

    Yes, the input state is registered with an eight-bit input register. Each time the value of a key is judged when it is always valid, one point is filtered, that is, a few delays are used to determine whether the level of the key is a glitch wave. When the value of the button is judged to change, the registered value of the digital tube will be changed accordingly and the output will be locked.

    This is my train of thought, probably not very good, you think again.

  3. Anonymous users2024-02-06

    The answer should be 61 i.e. 6'h3d;

    The order of operations should look like this.

    Original = 4'd12)/4)

    3) =Decimal.

    000011) Binary.

    Binary negative numbers are negated and added by one.

    The negation is 111100 plus 1 to 111101, i.e. hexadecimal 3d decimal 61

    So there's nothing wrong with the textbook

    Do you understand? Give me more points.

  4. Anonymous users2024-02-05

    What ls says is not an error, but it is incomplete, it is impossible for me to write a random program and ask for this, such an error is indeed because the top level of the setting is different from the top level name preset in the settings, so it caused the error. Most of the time it's because the project under construction is a top-level name, and it's another one when you write **. Or change the top floor halfway through.

    There are generally two ways to solve this.

    1.With the change of **top-level name, that is, you have adder4 here, but this kind of general will not be used, because this top-level name is generally meaningful, most of them are named according to the function, and generally you will probably know the function when you see the top-level module name, and it is not a good habit to change it randomly.

    2.Replace the top layer of the quartus requirement in the setup, generally using this method, step:

    Open the setting menu, and in general it describes the top-level names currently in use and the last few top-level names that you are in.

    Changing the top-level entity name to your current addr4 will do the trick.

  5. Anonymous users2024-02-04

    I guess b==c is a judgment statement, right? The value you get is equal to 1 and not 0 so only 1 or 0 will be given to a, you run and see, I guess.

  6. Anonymous users2024-02-03

    What about specific mistakes?

    Sensible Electronic Design VGZ

Related questions
3 answers2024-04-24

Create two texts and one command

dim deshu as string >>>More

6 answers2024-04-24

First of all, the front must be a t vector.

length(t) represents the number of t elements (t vector) for i=2:length(t). >>>More

28 answers2024-04-24

1. If both parties agree, they may do so through the following two ways: >>>More

14 answers2024-04-24

SEO, SEM is relatively good, and then add ** design, as a small business, we lack these people to help us do this. >>>More

12 answers2024-04-24

if request("action")="check" thenif "a")="1" then

Registration is successful") >>>More