Skip to content
1Jan

8 Bit Serial To Parallel Converter Verilog Code

1 Jan 2000admin

The parallel-in/ serial-out shift register stores data, shifts it on a clock by clock basis, and delays it by the number of stages times the clock period. CD4014B parallel-in/ serial-out 8-bit shift register, synchronous load. Likely, it will be driven by something else compatible with this serial data format, for example, an analog to.

Hello, I'm a beginner using verilog. I am trying to make a simple parallel to serial converter (8 bits parallel down to 1 bit serial). I have 2 textbooks but I think it is way too complicated for me to understand. Right now when I try to simulate my simple Parallel-to-Serial module the input of 8-bits parallel appear but only 1 of the 8 serial bit appear. What want is for the 8 bits that comes parallel into the module to be broken up into 8 bits that come out serially.

For example if I put in 11110000 as input I want 1 1 1 1 0 0 0 0 as outputs. But I only get the first of the serial bit output (1). Can anyone help? I think there might be something wrong with my testbench. I'm really not good at verilog. Hope someone can help.

Z //VERILOG PARALLEL 2 SERIAL module P2S (in_array, out1, out2, CLK, RESET, EN); input CLK, RESET, EN; input [7:0] in_array; output out1; output out2; reg out1; reg out2; integer d; begin for (d=0; d. > Right now when I try to simulate my simple Parallel-to-Serial module the > input of 8-bits parallel appear but only 1 of the 8 serial bit appear. > module P2S (in_array, out1, out2, CLK, RESET, EN); > input CLK, RESET, EN; > input [7:0] in_array; > output out1; > output out2; > reg out1; > reg out2; > integer d; > begin > for (d=0; d begin > out1=in_array[d]; > out2=in_array[d+1]; > end > end > endmodule The problem is that your for loop executes in 0 time steps. On the first clk edge, all iterations take place.

Wait for the next clock edge after each iteration should solve the problem. 3dmgame mortal kombat komplete edition update 1 and crack by. And the last iteration references in_array[8], which is not declared. And the RESET is not modeled. Hope, this helps;-) Lars -- Homepage: Sun, 04 Nov 2001 03:00:00 GMT.

Usrcheat There is no pin for synchronization. The RS-232 serial protocol has a start and stop bit, logic 0 and 1 respectively. An idle channel will have a logic 1.

So if the channel goes from idle to active, 0 will be the first thing you see. If you pick up the channel in the middle of transmission you'll end up having to find the pattern of 10 repeating every 10 bits (8-bit data). I actually don't think anyone does that type of synchronization. From observation of devices that used RS-232 to receive data, I always remember seeing garbage if you hooked it up in the middle of a burst of data. I think most devices need a pause before achieving synchornization.